about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-01-02 21:14:11 +0000
committerJakub Jelinek <jakub@redhat.com>2009-01-02 21:14:11 +0000
commite3e60f6bdc80109e6cfbd092049a4bbb2f43c457 (patch)
treed166064d5e5bfd7821e133a5c76d8aae50d81766
parent033b8b2d4de5cd8abe4278cd2b30c50d7a78e886 (diff)
downloadglibc-cvs/fedora-glibc-2_9_90-1.tar.gz
glibc-cvs/fedora-glibc-2_9_90-1.tar.xz
glibc-cvs/fedora-glibc-2_9_90-1.zip
Updated to fedora-glibc-20090102T2110 cvs/fedora-glibc-2_9_90-1
-rw-r--r--ChangeLog256
-rw-r--r--NEWS7
-rw-r--r--Versions.def1
-rw-r--r--catgets/gencat.c4
-rwxr-xr-xconfigure1
-rw-r--r--configure.in1
-rw-r--r--csu/version.c4
-rwxr-xr-xdebug/catchsegv.sh4
-rwxr-xr-xdebug/xtrace.sh4
-rw-r--r--elf/elf.h2
-rw-r--r--elf/ldconfig.c4
-rw-r--r--elf/ldd.bash.in4
-rw-r--r--elf/sprof.c4
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in10
-rw-r--r--iconv/iconv_prog.c4
-rw-r--r--iconv/iconvconfig.c4
-rw-r--r--iconvdata/Makefile1
-rw-r--r--inet/Makefile3
-rw-r--r--inet/getnameinfo.c3
-rw-r--r--inet/tst-getni1.c36
-rw-r--r--inet/tst-getni2.c41
-rw-r--r--locale/iso-639.def4
-rw-r--r--locale/programs/ld-address.c4
-rw-r--r--locale/programs/locale.c4
-rw-r--r--locale/programs/localedef.c4
-rw-r--r--localedata/ChangeLog34
-rw-r--r--localedata/SUPPORTED1
-rw-r--r--localedata/locales/as_IN2
-rw-r--r--localedata/locales/bn_IN23
-rw-r--r--localedata/locales/gu_IN17
-rw-r--r--localedata/locales/hi_IN2
-rw-r--r--localedata/locales/hne_IN180
-rw-r--r--localedata/locales/i18n80
-rw-r--r--localedata/locales/iso14651_t1_common6
-rw-r--r--localedata/locales/kn_IN17
-rw-r--r--localedata/locales/ml_IN18
-rw-r--r--localedata/locales/mr_IN17
-rw-r--r--localedata/locales/or_IN17
-rw-r--r--localedata/locales/pa_IN23
-rw-r--r--localedata/locales/sd_IN2
-rw-r--r--localedata/locales/sd_IN@devanagari2
-rw-r--r--localedata/locales/ta_IN17
-rw-r--r--localedata/locales/te_IN17
-rw-r--r--localedata/tests-mbwc/tst_types.h2
-rw-r--r--login/utmp_file.c60
-rwxr-xr-xmalloc/memusage.sh4
-rw-r--r--malloc/mtrace.pl4
-rw-r--r--nis/nss_nis/nis-hosts.c57
-rw-r--r--nptl/ChangeLog50
-rw-r--r--nptl/descr.h4
-rw-r--r--nptl/pthread_mutex_lock.c79
-rw-r--r--nptl/pthread_mutex_unlock.c57
-rw-r--r--nptl/sysdeps/alpha/Makefile21
-rw-r--r--nptl/sysdeps/alpha/elf/pt-initfini.c89
-rw-r--r--nptl/sysdeps/alpha/pthread_spin_lock.S45
-rw-r--r--nptl/sysdeps/alpha/pthread_spin_trylock.S46
-rw-r--r--nptl/sysdeps/alpha/pthreaddef.h38
-rw-r--r--nptl/sysdeps/alpha/tcb-offsets.sym14
-rw-r--r--nptl/sysdeps/alpha/tls.h149
-rw-r--r--nptl/sysdeps/pthread/pthread.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/Makefile2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/Versions13
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/aio_cancel.c33
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h100
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h168
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h34
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/clone.S9
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/createthread.c23
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/fork.c30
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h280
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S43
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c96
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h177
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/vfork.S46
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h10
-rw-r--r--nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h6
-rw-r--r--nptl/sysdeps/x86_64/tls.h10
-rw-r--r--nscd/connections.c69
-rw-r--r--nscd/nscd.c4
-rw-r--r--nscd/nscd.h1
-rw-r--r--nscd/nscd_getai.c16
-rw-r--r--nscd/nscd_gethst_r.c15
-rw-r--r--nss/getent.c4
-rw-r--r--posix/getconf.c4
-rwxr-xr-xposix/globtest.sh9
-rw-r--r--posix/regex_internal.h5
-rw-r--r--resolv/Versions2
-rw-r--r--resolv/nss_dns/dns-host.c20
-rw-r--r--resolv/res_init.c11
-rw-r--r--resolv/res_send.c58
-rw-r--r--scripts/firstversions.awk31
-rw-r--r--scripts/versions.awk8
-rw-r--r--socket/Makefile2
-rw-r--r--socket/Versions3
-rw-r--r--socket/accept4.c (renamed from socket/paccept.c)11
-rw-r--r--socket/sys/socket.h9
-rw-r--r--stdlib/Makefile2
-rw-r--r--stdlib/setenv.c29
-rw-r--r--stdlib/tst-unsetenv1.c12
-rw-r--r--sysdeps/alpha/Implies6
-rw-r--r--sysdeps/alpha/Makefile48
-rw-r--r--sysdeps/alpha/Subdirs1
-rw-r--r--sysdeps/alpha/Versions13
-rw-r--r--sysdeps/alpha/__longjmp.S64
-rw-r--r--sysdeps/alpha/_mcount.S107
-rw-r--r--sysdeps/alpha/add_n.s120
-rw-r--r--sysdeps/alpha/addmul_1.s92
-rw-r--r--sysdeps/alpha/alphaev5/add_n.s148
-rw-r--r--sysdeps/alpha/alphaev5/lshift.s174
-rw-r--r--sysdeps/alpha/alphaev5/rshift.s172
-rw-r--r--sysdeps/alpha/alphaev5/sub_n.s149
-rw-r--r--sysdeps/alpha/alphaev6/Implies1
-rw-r--r--sysdeps/alpha/alphaev6/addmul_1.s479
-rw-r--r--sysdeps/alpha/alphaev6/fpu/e_sqrt.S45
-rw-r--r--sysdeps/alpha/alphaev6/fpu/e_sqrtf.S45
-rw-r--r--sysdeps/alpha/alphaev6/memchr.S193
-rw-r--r--sysdeps/alpha/alphaev6/memcpy.S256
-rw-r--r--sysdeps/alpha/alphaev6/memset.S224
-rw-r--r--sysdeps/alpha/alphaev6/stxcpy.S328
-rw-r--r--sysdeps/alpha/alphaev6/stxncpy.S403
-rw-r--r--sysdeps/alpha/alphaev67/Implies1
-rw-r--r--sysdeps/alpha/alphaev67/ffs.S51
-rw-r--r--sysdeps/alpha/alphaev67/ffsll.S45
-rw-r--r--sysdeps/alpha/alphaev67/fpu/Implies1
-rw-r--r--sysdeps/alpha/alphaev67/rawmemchr.S93
-rw-r--r--sysdeps/alpha/alphaev67/stpcpy.S54
-rw-r--r--sysdeps/alpha/alphaev67/stpncpy.S116
-rw-r--r--sysdeps/alpha/alphaev67/strcat.S62
-rw-r--r--sysdeps/alpha/alphaev67/strchr.S101
-rw-r--r--sysdeps/alpha/alphaev67/strlen.S61
-rw-r--r--sysdeps/alpha/alphaev67/strncat.S88
-rw-r--r--sysdeps/alpha/alphaev67/strrchr.S117
-rw-r--r--sysdeps/alpha/backtrace.c1
-rw-r--r--sysdeps/alpha/bb_init_func.S87
-rw-r--r--sysdeps/alpha/bits/atomic.h369
-rw-r--r--sysdeps/alpha/bits/endian.h7
-rw-r--r--sysdeps/alpha/bits/link.h69
-rw-r--r--sysdeps/alpha/bits/mathdef.h80
-rw-r--r--sysdeps/alpha/bits/setjmp.h62
-rw-r--r--sysdeps/alpha/bsd-_setjmp.S1
-rw-r--r--sysdeps/alpha/bsd-setjmp.S1
-rw-r--r--sysdeps/alpha/bzero.S120
-rw-r--r--sysdeps/alpha/div.S88
-rw-r--r--sysdeps/alpha/div_libc.h164
-rw-r--r--sysdeps/alpha/divl.S84
-rw-r--r--sysdeps/alpha/divlu.S4
-rw-r--r--sysdeps/alpha/divq.S274
-rw-r--r--sysdeps/alpha/divqu.S257
-rw-r--r--sysdeps/alpha/dl-dtprocnum.h3
-rw-r--r--sysdeps/alpha/dl-machine.h522
-rw-r--r--sysdeps/alpha/dl-sysdep.h24
-rw-r--r--sysdeps/alpha/dl-tls.h29
-rw-r--r--sysdeps/alpha/dl-trampoline.S541
-rwxr-xr-xsysdeps/alpha/elf/configure106
-rw-r--r--sysdeps/alpha/elf/configure.in78
-rw-r--r--sysdeps/alpha/elf/initfini.c110
-rw-r--r--sysdeps/alpha/elf/start.S87
-rw-r--r--sysdeps/alpha/ffs.S91
-rw-r--r--sysdeps/alpha/ffsll.S1
-rw-r--r--sysdeps/alpha/fpu/Versions23
-rw-r--r--sysdeps/alpha/fpu/bits/fenv.h123
-rw-r--r--sysdeps/alpha/fpu/bits/mathinline.h150
-rw-r--r--sysdeps/alpha/fpu/cabsf.c42
-rw-r--r--sysdeps/alpha/fpu/cargf.c42
-rw-r--r--sysdeps/alpha/fpu/cfloat-compat.h74
-rw-r--r--sysdeps/alpha/fpu/cimagf.c41
-rw-r--r--sysdeps/alpha/fpu/conjf.c43
-rw-r--r--sysdeps/alpha/fpu/crealf.c41
-rw-r--r--sysdeps/alpha/fpu/e_sqrt.c165
-rw-r--r--sysdeps/alpha/fpu/fclrexcpt.c47
-rw-r--r--sysdeps/alpha/fpu/fedisblxcpt.c36
-rw-r--r--sysdeps/alpha/fpu/feenablxcpt.c36
-rw-r--r--sysdeps/alpha/fpu/fegetenv.c47
-rw-r--r--sysdeps/alpha/fpu/fegetexcept.c31
-rw-r--r--sysdeps/alpha/fpu/fegetround.c31
-rw-r--r--sysdeps/alpha/fpu/feholdexcpt.c34
-rw-r--r--sysdeps/alpha/fpu/fenv_libc.h36
-rw-r--r--sysdeps/alpha/fpu/fesetenv.c57
-rw-r--r--sysdeps/alpha/fpu/fesetround.c43
-rw-r--r--sysdeps/alpha/fpu/feupdateenv.c49
-rw-r--r--sysdeps/alpha/fpu/fgetexcptflg.c44
-rw-r--r--sysdeps/alpha/fpu/fpu_control.h106
-rw-r--r--sysdeps/alpha/fpu/fsetexcptflg.c47
-rw-r--r--sysdeps/alpha/fpu/ftestexcept.c32
-rw-r--r--sysdeps/alpha/fpu/libm-test-ulps1245
-rw-r--r--sysdeps/alpha/fpu/s_cacosf.c51
-rw-r--r--sysdeps/alpha/fpu/s_cacoshf.c51
-rw-r--r--sysdeps/alpha/fpu/s_casinf.c51
-rw-r--r--sysdeps/alpha/fpu/s_casinhf.c51
-rw-r--r--sysdeps/alpha/fpu/s_catanf.c51
-rw-r--r--sysdeps/alpha/fpu/s_catanhf.c51
-rw-r--r--sysdeps/alpha/fpu/s_ccosf.c51
-rw-r--r--sysdeps/alpha/fpu/s_ccoshf.c51
-rw-r--r--sysdeps/alpha/fpu/s_ceil.c53
-rw-r--r--sysdeps/alpha/fpu/s_ceilf.c45
-rw-r--r--sysdeps/alpha/fpu/s_cexpf.c51
-rw-r--r--sysdeps/alpha/fpu/s_clog10f.c61
-rw-r--r--sysdeps/alpha/fpu/s_clogf.c51
-rw-r--r--sysdeps/alpha/fpu/s_copysign.c41
-rw-r--r--sysdeps/alpha/fpu/s_copysignf.c29
-rw-r--r--sysdeps/alpha/fpu/s_cpowf.c51
-rw-r--r--sysdeps/alpha/fpu/s_cprojf.c51
-rw-r--r--sysdeps/alpha/fpu/s_csinf.c51
-rw-r--r--sysdeps/alpha/fpu/s_csinhf.c51
-rw-r--r--sysdeps/alpha/fpu/s_csqrtf.c51
-rw-r--r--sysdeps/alpha/fpu/s_ctanf.c51
-rw-r--r--sysdeps/alpha/fpu/s_ctanhf.c51
-rw-r--r--sysdeps/alpha/fpu/s_fabs.c41
-rw-r--r--sysdeps/alpha/fpu/s_fabsf.c33
-rw-r--r--sysdeps/alpha/fpu/s_floor.c53
-rw-r--r--sysdeps/alpha/fpu/s_floorf.c45
-rw-r--r--sysdeps/alpha/fpu/s_fmax.S58
-rw-r--r--sysdeps/alpha/fpu/s_fmaxf.S1
-rw-r--r--sysdeps/alpha/fpu/s_fmin.S58
-rw-r--r--sysdeps/alpha/fpu/s_fminf.S1
-rw-r--r--sysdeps/alpha/fpu/s_isnan.c59
-rw-r--r--sysdeps/alpha/fpu/s_isnanf.c1
-rw-r--r--sysdeps/alpha/fpu/s_llrint.c1
-rw-r--r--sysdeps/alpha/fpu/s_llrintf.c1
-rw-r--r--sysdeps/alpha/fpu/s_llround.c1
-rw-r--r--sysdeps/alpha/fpu/s_llroundf.c1
-rw-r--r--sysdeps/alpha/fpu/s_lrint.c48
-rw-r--r--sysdeps/alpha/fpu/s_lrintf.c39
-rw-r--r--sysdeps/alpha/fpu/s_lround.c48
-rw-r--r--sysdeps/alpha/fpu/s_lroundf.c38
-rw-r--r--sysdeps/alpha/fpu/s_nearbyint.c48
-rw-r--r--sysdeps/alpha/fpu/s_nearbyintf.c40
-rw-r--r--sysdeps/alpha/fpu/s_rint.c45
-rw-r--r--sysdeps/alpha/fpu/s_rintf.c37
-rw-r--r--sysdeps/alpha/fpu/s_round.c49
-rw-r--r--sysdeps/alpha/fpu/s_roundf.c44
-rw-r--r--sysdeps/alpha/fpu/s_trunc.c53
-rw-r--r--sysdeps/alpha/fpu/s_truncf.c45
-rw-r--r--sysdeps/alpha/gccframe.h22
-rw-r--r--sysdeps/alpha/hp-timing.h118
-rw-r--r--sysdeps/alpha/htonl.S44
-rw-r--r--sysdeps/alpha/htons.S40
-rw-r--r--sysdeps/alpha/jmpbuf-offsets.h36
-rw-r--r--sysdeps/alpha/jmpbuf-unwind.h48
-rw-r--r--sysdeps/alpha/ldiv.S218
-rw-r--r--sysdeps/alpha/libc-tls.c33
-rw-r--r--sysdeps/alpha/lldiv.S1
-rw-r--r--sysdeps/alpha/lshift.s109
-rw-r--r--sysdeps/alpha/machine-gmon.h26
-rw-r--r--sysdeps/alpha/memchr.S176
-rw-r--r--sysdeps/alpha/memset.S137
-rw-r--r--sysdeps/alpha/memusage.h21
-rw-r--r--sysdeps/alpha/mul_1.s85
-rw-r--r--sysdeps/alpha/nscd-types.h22
-rw-r--r--sysdeps/alpha/rawmemchr.S90
-rw-r--r--sysdeps/alpha/reml.S87
-rw-r--r--sysdeps/alpha/remlu.S4
-rw-r--r--sysdeps/alpha/remq.S269
-rw-r--r--sysdeps/alpha/remqu.S272
-rw-r--r--sysdeps/alpha/rshift.s107
-rw-r--r--sysdeps/alpha/setjmp.S120
-rw-r--r--sysdeps/alpha/soft-fp/Makefile10
-rw-r--r--sysdeps/alpha/soft-fp/Versions8
-rw-r--r--sysdeps/alpha/soft-fp/e_sqrtl.c40
-rw-r--r--sysdeps/alpha/soft-fp/local-soft-fp.h44
-rw-r--r--sysdeps/alpha/soft-fp/ots_add.c39
-rw-r--r--sysdeps/alpha/soft-fp/ots_cmp.c64
-rw-r--r--sysdeps/alpha/soft-fp/ots_cmpe.c83
-rw-r--r--sysdeps/alpha/soft-fp/ots_cvtqux.c40
-rw-r--r--sysdeps/alpha/soft-fp/ots_cvtqx.c39
-rw-r--r--sysdeps/alpha/soft-fp/ots_cvttx.c48
-rw-r--r--sysdeps/alpha/soft-fp/ots_cvtxq.c44
-rw-r--r--sysdeps/alpha/soft-fp/ots_cvtxt.c44
-rw-r--r--sysdeps/alpha/soft-fp/ots_div.c39
-rw-r--r--sysdeps/alpha/soft-fp/ots_mul.c39
-rw-r--r--sysdeps/alpha/soft-fp/ots_nintxq.c52
-rw-r--r--sysdeps/alpha/soft-fp/ots_sub.c39
-rw-r--r--sysdeps/alpha/soft-fp/sfp-machine.h94
-rw-r--r--sysdeps/alpha/stackinfo.h28
-rw-r--r--sysdeps/alpha/stpcpy.S56
-rw-r--r--sysdeps/alpha/stpncpy.S107
-rw-r--r--sysdeps/alpha/strcat.S72
-rw-r--r--sysdeps/alpha/strchr.S95
-rw-r--r--sysdeps/alpha/strcmp.S195
-rw-r--r--sysdeps/alpha/strcpy.S42
-rw-r--r--sysdeps/alpha/strlen.S77
-rw-r--r--sysdeps/alpha/strncat.S95
-rw-r--r--sysdeps/alpha/strncmp.S247
-rw-r--r--sysdeps/alpha/strncpy.S88
-rw-r--r--sysdeps/alpha/strrchr.S111
-rw-r--r--sysdeps/alpha/stxcpy.S307
-rw-r--r--sysdeps/alpha/stxncpy.S363
-rw-r--r--sysdeps/alpha/sub_n.s120
-rw-r--r--sysdeps/alpha/submul_1.s92
-rw-r--r--sysdeps/alpha/udiv_qrnnd.S161
-rw-r--r--sysdeps/i386/dl-tlsdesc.S3
-rw-r--r--sysdeps/mach/alpha/machine-lock.h80
-rw-r--r--sysdeps/mach/alpha/machine-sp.h36
-rw-r--r--sysdeps/mach/alpha/setfpucw.c69
-rw-r--r--sysdeps/mach/alpha/syscall.S37
-rw-r--r--sysdeps/mach/alpha/sysdep.h59
-rw-r--r--sysdeps/mach/alpha/thread_state.h39
-rw-r--r--sysdeps/mach/hurd/alpha/bits/sigcontext.h73
-rw-r--r--sysdeps/mach/hurd/alpha/exc2signal.c75
-rw-r--r--sysdeps/mach/hurd/alpha/init-first.c302
-rw-r--r--sysdeps/mach/hurd/alpha/intr-msg.h100
-rw-r--r--sysdeps/mach/hurd/alpha/longjmp-ts.c49
-rw-r--r--sysdeps/mach/hurd/alpha/sigreturn.c211
-rw-r--r--sysdeps/mach/hurd/alpha/static-start.S30
-rw-r--r--sysdeps/mach/hurd/alpha/trampoline.c249
-rw-r--r--sysdeps/mach/strerror_l.c102
-rw-r--r--sysdeps/posix/getaddrinfo.c6
-rw-r--r--sysdeps/powerpc/fpu/Makefile4
-rw-r--r--sysdeps/powerpc/fpu/feholdexcpt.c6
-rw-r--r--sysdeps/powerpc/fpu/fenv_libc.h26
-rw-r--r--sysdeps/powerpc/fpu/fesetenv.c20
-rw-r--r--sysdeps/powerpc/fpu/feupdateenv.c10
-rw-r--r--sysdeps/powerpc/fpu/tst-setcontext-fpscr.c358
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S8
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/setjmp-common.S8
-rw-r--r--sysdeps/unix/alpha/Makefile3
-rw-r--r--sysdeps/unix/alpha/pipe.S32
-rw-r--r--sysdeps/unix/alpha/rt-sysdep.S1
-rw-r--r--sysdeps/unix/alpha/sysdep.S135
-rw-r--r--sysdeps/unix/alpha/sysdep.h438
-rw-r--r--sysdeps/unix/sysv/linux/accept4.c (renamed from sysdeps/unix/sysv/linux/paccept.c)20
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Implies4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Makefile38
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Versions94
-rw-r--r--sysdeps/unix/sysv/linux/alpha/a.out.h197
-rw-r--r--sysdeps/unix/sysv/linux/alpha/adjtime.c220
-rw-r--r--sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h18
-rw-r--r--sysdeps/unix/sysv/linux/alpha/alpha/regdef.h44
-rw-r--r--sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/a.out.h9
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/dirent.h55
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/elfclass.h14
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/errno.h58
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h232
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/ioctls.h37
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/ipc.h55
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/mman.h118
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/msq.h74
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/netdb.h35
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/resource.h233
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/sem.h85
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/shm.h101
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/sigaction.h74
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/siginfo.h303
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/signum.h82
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/sigstack.h55
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/stat.h157
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/statfs.h67
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h226
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/typesizes.h66
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/wordsize.h30
-rw-r--r--sysdeps/unix/sysv/linux/alpha/brk.S81
-rw-r--r--sysdeps/unix/sysv/linux/alpha/clone.S149
-rw-r--r--sysdeps/unix/sysv/linux/alpha/dl-auxv.h36
-rw-r--r--sysdeps/unix/sysv/linux/alpha/dl-brk.S1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/dl-support.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/dl-sysdep.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/fpu/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c92
-rw-r--r--sysdeps/unix/sysv/linux/alpha/fxstat.c64
-rw-r--r--sysdeps/unix/sysv/linux/alpha/fxstatat.c99
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getclktck.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getcontext.S188
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getdents.c3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getdents64.c1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/gethostname.c47
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getitimer.S113
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getrusage.S149
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getsysstats.c57
-rw-r--r--sysdeps/unix/sysv/linux/alpha/gettimeofday.S120
-rw-r--r--sysdeps/unix/sysv/linux/alpha/glob.c52
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S61
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S61
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ioperm.c883
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ipc_priv.h47
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h15
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_stat.h88
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h6
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_termios.h44
-rw-r--r--sysdeps/unix/sysv/linux/alpha/lxstat.c64
-rw-r--r--sysdeps/unix/sysv/linux/alpha/makecontext.S164
-rw-r--r--sysdeps/unix/sysv/linux/alpha/msgctl.c121
-rw-r--r--sysdeps/unix/sysv/linux/alpha/nldbl-abi.h8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/oldglob.c100
-rw-r--r--sysdeps/unix/sysv/linux/alpha/pipe.S1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/register-dump.h157
-rw-r--r--sysdeps/unix/sysv/linux/alpha/rt_sigaction.S120
-rw-r--r--sysdeps/unix/sysv/linux/alpha/select.S241
-rw-r--r--sysdeps/unix/sysv/linux/alpha/semctl.c136
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setcontext.S35
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setfpucw.c80
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setitimer.S137
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setregid.c31
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setresgid.c33
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setresuid.c33
-rw-r--r--sysdeps/unix/sysv/linux/alpha/setreuid.c31
-rw-r--r--sysdeps/unix/sysv/linux/alpha/settimeofday.S118
-rw-r--r--sysdeps/unix/sysv/linux/alpha/shmctl.c135
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigaction.c39
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h25
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigprocmask.c58
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigsuspend.S46
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sizes.h24
-rw-r--r--sysdeps/unix/sysv/linux/alpha/swapcontext.S51
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/acct.h66
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/epoll.h143
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/eventfd.h52
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/inotify.h105
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/io.h95
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/procfs.h115
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/signalfd.h66
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/timerfd.h60
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/ucontext.h61
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/user.h50
-rw-r--r--sysdeps/unix/sysv/linux/alpha/syscall.S77
-rw-r--r--sysdeps/unix/sysv/linux/alpha/syscalls.list55
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sysconf.c152
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sysdep.h101
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym18
-rw-r--r--sysdeps/unix/sysv/linux/alpha/utimes.S123
-rw-r--r--sysdeps/unix/sysv/linux/alpha/wait4.S156
-rw-r--r--sysdeps/unix/sysv/linux/alpha/wordexp.c60
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xstat.c64
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xstatconv.c123
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xstatconv.h24
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h27
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h2
-rw-r--r--sysdeps/unix/sysv/linux/i386/accept4.S (renamed from sysdeps/unix/sysv/linux/i386/paccept.S)164
-rw-r--r--sysdeps/unix/sysv/linux/i386/socket.S4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/wordexp.c61
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/ipc_priv.h48
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S50
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S60
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S58
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S58
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c2
-rw-r--r--sysdeps/x86_64/bits/select.h86
-rw-r--r--version.h4
-rw-r--r--wcsmbs/mbsnrtowcs.c6
-rw-r--r--wcsmbs/wchar.h6
-rw-r--r--wcsmbs/wcsnrtombs.c4
-rw-r--r--wctype/Makefile4
-rw-r--r--wctype/bug-wctypeh.c10
-rw-r--r--wctype/wctype.h6
463 files changed, 2383 insertions, 29822 deletions
diff --git a/ChangeLog b/ChangeLog
index 60359025a6..d0e5dff51b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,257 @@
+2009-01-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Create temporary state object
+	if no output is written.
+
+	* version.h: Bump to 2.10 development.
+
+	* posix/getconf.c: Update copyright year.
+	* nss/getent.c: Likewise.
+	* iconv/iconvconfig.c: Likewise.
+	* iconv/iconv_prog.c: Likewise.
+	* elf/ldconfig.c: Likewise.
+	* catgets/gencat.c: Likewise.
+	* csu/version.c: Likewise.
+	* elf/ldd.bash.in: Likewise.
+	* elf/sprof.c (print_version): Likewise.
+	* locale/programs/locale.c: Likewise.
+	* locale/programs/localedef.c: Likewise.
+	* nscd/nscd.c (print_version): Likewise.
+	* debug/xtrace.sh: Likewise.
+	* malloc/memusage.sh: Likewise.
+	* malloc/mtrace.pl: Likewise.
+	* debug/catchsegv.sh: Likewise.
+
+2008-12-29  Mike Frysinger  <vapier@gentoo.org>
+
+	* iconvdata/Makefile (iconv-rules): Use LC_ALL=C when running awk
+	script.
+
+2008-12-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): When the
+	gethostbyname4_r function call succeeded, just leave the loop.
+
+	[BZ #9694]
+	* wcsmbs/wchar.h: Move undefs for local __need_* constants to the
+	very end.
+	* wctype/wctype.h: Get wint_t definition directly from <stddef.h>.
+	* wctype/Makefile (tests): Add bug-wctypeh.
+	* wctype/bug-wctypeh.c: New file.
+
+	* nscd/nscd_gethst_r.c (nscd_gethst_r): Don't use nscd if
+	LOCALDOMAIN is defined.
+	* nscd/nscd_getai.c (__nscd_getai): Likewise.
+
+	* sysdeps/x86_64/bits/select.h: New file.
+
+	* resolv/res_init.c (__res_vinit): Count all servers in	statp->nscount.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+	[BZ #9677]
+	* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Create temporary state object
+	if no output is written.
+
+2008-12-13  Klaus Dittrich  <kladit@arcor.de>
+
+	* login/utmp_file.c (pututline_file): Replace call to dup2 with
+	libc internal symbol __dup2 to avoid access through the PLT.
+
+2008-12-08  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #6545]
+	* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make
+	available only for __USE_GNU.
+
+	* inet/Makefile (tests): Add tst-getni2.
+	* inet/tst-getni2.c: New file.
+
+	[BZ #7080]
+	* inet/getnameinfo.c (getnameinfo): Check for output buffers being
+	NULL when NI_NAMEREQD is set.
+	Patch mostly by Yang Hongyang <yanghy@cn.fujitsu.com>.
+	* inet/Makefile (tests): Add tst-getni1.
+	* inet/tst-getni1.c: New file.
+
+2008-12-03  Petr Baudis  <pasky@suse.cz>
+
+	[BZ #7067]
+	* nscd/connections.c (invalidate_cache): Use prune_run_lock
+	instead of prune_lock.
+	(nscd_run_prune): Before calling prune_cache, take prune_run_lock.
+	* nscd/nscd.h (database_dyn): Add prune_run_cache.
+
+2008-12-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* resolv/res_send.c (send_dg): Use correct guards for SOCK_CLOEXEC
+	use.
+
+	* sysdeps/unix/sysv/linux/kernel-features.h: Fix typo in accept4
+	handling.
+
+	* resolv/res_init.c (__res_vinit): Always assign to statp->nscount
+	after reading name server list.
+
+	[BZ #7058]
+	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Fix memory
+	handling for host name aliases.
+
+2008-11-24  Arkadiusz Miśkiewicz  <arekm@maven.pl>
+
+	* sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
+	instead of doing things manually.
+
+2008-11-26  Chris Steel  <chris.steel.lnx@googlemail.com>
+
+	* posix/regex_internal.h (build_wcs_upper_buffer):
+	Return type is reg_error_t.
+
+2008-12-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* posix/globtest.sh: Use mktemp to create temporary file and
+	directory.
+
+	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large
+	sets correctly.
+	(__CPU_CLR_S): Likewise.
+	(__CPU_ISSET_S): Likewise.
+
+2008-12-05  Joseph Myers  <joseph@codesourcery.com>
+	    Ulrich Drepper  <drepper@redhat.com>
+
+	* scripts/firstversion.awk: Use custom comparison function to compare
+	version numbers.
+	* scripts/versions.awk: Use sort invocation which can handle
+	multi-digit sub-version numbers.
+
+2008-12-04  Ulrich Drepper  <drepper@redhat.com>
+
+	* locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE2): Define.
+	* locale/iso-639.def: Add Chhattisgarhi entry.
+
+2008-12-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Recognize
+	ESRCH return value.
+	(_nss_dns_gethostbyname4_r): Likewise.
+	* resolv/res_init.c (__res_vinit): Initialize nscount to zero.
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use
+	gethostbyname4_r, we don't have a separate IPv6 status, so copy
+	the no_data variable.
+
+	* resolv/res_init.c (__res_vinit): Fill in IPv4 name server
+	information at the correct index.
+
+	* socket/sys/socket.h: Declare accept4.
+	* socket/accept4.c: New file.
+	* sysdeps/unix/sysv/linux/accept4.c: New file.
+	* sysdeps/unix/sysv/linux/i386/accept4.S: New file.
+	* socket/Makefile (routines): Add accept4.
+	* socket/Versions: Export accept4 with version GLIBC_2.10.
+	* socket/paccept.c: Removed.
+	* sysdeps/unix/sysv/linux/paccept.c: Removed.
+	* sysdeps/unix/sysv/linux/i386/paccept.S: Removed.
+	* Versions.def: Define GLIBC_2.10 for libc.
+	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4.
+
+	* nscd/connections.c: Use accept4.
+
+	* sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.
+
+2008-12-01  Ulrich Drepper  <drepper@redhat.com>
+
+	* resolv/res_send.c (send_dg): Create sockets with non-blocking
+	flag already set.
+
+	* stdlib/setenv.c (unsetenv): Don't search environment if it does
+	not exist.
+	* stdlib/Makefile (tests): Add tst-unsetenv1.
+	* stdlib/tst-unsetenv1.c: New file.
+
+2008-11-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* login/utmp_file.c (file_writable): New variable.
+	(setutent_file): Don't try to open file for writing.
+	(pututline_file): Before writing, make descriptor writable if
+	necessary.
+
+2008-11-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Only restrict search
+	to IPv4 or IPv6 if an interface has been found.
+
+2008-11-26  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Renamed to ...
+	* sysdeps/unix/sysv/linux/powerpc/ipc_priv.h: ... here.
+
+	* sysdeps/unix/sysv/linux/alpha/wordexp.c: Renamed to ...
+	* sysdeps/unix/sysv/linux/ia64/wordexp.c: ... here.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c: Change #include.
+
+	* elf/elf.h (NT_386_IOPERM): New macro.
+	(NT_PPC_VSX): New macro.
+
+2008-11-25  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
+	sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
+	sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
+	sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
+	Subdirectories moved to ports repository.
+	* configure.in (base_machine): Remove alpha case.
+
+2008-11-25  Thomas Schwinge  <tschwinge@gnu.org>
+
+	* sysdeps/mach/strerror_l.c: New file.
+
+2008-11-13  Ryan S. Arnold  <rsa@us.ibm.com>
+
+	[BZ #6411]
+	* sysdeps/powerpc/fpu/Makefile: Added test case tst-setcontext-fpscr.
+	* sysdeps/powerpc/fpu/feholdexcpt.c (_FPU_MASK_ALL): Define to replace
+	magic numbers.
+	* sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register): Dynamically
+	choose mtfsf insn based on PPC_FEATURE_HAS_DFP.
+	(relax_fenv_state): Same as above.
+	(FPSCR_29): Reserve bit in ISA 2.05.
+	(FPSCR_NI): Provide define for compat.
+	* sysdeps/powerpc/fpu/fesetenv.c (_FPU_MASK_ALL): Define to replace
+	magic numbers.
+	* sysdeps/powerpc/fpu/feupdateenv.c (_FPU_MASK_ALL): Define to replace
+	magic numbers.
+	* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: New file.  Test case to
+	test setcontext and swapcontext with dynamic 64-bit FPSCR detection.
+	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Adjust
+	access to hwcap to account for hwcap size increase to uint64_t.
+	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp ):
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
+	(*setcontext): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
+	New file.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
+	New file.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
+	(*setcontext): dynamically select mtfsf insn based on
+	PPC_FEATURE_HAS_DFP. Adjust access to hwcap to account for hwcap size
+	increase to uint64_t.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
+	(*swapcontext): dynamically select mtfsf insn based on
+	PPC_FEATURE_HAS_DFP.  Adjust access to hwcap to account for hwcap size
+	increase to uint64_t.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
+	New file.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
+	New file.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+	(*setcontext): dynamically select mtfsf insn based on
+	PPC_FEATURE_HAS_DFP.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+	(*swapcontext): dynamically select mtfsf insn based on
+	PPC_FEATURE_HAS_DFP.
+
 2008-11-13  Ulrich Drepper  <drepper@redhat.com>
 
 	* version.h: Bump for 2.9 release.
@@ -2957,7 +3211,7 @@
 
 	* nscd/aicache.c (addhstaiX): Fix default TTL handling.
 
-	* inet/getnetgrent.c (setup): Encrypt static pointer.
+	* inet/getnetgrent_r.c (setup): Encrypt static pointer.
 
 2007-10-28  Ulrich Drepper  <drepper@redhat.com>
 
diff --git a/NEWS b/NEWS
index 08c9e211e2..095dbab44e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,15 @@
-GNU C Library NEWS -- history of user-visible changes.  2008-10-31
+GNU C Library NEWS -- history of user-visible changes.  2008-12-2
 Copyright (C) 1992-2007, 2008 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
 using `glibc' in the "product" field.
 
+Version 2.10
+
+* New Linux interface: accept4
+
+
 Version 2.9
 
 * Unified lookup for getaddrinfo: IPv4 and IPv6 addresses are now looked
diff --git a/Versions.def b/Versions.def
index 856d878068..031e2a3541 100644
--- a/Versions.def
+++ b/Versions.def
@@ -26,6 +26,7 @@ libc {
   GLIBC_2.7
   GLIBC_2.8
   GLIBC_2.9
+  GLIBC_2.10
 %ifdef USE_IN_LIBIO
   HURD_CTHREADS_0.3
 %endif
diff --git a/catgets/gencat.c b/catgets/gencat.c
index d9d03fb6a2..e9a371fd5b 100644
--- a/catgets/gencat.c
+++ b/catgets/gencat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 1996.
 
@@ -247,7 +247,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/configure b/configure
index a2a792c93f..c5c6dc4789 100755
--- a/configure
+++ b/configure
@@ -2504,7 +2504,6 @@ fi
 # base_machine, we don't change it.
 test -n "$base_machine" || case "$machine" in
 a29k | am29000)	base_machine=a29k machine=a29k ;;
-alpha*)		base_machine=alpha machine=alpha/$machine ;;
 c3[012])	base_machine=cx0 machine=cx0/c30 ;;
 c4[04])		base_machine=cx0 machine=cx0/c40 ;;
 i[34567]86)	base_machine=i386 machine=i386/$machine ;;
diff --git a/configure.in b/configure.in
index 4a2b54605e..d7b22f3a3b 100644
--- a/configure.in
+++ b/configure.in
@@ -484,7 +484,6 @@ changequote(,)dnl
 # base_machine, we don't change it.
 test -n "$base_machine" || case "$machine" in
 a29k | am29000)	base_machine=a29k machine=a29k ;;
-alpha*)		base_machine=alpha machine=alpha/$machine ;;
 c3[012])	base_machine=cx0 machine=cx0/c30 ;;
 c4[04])		base_machine=cx0 machine=cx0/c40 ;;
 i[34567]86)	base_machine=i386 machine=i386/$machine ;;
diff --git a/csu/version.c b/csu/version.c
index 9b4edd834b..db913be800 100644
--- a/csu/version.c
+++ b/csu/version.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,7 @@ static const char __libc_version[] = VERSION;
 
 static const char banner[] =
 "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
-Copyright (C) 2008 Free Software Foundation, Inc.\n\
+Copyright (C) 2009 Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n\
diff --git a/debug/catchsegv.sh b/debug/catchsegv.sh
index 68fcb69898..5a91d21137 100755
--- a/debug/catchsegv.sh
+++ b/debug/catchsegv.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998,1999,2001,2003,2004,2006,2007,2008
+# Copyright (C) 1998,1999,2001,2003,2004,2006,2007,2008,2009
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -40,7 +40,7 @@ if test $# -eq 0; then
       ;;
     --v | --ve | --ver | --vers | --versi | --versio | --version)
       echo 'catchsegv (GNU libc) @VERSION@'
-      echo 'Copyright (C) 2008 Free Software Foundation, Inc.
+      echo 'Copyright (C) 2009 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 Written by Ulrich Drepper.'
diff --git a/debug/xtrace.sh b/debug/xtrace.sh
index 6902c4f4c4..ef0188afde 100755
--- a/debug/xtrace.sh
+++ b/debug/xtrace.sh
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1999, 2001-2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
 
@@ -64,7 +64,7 @@ do_version() {
   printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
   printf $"Written by %s.
 " "Ulrich Drepper"
   exit 0
diff --git a/elf/elf.h b/elf/elf.h
index 51d4e6cca7..b4d34754a5 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -608,7 +608,9 @@ typedef struct
 #define NT_PRXFPREG	0x46e62b7f	/* Contains copy of user_fxsr_struct */
 #define NT_PPC_VMX	0x100		/* PowerPC Altivec/VMX registers */
 #define NT_PPC_SPE	0x101		/* PowerPC SPE/EVR registers */
+#define NT_PPC_VSX	0x102		/* PowerPC VSX registers */
 #define NT_386_TLS	0x200		/* i386 TLS slots (struct user_desc) */
+#define NT_386_IOPERM	0x201		/* x86 io permission bitmap (1=deny) */
 
 /* Legal values for the note segment descriptor types for object files.  */
 
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 05955ae658..dd213669f3 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 1999.
 
@@ -297,7 +297,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"),
 	   "Andreas Jaeger");
 }
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index 7cf0747d33..ffd125dadf 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1996-2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -39,7 +39,7 @@ while test $# -gt 0; do
     printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
     printf $"Written by %s and %s.
 " "Roland McGrath" "Ulrich Drepper"
     exit 0
diff --git a/elf/sprof.c b/elf/sprof.c
index ce66cf8cc7..4244e05c38 100644
--- a/elf/sprof.c
+++ b/elf/sprof.c
@@ -1,5 +1,5 @@
 /* Read and display shared object profiling data.
-   Copyright (C) 1997-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1997-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -357,7 +357,7 @@ 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\
 "),
-	   "2008");
+	   "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 62e859b8fc..e7a2166302 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2008-11-13 22:06 UTC
-fedora-sync-tag := fedora-glibc-20081113T2206
+fedora-sync-date := 2009-01-02 21:10 UTC
+fedora-sync-tag := fedora-glibc-20090102T2110
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index f92087eb02..dad5523130 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -984,7 +984,15 @@ rm -f *.filelist*
 %endif
 
 %changelog
-* Thu Nov 13 2008 Jakub Jelinek <jakub@redhat.com> 2.9-1
+* Fri Jan  2 2009 Jakub Jelinek <jakub@redhat.com> 2.9.90-1
+- update from trunk (#478314)
+
+* Mon Dec  8 2008 Jakub Jelinek <jakub@redhat.com> 2.9-3
+- temporarily disable _nss_dns_gethostbyname4_r (#459756)
+- NIS hostname lookup fixes (#473073, #474800, BZ#7058)
+- fix unsetenv (#472941)
+
+* Thu Nov 13 2008 Jakub Jelinek <jakub@redhat.com> 2.9-2
 - glibc 2.9 release
 - fix CPU_ALLOC_SIZE on 32-bit arches (BZ#7029)
 
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index dfbc017706..a1ca05f153 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -1,5 +1,5 @@
 /* Convert text in given files from the specified from-set to the to-set.
-   Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -424,7 +424,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c
index 450fd7198c..1d95e89a84 100644
--- a/iconv/iconvconfig.c
+++ b/iconv/iconvconfig.c
@@ -1,5 +1,5 @@
 /* Generate fastloading iconv module configuration files.
-   Copyright (C) 2000-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
 
@@ -396,7 +396,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index e93de56c50..d8fb282871 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -286,6 +286,7 @@ $(objpfx)iconv-rules: Makefile
 	{ echo $(filter-out lib%, $(modules)); \
 	  echo 8bit $(gen-8bit-modules); \
 	  echo 8bit-gap $(gen-8bit-gap-modules); } | \
+	LC_ALL=C \
 	$(AWK) 'NR == 1 { \
 		  for (i = 1; i <= NF; i++) { \
 		    printf "%s-routines := %s\n", $$i, tolower($$i); \
diff --git a/inet/Makefile b/inet/Makefile
index d7139c1d7f..16b2aae683 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -52,7 +52,8 @@ routines := htonl htons		\
 aux := check_pf check_native ifreq
 
 tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \
-	 tst-gethnm test-ifaddrs bug-if1 test-inet6_opt tst-ether_line
+	 tst-gethnm test-ifaddrs bug-if1 test-inet6_opt tst-ether_line \
+	 tst-getni1 tst-getni2
 
 include ../Rules
 
diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c
index 50240383f3..db6b5c7eee 100644
--- a/inet/getnameinfo.c
+++ b/inet/getnameinfo.c
@@ -178,6 +178,9 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
   if (sa == NULL || addrlen < sizeof (sa_family_t))
     return EAI_FAMILY;
 
+  if ((flags & NI_NAMEREQD) && host == NULL && serv == NULL)
+    return EAI_NONAME;
+
   switch (sa->sa_family)
     {
     case AF_LOCAL:
diff --git a/inet/tst-getni1.c b/inet/tst-getni1.c
new file mode 100644
index 0000000000..0e8a792f49
--- /dev/null
+++ b/inet/tst-getni1.c
@@ -0,0 +1,36 @@
+#include <netdb.h>
+#include <stdio.h>
+#include <sys/socket.h>
+
+static int
+do_test (void)
+{
+  int retval = 0;
+
+  struct sockaddr_in s;
+  s.sin_family = AF_INET;
+  s.sin_port = 80;
+  s.sin_addr.s_addr = INADDR_LOOPBACK;
+  int r = getnameinfo((struct sockaddr *) &s, sizeof (s), NULL, 0, NULL, 0,
+		      NI_NUMERICHOST | NI_NUMERICSERV);
+  printf("r = %d\n", r);
+  if (r != 0)
+    {
+      puts ("failed without NI_NAMEREQD");
+      retval = 1;
+    }
+  
+  r = getnameinfo((struct sockaddr *) &s, sizeof (s), NULL, 0, NULL, 0,
+		  NI_NUMERICHOST | NI_NUMERICSERV | NI_NAMEREQD);
+  printf("r = %d\n", r);
+  if (r != EAI_NONAME)
+    {
+      puts ("did not fail with EAI_NONAME with NI_NAMEREQD set");
+      retval = 1;
+    }
+
+  return retval;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/inet/tst-getni2.c b/inet/tst-getni2.c
new file mode 100644
index 0000000000..b949d888d5
--- /dev/null
+++ b/inet/tst-getni2.c
@@ -0,0 +1,41 @@
+#include <netdb.h>
+#include <stdio.h>
+#include <sys/socket.h>
+
+static int
+do_test (void)
+{
+  int retval = 0;
+
+  struct sockaddr_in6 s;
+  s.sin6_family = AF_INET6;
+  s.sin6_port = htons (80);
+  s.sin6_flowinfo = 0;
+  s.sin6_addr = (struct in6_addr) IN6ADDR_ANY_INIT;
+  s.sin6_scope_id = 0;
+  char buf[1000];
+  buf[0] = '\0';
+  int r = getnameinfo((struct sockaddr *) &s, sizeof (s), buf, sizeof (buf),
+		      NULL, 0, NI_NUMERICSERV);
+  printf("r = %d, buf = \"%s\"\n", r, buf);
+  if (r != 0)
+    {
+      puts ("failed without NI_NAMEREQD");
+      retval = 1;
+    }
+  
+  buf[0] = '\0';
+  r = getnameinfo((struct sockaddr *) &s, sizeof (s), buf, sizeof (buf),
+		  NULL, 0, NI_NUMERICSERV | NI_NAMEREQD);
+  printf("r = %d, buf = \"%s\"\n", r, buf);
+  if (r != EAI_NONAME)
+    {
+      puts ("did not fail with EAI_NONAME with NI_NAMEREQD set");
+      retval = 1;
+    }
+
+  return retval;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/locale/iso-639.def b/locale/iso-639.def
index 68a4c5ed39..6d88767c8a 100644
--- a/locale/iso-639.def
+++ b/locale/iso-639.def
@@ -1,8 +1,9 @@
 /*
- * Defines the languages codes and abbreviations according to ISO 639-[12].
+ * Defines the languages codes and abbreviations according to ISO 639-[123].
  * This is used in ld-address.c (address_finish).
  *
  * Format is: ("English name", 639-1-code, 639-2/T-code, 639-2/B-code)
+ * For some languages which have no 639-2 code the 639-3 code is used.
  * If you find something missing or wrong, please go to the URL
  * http://www.gnu.org/software/libc/bugs.html and follow
  * instructions there to file a bug report.
@@ -89,6 +90,7 @@ DEFINE_LANGUAGE_CODE ("Chamorro", ch, cha, cha)
 DEFINE_LANGUAGE_CODE ("Chechen", ce, che, che)
 DEFINE_LANGUAGE_CODE3 ("Cherokee", chr, chr)
 DEFINE_LANGUAGE_CODE3 ("Cheyenne", chy, chy)
+DEFINE_LANGUAGE_CODE2 ("Chhattisgarhi", hne)	/* ISO 639-3 */
 DEFINE_LANGUAGE_CODE3 ("Chibcha", chb, chb)
 DEFINE_LANGUAGE_CODE ("Chichewa; Chewa; Nyanja", ny, nya, nya)
 DEFINE_LANGUAGE_CODE ("Chinese", zh, zho, chi)
diff --git a/locale/programs/ld-address.c b/locale/programs/ld-address.c
index 6343b3c8a4..df2e193142 100644
--- a/locale/programs/ld-address.c
+++ b/locale/programs/ld-address.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2002, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2002, 2005, 2006, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -57,6 +57,8 @@ static struct
   { #Ab, #Term, #Lib },
 #define DEFINE_LANGUAGE_CODE3(Name, Term, Lib) \
   { "", #Term, #Lib },
+#define DEFINE_LANGUAGE_CODE2(Name, Term) \
+  { "", #Term, "" },
 #include "iso-639.def"
 };
 
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index 5f770a1816..33963d5b25 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -1,5 +1,5 @@
 /* Implementation of the locale program according to POSIX 9945-2.
-   Copyright (C) 1995-1997, 1999-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
@@ -276,7 +276,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index a1823acafa..c8eebc7e5c 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
@@ -388,7 +388,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index bc339ff17a..7fb68e4f46 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,37 @@
+2008-12-31  Ulrich Drepper  <drepper@redhat.com>
+
+	* locales/iso14651_t1_common: Fix sorting of U+0AB3.
+	Patch by Pravin Satpute <psatpute@redhat.com>.
+
+2008-12-30  Ulrich Drepper  <drepper@redhat.com>
+
+	* locales/i18n: Move Indic Matra characters to punct.
+	* locales/as_IN: Add support for internationalized digits.
+	* locales/bn_BD: Likewise.
+	* locales/bn_IN: Likewise.
+	* locales/gu_IN: Likewise.
+	* locales/hi_IN: Likewise.
+	* locales/kn_IN: Likewise.
+	* locales/ml_IN: Likewise.
+	* locales/mr_IN: Likewise.
+	* locales/or_IN: Likewise.
+	* locales/pa_IN: Likewise.
+	* locales/ta_IN: Likewise.
+	* locales/te_IN: Likewise.
+	Patch by Pravin Satpute <psatpute@redhat.com>.
+
+2008-12-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* tests-mbwc/tst_types.h (TIN_MBRLEN_REC): Use correct array
+	length constant.
+
+2008-12-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* SUPPORTED (SUPPORTED-LOCALES): Add hne_IN.
+
+	* locales/hne_IN: New file.
+	Contributed by Pravin Satpute <psatpute@redhat.com>.
+
 2008-10-31  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #6920]
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 787d03f1cf..cbf73a70c9 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -225,6 +225,7 @@ ha_NG/UTF-8 \
 he_IL.UTF-8/UTF-8 \
 he_IL/ISO-8859-8 \
 hi_IN/UTF-8 \
+hne_IN/UTF-8 \
 hr_HR.UTF-8/UTF-8 \
 hr_HR/ISO-8859-2 \
 hsb_DE/ISO-8859-2 \
diff --git a/localedata/locales/as_IN b/localedata/locales/as_IN
index 41917f06dc..3e1c4cb8ab 100644
--- a/localedata/locales/as_IN
+++ b/localedata/locales/as_IN
@@ -32,7 +32,7 @@ END LC_IDENTIFICATION
 
 %%%%%%%%%%%%%
 LC_CTYPE
-copy "i18n"
+copy "bn_IN"
 
 translit_start
 include "translit_combining";""
diff --git a/localedata/locales/bn_IN b/localedata/locales/bn_IN
index 1a792acd8a..43a682549e 100644
--- a/localedata/locales/bn_IN
+++ b/localedata/locales/bn_IN
@@ -34,7 +34,28 @@ END LC_IDENTIFICATION
 
 
 LC_CTYPE
-copy "bn_BD"
+copy "i18n"
+
+% Bengali uses the alternate digits U+09E6..U+09EF
+outdigit <U09E6>..<U09EF>
+
+% This is used in the scanf family of functions to read Bengali numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U09E6>); /
+  (<U0031>,<U09E7>); /
+  (<U0032>,<U09E8>); /
+  (<U0033>,<U09E9>); /
+  (<U0034>,<U09EA>); /
+  (<U0035>,<U09EB>); /
+  (<U0036>,<U09EC>); /
+  (<U0037>,<U09ED>); /
+  (<U0038>,<U09EE>); /
+  (<U0039>,<U09EF>); 
+
+translit_start
+include "translit_combining";""
+translit_end
 END LC_CTYPE
 
 
diff --git a/localedata/locales/gu_IN b/localedata/locales/gu_IN
index 6e60a2367e..0d7ffc98a8 100644
--- a/localedata/locales/gu_IN
+++ b/localedata/locales/gu_IN
@@ -35,6 +35,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Gujarati uses the alternate digits U+0AE6..U+0AEF
+outdigit <U0AE6>..<U0AEF>
+
+% This is used in the scanf family of functions to read Gujarati numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0AE6>); /
+  (<U0031>,<U0AE7>); /
+  (<U0032>,<U0AE8>); /
+  (<U0033>,<U0AE9>); /
+  (<U0034>,<U0AEA>); /
+  (<U0035>,<U0AEB>); /
+  (<U0036>,<U0AEC>); /
+  (<U0037>,<U0AED>); /
+  (<U0038>,<U0AEE>); /
+  (<U0039>,<U0AEF>); 
+
 translit_start
 include "translit_combining";""
 translit_end
diff --git a/localedata/locales/hi_IN b/localedata/locales/hi_IN
index 44644bc323..c8a5051089 100644
--- a/localedata/locales/hi_IN
+++ b/localedata/locales/hi_IN
@@ -32,7 +32,7 @@ category  "hi_IN:2000";LC_TELEPHONE
 END LC_IDENTIFICATION
 
 LC_CTYPE
-copy "i18n"
+copy "mr_IN"
 
 translit_start
 include "translit_combining";""
diff --git a/localedata/locales/hne_IN b/localedata/locales/hne_IN
new file mode 100644
index 0000000000..b32398aec4
--- /dev/null
+++ b/localedata/locales/hne_IN
@@ -0,0 +1,180 @@
+comment_char    %
+escape_char     /
+% Chhattisgarhi language locale for India.
+% Contributed by Pravin Satpute <psatpute@redhat.com> and
+% Ravishankar Shrivastava <raviratlami@gmail.com>.
+
+LC_IDENTIFICATION
+title      "Chhattisgarhi language locale for India"
+source     "Red Hat, Pune"
+address    "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014"
+contact    ""
+email      "bug-glibc-locales@gnu.org"
+tel        ""
+fax        ""
+language   "Chhattisgarhi"
+territory  "India"
+revision   "1.0"
+date       "2008-12-03"
+%
+category  "hne_IN:2008";LC_IDENTIFICATION
+category  "hne_IN:2008";LC_CTYPE
+category  "hne_IN:2008";LC_COLLATE
+category  "hne_IN:2008";LC_TIME
+category  "hne_IN:2008";LC_NUMERIC
+category  "hne_IN:2008";LC_MONETARY
+category  "hne_IN:2008";LC_MESSAGES
+category  "hne_IN:2008";LC_PAPER
+category  "hne_IN:2008";LC_NAME
+category  "hne_IN:2008";LC_ADDRESS
+category  "hne_IN:2008";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "hi_IN"
+END LC_CTYPE
+
+LC_COLLATE
+copy "hi_IN"
+END LC_COLLATE
+
+LC_MONETARY
+copy "hi_IN"
+END LC_MONETARY
+
+
+LC_NUMERIC
+copy "hi_IN"
+END LC_NUMERIC
+
+
+LC_TIME
+% This is the POSIX Locale definition for the LC_TIME category.
+% These are generated based on XML base Locale difintion file
+% for IBM Class for Unicode/Java
+%
+% Abbreviated weekday names (%a)
+abday       "<U0907><U0924><U0020>";/
+            "<U0938><U094B><U092E><U0020>";/
+            "<U092E><U0902><U0917><U0020>";/
+            "<U092C><U0941><U0927><U0020>";/
+            "<U092C><U093F><U0930><U0020>";/
+            "<U0938><U0941><U0915>";/
+            "<U0938><U0928><U093F>"
+%
+% Full weekday names (%A)
+day       "<U0907><U0924><U0935><U093E><U0930><U0020>";/
+            "<U0938><U094B><U092E><U0935><U093E><U0930><U0020>";/
+            "<U092E><U0902><U0917><U0932><U0935><U093E><U0930><U0020>";/
+            "<U092C><U0941><U0927><U0935><U093E><U0930><U0020>";/
+            "<U092C><U093F><U0930><U0938><U092A><U0924><U0020>";/
+            "<U0938><U0941><U0915><U0930><U0935><U093E><U0930><U0020>";/
+            "<U0938><U0928><U093F><U0935><U093E><U0930><U0020>"
+%
+% Abbreviated month names (%b)
+abmon       "<U091C><U0928>";/
+            "<U092B><U0930>";/
+            "<U092E><U093E><U0930><U094D><U091A>";/
+            "<U0905><U092A>";/
+            "<U092E><U0908>";"<U091C><U0942><U0928>";/
+            "<U091C><U0941><U0932><U093E>";/
+            "<U0905><U0917>";/
+            "<U0938><U093F><U0924>";/
+            "<U0905><U0915><U091F><U0942>";/
+            "<U0928><U0935>";/
+            "<U0926><U093F><U0938>"
+%
+% Full month names (%B)
+mon         "<U091C><U0928><U0935><U0930><U0940>";/
+            "<U092B><U0930><U0935><U0930><U0940>";/
+            "<U092E><U093E><U0930><U094D><U091A>";/
+            "<U0905><U092A><U0930><U0947><U0932>";/
+            "<U092E><U0908>";"<U091C><U0942><U0928>";/
+            "<U091C><U0941><U0932><U093E><U0908>";/
+            "<U0905><U0917><U0938><U094D><U0924>";/
+            "<U0938><U093F><U0924><U092E><U092C><U0930>";/
+            "<U0905><U0915><U091F><U0942><U092C><U0930>";/
+            "<U0928><U0935><U092E><U092C><U0930>";/
+            "<U0926><U093F><U0938><U092E><U092C><U0930>"
+%
+% Equivalent of AM PM
+am_pm       "<U092C><U093F><U0939><U093F><U0928><U093F><U092F><U093E><U0901>";/
+            "<U092E><U0902><U091D><U0928><U093F><U092F><U093E><U0901>"
+%
+% Appropriate date and time representation
+% %A %d %b %Y%I:%M:%S  %Z
+d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/
+<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+% Appropriate date representation
+% %A %d %b %Y
+d_fmt       "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059>"
+%
+% Appropriate time representation
+% %I:%M:%S  %Z
+t_fmt       "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0020><U0025><U005A>"
+%
+% Appropriate 12 h time representation (%r)
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+
+LC_MESSAGES
+yesexpr     "<U005E><U005B><U0939><U0935><U0079><U0059><U005D>"
+noexpr      "<U005E><U005B><U0928><U0907><U006E><U004E><U005D>"
+yesstr      "<U0939><U0935>"
+nostr       "<U0928><U0907>"
+END LC_MESSAGES
+
+
+LC_PAPER
+copy "hi_IN"
+END LC_PAPER
+
+
+LC_NAME
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_NAME category.
+%
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
+<U0025><U0067>"
+name_gen    ""
+name_mr     "<U0938><U093F><U0930><U0940><U092E><U093E><U0928>"
+name_mrs    "<U0938><U093F><U0930><U0940><U092E><U0924><U0940>"
+name_miss   "<U0915><U0941><U0902><U0935><U093E><U0930><U0940>"
+name_ms     "<U0915><U0941><U0902>"
+
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_ADDRESS
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/
+<U0025><U0062><U0025><U0065><U0025><U0072>"
+
+country_ab2 "<U0049><U004E>"
+country_ab3 "<U0049><U004E><U0044>"
+country_num 356
+lang_term   "<U0068><U006E><U0065>"
+
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+copy "hi_IN"
+END LC_TELEPHONE
+
+
+LC_MEASUREMENT
+copy "hi_IN"
+END LC_MEASUREMENT
diff --git a/localedata/locales/i18n b/localedata/locales/i18n
index 7287424417..8afbb717fa 100644
--- a/localedata/locales/i18n
+++ b/localedata/locales/i18n
@@ -231,41 +231,55 @@ alpha /
    <U0780>..<U07A5>;<U07B1>;/
 % NKO/
    <U07C0>..<U07EA>;<U07F4>..<U07F5>;<U07FA>;/
+% - All Matras of Indic and Sinhala are moved from punct to alpha class/
+% - Added Unicode 5.1 charctares of Indic scripts/
 % DEVANAGARI/
-   <U0904>..<U0939>;<U093D>;<U0950>;<U0958>..<U0961>;/
-   <U097B>..<U097F>;/
+   <U0901>..<U0939>;<U093C>..<U094D>;/
+   <U0950>..<U0954>;<U0958>..<U0961>;/
+   <U0962>;<U0963>;<U0972>;<U097B>..<U097F>;/
 % TABLE 18 BENGALI/
-   <U0985>..<U098C>;<U098F>;<U0990>;<U0993>..<U09A8>;<U09AA>..<U09B0>;/
-   <U09B2>;<U09B6>..<U09B9>;<U09BD>;<U09CE>;<U09DC>;<U09DD>;<U09DF>..<U09E1>;/
-   <U09F0>..<U09F1>;/
+   <U0981>..<U0983>;<U0985>..<U098C>;<U098F>;<U0990>;<U0993>..<U09A8>;/
+   <U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;<U09BC>..<U09C4>;/
+   <U09C7>;<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
+   <U09DC>;<U09DD>;<U09DF>..<U09E3>;<U09F0>..<U09FA>;/
 % GURMUKHI/
-   <U0A05>..<U0A0A>;<U0A0F>;<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
-   <U0A32>;<U0A33>;<U0A35>;<U0A36>;<U0A38>;<U0A39>;<U0A59>..<U0A5C>;/
-   <U0A5E>;<U0A72>..<U0A74>;/
+   <U0A01>..<U0A03>;<U0A05>..<U0A0A>;<U0A0F>;<U0A10>;<U0A13>..<U0A28>;/
+   <U0A2A>..<U0A30>;<U0A32>;<U0A33>;<U0A35>;<U0A36>;<U0A38>;<U0A39>;/
+   <U0A3C>;<U0A3E>..<U0A42>;<U0A47>;<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
+   <U0A59>..<U0A5C>;<U0A5E>;<U0A70>..<U0A75>;/
 % GUJARATI/
+   <U0A81>..<U0A83>;/
    <U0A85>..<U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;/
-   <U0AAA>..<U0AB0>;<U0AB2>;<U0AB3>;<U0AB5>..<U0AB9>;<U0ABD>;<U0AD0>;/
-   <U0AE0>;<U0AE1>;/
+   <U0AAA>..<U0AB0>;<U0AB2>;<U0AB3>;<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;/
+   <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
+   <U0AD0>;<U0AE0>..<U0AE3>;<U0AF1>;/
 % ORIYA/
-   <U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
-   <U0B32>;<U0B33>;<U0B35>..<U0B39>;<U0B3D>;<U0B5C>;<U0B5D>;/
-   <U0B5F>..<U0B63>;<U0B71>;/
+   <U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;/
+   <U0B2A>..<U0B30>;<U0B32>;<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;/
+   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>;<U0B5D>;/
+   <U0B5F>..<U0B63>;<U0B70>;<U0B71>;/
 % TAMIL/
-   <U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>;/
+   <U0B82>;<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>;/
    <U0B9A>;<U0B9C>;<U0B9E>;<U0B9F>;<U0BA3>;<U0BA4>;<U0BA8>..<U0BAA>;/
-   <U0BAE>..<U0BB9>;/
+   <U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;/
+  <U0BD0>;<U0BD7>;<U0BF0>..<U0BFA>;/
 % TELUGU/
-   <U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C33>;/
-   <U0C35>..<U0C39>;<U0C3D>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
+   <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
+   <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
+   <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
 % KANNADA/
-   <U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;/
-   <U0CB5>..<U0CB9>;<U0CDE>;<U0CE0>..<U0CE1>;/
+   <U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
+   <U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;/
+   <U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;<U0CF1>;<U0CF2>;/
 % MALAYALAM/
-   <U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;/
-   <U0D3D>;<U0D60>..<U0D63>;/
+   <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
+   <U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
+   <U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
+   <U0D60>..<U0D63>;<U0D79>..<U0D7F>;/
 % SINHALA/
-   <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
-   <U0DC0>..<U0DC6>;/
+   <U0D82>..<U0D83>;<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+   <U0DC0>..<U0DC6>;<U0DCA>;/
+   <U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;/
 % THAI/
    <U0E01>..<U0E2E>;<U0E30>..<U0E3A>;<U0E40>..<U0E45>;<U0E47>..<U0E4E>;/
 % LAO/
@@ -496,7 +510,7 @@ alpha /
 % KANNADA/
    <U0CE6>..<U0CEF>;/
 % MALAYALAM/
-   <U0D66>..<U0D75>;<U0D79>..<U0D7F>;/
+   <U0D66>..<U0D75>;<U0D70>..<U0D75>;/
 % THAI/
    <U0E50>..<U0E59>;/
 % LAO/
@@ -566,22 +580,8 @@ punct /
    <U064B>..<U065E>;<U066A>..<U066D>;<U0670>;<U06D4>;<U06D6>..<U06E4>;/
    <U06E7>..<U06ED>;<U06FD>..<U06FE>;<U0700>..<U070D>;<U070F>;<U0711>;/
    <U0730>..<U074A>;<U07A6>..<U07B0>;<U07EB>..<U07F3>;<U07F6>..<U07F9>;/
-   <U0901>..<U0903>;<U093C>;<U093E>..<U094D>;<U0951>..<U0954>;/
-   <U0962>..<U0965>;<U0972>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
-   <U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;/
-   <U09F2>..<U09FA>;<U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;/
-   <U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;/
-   <U0A75>;<U0A81>..<U0A83>;/
-   <U0ABC>;<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
-   <U0AE2>..<U0AE3>;<U0AF1>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;/
-   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B70>;<U0B82>;/
-   <U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
-   <U0BF0>..<U0BFA>;<U0C01>..<U0C03>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
-   <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C82>..<U0C83>;<U0CBC>;/
-   <U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
-   <U0CE2>..<U0CE3>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D3E>..<U0D44>;/
-   <U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D82>..<U0D83>;<U0DCA>;/
-   <U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E2F>;/
+   <U0964>;<U0965>;/
+   <U0E2F>;/
    <U0E3F>;<U0E46>;<U0E4F>;<U0E5A>..<U0E5B>;<U0EB1>;<U0EB4>..<U0EB9>;/
    <U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F01>..<U0F1F>;<U0F2A>..<U0F3F>;/
    <U0F71>..<U0F87>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;/
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index 795ce323a9..bb0b4ab295 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -1465,12 +1465,12 @@ collating-symbol <k-ai_lenght_mark>
 <g-ya>
 <g-ra>
 <g-la>
-<g-lla>
 <g-va>
 <g-sha>
 <g-ssa>
 <g-sa>
 <g-ha>
+<g-lla>
 <g-ksha>
 <g-dnya>
 <g-shra>
@@ -3666,12 +3666,12 @@ order_start  <GUJARATI>;forward;forward;forward;forward,position
 <U0AAF> <g-ya>;<BAS>;<MIN>;IGNORE
 <U0AB0> <g-ra>;<BAS>;<MIN>;IGNORE
 <U0AB2> <g-la>;<BAS>;<MIN>;IGNORE
-<U0AB3> <g-lla>;<BAS>;<MIN>;IGNORE
 <U0AB5> <g-va>;<BAS>;<MIN>;IGNORE
 <U0AB6> <g-sha>;<BAS>;<MIN>;IGNORE
 <U0AB7> <g-ssa>;<BAS>;<MIN>;IGNORE
 <U0AB8> <g-sa>;<BAS>;<MIN>;IGNORE
-<U0AB9>   <g-ha>;<BAS>;<MIN>;IGNORE
+<U0AB9> <g-ha>;<BAS>;<MIN>;IGNORE
+<U0AB3> <g-lla>;<BAS>;<MIN>;IGNORE
 <gu-ksha> <g-ksha>;<BAS>;<MIN>;IGNORE
 <gu-dnya> <g-dnya>;<BAS>;<MIN>;IGNORE
 <gu-shra> <g-shra>;<BAS>;<MIN>;IGNORE
diff --git a/localedata/locales/kn_IN b/localedata/locales/kn_IN
index 53c5fcac71..4a0a2e3409 100644
--- a/localedata/locales/kn_IN
+++ b/localedata/locales/kn_IN
@@ -36,6 +36,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Kannada uses the alternate digits U+0CE6..U+0CEF
+outdigit <U0CE6>..<U0CEF>
+
+% This is used in the scanf family of functions to read Kannada numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0CE6>); /
+  (<U0031>,<U0CE7>); /
+  (<U0032>,<U0CE8>); /
+  (<U0033>,<U0CE9>); /
+  (<U0034>,<U0CEA>); /
+  (<U0035>,<U0CEB>); /
+  (<U0036>,<U0CEC>); /
+  (<U0037>,<U0CED>); /
+  (<U0038>,<U0CEE>); /
+  (<U0039>,<U0CEF>); 
+
 translit_start
 include  "translit_combining";""
 translit_end
diff --git a/localedata/locales/ml_IN b/localedata/locales/ml_IN
index 1f57845813..18196bb5de 100644
--- a/localedata/locales/ml_IN
+++ b/localedata/locales/ml_IN
@@ -32,6 +32,24 @@ category     "ml_IN:2000";LC_MEASUREMENT
 END LC_IDENTIFICATION
 LC_CTYPE
 copy	"i18n"
+
+% Malayalam uses the alternate digits U+0D66..U+0D6F
+outdigit <U0D66>..<U0D6F>
+
+% This is used in the scanf family of functions to read Malayalam numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0D66>); /
+  (<U0031>,<U0D67>); /
+  (<U0032>,<U0D68>); /
+  (<U0033>,<U0D69>); /
+  (<U0034>,<U0D6A>); /
+  (<U0035>,<U0D6B>); /
+  (<U0036>,<U0D6C>); /
+  (<U0037>,<U0D6D>); /
+  (<U0038>,<U0D6E>); /
+  (<U0039>,<U0D6F>); 
+
 translit_start
 include     "translit_combining";""
 translit_end
diff --git a/localedata/locales/mr_IN b/localedata/locales/mr_IN
index ba3b3d6148..7c9d439fcb 100644
--- a/localedata/locales/mr_IN
+++ b/localedata/locales/mr_IN
@@ -34,6 +34,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Devanagari uses the alternate digits U+0966..U+096F
+outdigit <U0966>..<U096F>
+
+% This is used in the scanf family of functions to read devanagari numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0966>); /
+  (<U0031>,<U0967>); /
+  (<U0032>,<U0968>); /
+  (<U0033>,<U0969>); /
+  (<U0034>,<U096A>); /
+  (<U0035>,<U096B>); /
+  (<U0036>,<U096C>); /
+  (<U0037>,<U096D>); /
+  (<U0038>,<U096E>); /
+  (<U0039>,<U096F>); 
+
 translit_start
 include  "translit_combining";""
 translit_end
diff --git a/localedata/locales/or_IN b/localedata/locales/or_IN
index 86754b2e2f..22ee03108a 100644
--- a/localedata/locales/or_IN
+++ b/localedata/locales/or_IN
@@ -35,6 +35,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Oriya uses the alternate digits U+0B66..U+0B6F
+outdigit <U0B66>..<U0B6F>
+
+% This is used in the scanf family of functions to read Oriya numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0B66>); /
+  (<U0031>,<U0B67>); /
+  (<U0032>,<U0B68>); /
+  (<U0033>,<U0B69>); /
+  (<U0034>,<U0B6A>); /
+  (<U0035>,<U0B6B>); /
+  (<U0036>,<U0B6C>); /
+  (<U0037>,<U0B6D>); /
+  (<U0038>,<U0B6E>); /
+  (<U0039>,<U0B6F>); 
+
 translit_start
 include  "translit_combining";""
 translit_end
diff --git a/localedata/locales/pa_IN b/localedata/locales/pa_IN
index b269472d4e..c4c4732349 100644
--- a/localedata/locales/pa_IN
+++ b/localedata/locales/pa_IN
@@ -31,7 +31,28 @@ category  "pa_IN:2000";LC_TELEPHONE
 END LC_IDENTIFICATION
 
 LC_CTYPE
-copy "pa_PK"
+copy	"i18n"
+
+% Punjabi uses the alternate digits U+0A66..U+0A6F
+outdigit <U0A66>..<U0A6F>
+
+% This is used in the scanf family of functions to read Punjabi numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0A66>); /
+  (<U0031>,<U0A67>); /
+  (<U0032>,<U0A68>); /
+  (<U0033>,<U0A69>); /
+  (<U0034>,<U0A6A>); /
+  (<U0035>,<U0A6B>); /
+  (<U0036>,<U0A6C>); /
+  (<U0037>,<U0A6D>); /
+  (<U0038>,<U0A6E>); /
+  (<U0039>,<U0A6F>); 
+
+translit_start
+include     "translit_combining";""
+translit_end
 END LC_CTYPE
 
 
diff --git a/localedata/locales/sd_IN b/localedata/locales/sd_IN
index 52f069b004..4688ddc794 100644
--- a/localedata/locales/sd_IN
+++ b/localedata/locales/sd_IN
@@ -7,7 +7,7 @@ escape_char     /
 LC_IDENTIFICATION
 
 title      "Sindhi language locale for India"
-source     "Redhat, Pune"
+source     "Red Hat, Pune"
 address    "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014"
 contact    ""
 email      "bug-glibc-locales@gnu.org"
diff --git a/localedata/locales/sd_IN@devanagari b/localedata/locales/sd_IN@devanagari
index ce029376e6..7a211c4a23 100644
--- a/localedata/locales/sd_IN@devanagari
+++ b/localedata/locales/sd_IN@devanagari
@@ -6,7 +6,7 @@ escape_char     /
 
 LC_IDENTIFICATION
 title      "Sindhi language locale for India"
-source     "Redhat, Pune"
+source     "Red Hat, Pune"
 address    "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014"
 contact    ""
 email      "bug-glibc-locales@gnu.org"
diff --git a/localedata/locales/ta_IN b/localedata/locales/ta_IN
index df68390261..51a4fff35f 100644
--- a/localedata/locales/ta_IN
+++ b/localedata/locales/ta_IN
@@ -37,6 +37,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Tamil uses the alternate digits U+0BE6..U+0BEF
+outdigit <U0BE6>..<U0BEF>
+
+% This is used in the scanf family of functions to read Tamil numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0BE6>); /
+  (<U0031>,<U0BE7>); /
+  (<U0032>,<U0BE8>); /
+  (<U0033>,<U0BE9>); /
+  (<U0034>,<U0BEA>); /
+  (<U0035>,<U0BEB>); /
+  (<U0036>,<U0BEC>); /
+  (<U0037>,<U0BED>); /
+  (<U0038>,<U0BEE>); /
+  (<U0039>,<U0BEF>); 
+
 translit_start
 include  "translit_combining";""
 translit_end
diff --git a/localedata/locales/te_IN b/localedata/locales/te_IN
index f833651a82..d3456244b0 100644
--- a/localedata/locales/te_IN
+++ b/localedata/locales/te_IN
@@ -36,6 +36,23 @@ END LC_IDENTIFICATION
 LC_CTYPE
 copy "i18n"
 
+% Telugu uses the alternate digits U+0C66..U+0C6F
+outdigit <U0C66>..<U0C6F>
+
+% This is used in the scanf family of functions to read Telugu numbers
+% using "%Id" and such.
+map to_inpunct; /
+  (<U0030>,<U0C66>); /
+  (<U0031>,<U0C67>); /
+  (<U0032>,<U0C68>); /
+  (<U0033>,<U0C69>); /
+  (<U0034>,<U0C6A>); /
+  (<U0035>,<U0C6B>); /
+  (<U0036>,<U0C6C>); /
+  (<U0037>,<U0C6D>); /
+  (<U0038>,<U0C6E>); /
+  (<U0039>,<U0C6F>); 
+
 translit_start
 include  "translit_combining";""
 translit_end
diff --git a/localedata/tests-mbwc/tst_types.h b/localedata/tests-mbwc/tst_types.h
index 3d18279411..7a5db4f75e 100644
--- a/localedata/tests-mbwc/tst_types.h
+++ b/localedata/tests-mbwc/tst_types.h
@@ -122,7 +122,7 @@ typedef struct
     int t_flg;
     int t_init;
   }
-  seq[WCSTOK_SEQNUM];
+  seq[MBRLEN_SEQNUM];
 }
 TIN_MBRLEN_REC;
 
diff --git a/login/utmp_file.c b/login/utmp_file.c
index 9033f72a4e..f32144d1f7 100644
--- a/login/utmp_file.c
+++ b/login/utmp_file.c
@@ -36,6 +36,7 @@
 
 /* Descriptor for the file and position.  */
 static int file_fd = -1;
+static bool file_writable;
 static off64_t file_offset;
 
 /* Cache for the last read entry.  */
@@ -138,7 +139,6 @@ setutent_file (void)
   if (file_fd < 0)
     {
       const char *file_name;
-      int result;
 
       file_name = TRANSFORM_UTMP_FILE_NAME (__libc_utmp_file_name);
 
@@ -147,14 +147,10 @@ setutent_file (void)
 #else
 # define O_flags O_LARGEFILE
 #endif
-      file_fd = open_not_cancel_2 (file_name, O_RDWR | O_flags);
+      file_writable = false;
+      file_fd = open_not_cancel_2 (file_name, O_RDONLY | O_flags);
       if (file_fd == -1)
-	{
-	  /* Hhm, read-write access did not work.  Try read-only.  */
-	  file_fd = open_not_cancel_2 (file_name, O_RDONLY | O_flags);
-	  if (file_fd == -1)
-	    return 0;
-	}
+	return 0;
 
 #ifndef __ASSUME_O_CLOEXEC
 # ifdef O_CLOEXEC
@@ -162,7 +158,7 @@ setutent_file (void)
 # endif
 	{
 	  /* We have to make sure the file is `closed on exec'.  */
-	  result = fcntl_not_cancel (file_fd, F_GETFD, 0);
+	  int result = fcntl_not_cancel (file_fd, F_GETFD, 0);
 	  if (result >= 0)
 	    {
 # ifdef O_CLOEXEC
@@ -404,6 +400,52 @@ pututline_file (const struct utmp *data)
 
   assert (file_fd >= 0);
 
+  if (! file_writable)
+    {
+      /* We must make the file descriptor writable before going on.  */
+      const char *file_name = TRANSFORM_UTMP_FILE_NAME (__libc_utmp_file_name);
+
+      int new_fd = open_not_cancel_2 (file_name, O_RDWR | O_flags);
+      if (new_fd == -1)
+	return NULL;
+
+#ifndef __ASSUME_O_CLOEXEC
+# ifdef O_CLOEXEC
+      if (__have_o_cloexec <= 0)
+# endif
+	{
+	  /* We have to make sure the file is `closed on exec'.  */
+	  int result = fcntl_not_cancel (file_fd, F_GETFD, 0);
+	  if (result >= 0)
+	    {
+# ifdef O_CLOEXEC
+	      if (__have_o_cloexec == 0)
+		__have_o_cloexec = (result & FD_CLOEXEC) ? 1 : -1;
+
+	      if (__have_o_cloexec < 0)
+# endif
+		result = fcntl_not_cancel (file_fd, F_SETFD,
+					   result | FD_CLOEXEC);
+	    }
+
+	  if (result == -1)
+	    {
+	      close_not_cancel_no_status (file_fd);
+	      return NULL;
+	    }
+	}
+#endif
+
+      if (__lseek64 (new_fd, __lseek64 (file_fd, 0, SEEK_CUR), SEEK_SET) == -1
+	  || __dup2 (new_fd, file_fd) < 0)
+	{
+	  close_not_cancel_no_status (new_fd);
+	  return NULL;
+	}
+      close_not_cancel_no_status (new_fd);
+      file_writable = true;
+    }
+
   /* Find the correct place to insert the data.  */
   if (file_offset > 0
       && (
diff --git a/malloc/memusage.sh b/malloc/memusage.sh
index c4e189a83c..1c906a1be5 100755
--- a/malloc/memusage.sh
+++ b/malloc/memusage.sh
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1999-2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1999-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
 
@@ -71,7 +71,7 @@ do_version() {
   printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
   printf $"Written by %s.
 " "Ulrich Drepper"
   exit 0
diff --git a/malloc/mtrace.pl b/malloc/mtrace.pl
index 782861129f..1c13ae0370 100644
--- a/malloc/mtrace.pl
+++ b/malloc/mtrace.pl
@@ -1,7 +1,7 @@
 #! @PERL@
 eval "exec @PERL@ -S $0 $@"
     if 0;
-# Copyright (C) 1997-2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1997-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@gnu.org>, 1997.
 # Based on the mtrace.awk script.
@@ -45,7 +45,7 @@ arglist: while (@ARGV) {
 	$ARGV[0] eq "--vers" || $ARGV[0] eq "--versi" ||
 	$ARGV[0] eq "--versio" || $ARGV[0] eq "--version") {
 	print "mtrace (GNU $PACKAGE) $VERSION\n";
-	print "Copyright (C) 2008 Free Software Foundation, Inc.\n";
+	print "Copyright (C) 2009 Free Software Foundation, Inc.\n";
 	print "This is free software; see the source for copying conditions.  There is NO\n";
 	print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
 	print "Written by Ulrich Drepper <drepper\@gnu.org>\n";
diff --git a/nis/nss_nis/nis-hosts.c b/nis/nss_nis/nis-hosts.c
index 24d13634d7..e1db5f531f 100644
--- a/nis/nss_nis/nis-hosts.c
+++ b/nis/nss_nis/nis-hosts.c
@@ -485,24 +485,6 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
       return retval;
     }
 
-  struct parser_data data;
-  struct hostent host;
-  int parse_res = parse_line (result, &host, &data, buflen, errnop, AF_UNSPEC,
-			      0);
-  if (__builtin_expect (parse_res < 1, 0))
-    {
-      if (parse_res == -1)
-	{
-	  *herrnop = NETDB_INTERNAL;
-	  return NSS_STATUS_TRYAGAIN;
-	}
-      else
-	{
-	  *herrnop = HOST_NOT_FOUND;
-	  return NSS_STATUS_NOTFOUND;
-	}
-    }
-
   if (*pat == NULL)
     {
       uintptr_t pad = (-(uintptr_t) buffer
@@ -524,16 +506,47 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
       buflen -= sizeof (struct gaih_addrtuple);
     }
 
-  (*pat)->next = NULL;
-  size_t h_name_len = strlen (host.h_name);
-  if (h_name_len >= buflen)
+  uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data);
+  buffer += pad;
+
+  struct parser_data *data = (void *) buffer;
+
+  if (__builtin_expect (buflen < sizeof *data + 1 + pad, 0))
     goto erange;
-  (*pat)->name = memcpy (buffer, host.h_name, h_name_len + 1);
+  buflen -= pad;
+
+  struct hostent host;
+  int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC,
+			      0);
+  if (__builtin_expect (parse_res < 1, 0))
+    {
+      if (parse_res == -1)
+	{
+	  *herrnop = NETDB_INTERNAL;
+	  return NSS_STATUS_TRYAGAIN;
+	}
+      else
+	{
+	  *herrnop = HOST_NOT_FOUND;
+	  return NSS_STATUS_NOTFOUND;
+	}
+    }
+
+  (*pat)->next = NULL;
   (*pat)->family = host.h_addrtype;
   memcpy ((*pat)->addr, host.h_addr_list[0], host.h_length);
   (*pat)->scopeid = 0;
   assert (host.h_addr_list[1] == NULL);
 
+  /* Undo the alignment for parser_data.  */
+  buffer -= pad;
+  buflen += pad;
+
+  size_t h_name_len = strlen (host.h_name) + 1;
+  if (h_name_len >= buflen)
+    goto erange;
+  (*pat)->name = memcpy (buffer, host.h_name, h_name_len);
+
   free (result);
 
   return NSS_STATUS_SUCCESS;
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 3d1136f463..bc37402583 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,53 @@
+2008-12-09  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread.h (pthread_cleanup_pop): Use { } as empty
+	loop body instead of ; to avoid gcc warnings.
+	(pthread_cleanup_pop_restore_np): Likewise.
+	Patch by Caolán McNamara <caolanm@redhat.com>.
+
+2008-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* pthread_mutex_lock.c (__pthread_mutex_lock): Handle only the
+	fast path here, for robust/PI/PP mutexes call
+	__pthread_mutex_lock_full.  Don't use switch, instead use a series
+	of ifs according to their probability.
+	(__pthread_mutex_lock_full): New function.
+	* pthread_mutex_unlock.c: Include assert.h.
+	(__pthread_mutex_unlock_usercnt): Handle only the
+	fast path here, for robust/PI/PP mutexes call
+	__pthread_mutex_unlock_full.  Don't use switch, instead use a series
+	of ifs according to their probability.
+	(__pthread_mutex_unlock_full): New function.
+	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
+	(__pthread_mutex_lock_full): Define.
+
+2008-12-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TM
+	implementation.  Add necessary padding and.
+	* descr.h (struct pthread): Increase padding for tcbhead_t to 24
+	words.
+
+2008-12-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_WAIT_BITSET
+	and FUTEX_WAKE_BITSET.
+
+2008-12-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Define FUTEX_WAIT_BITSET
+	and FUTEX_WAKE_BITSET.
+	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
+
+2008-11-25  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/alpha, sysdeps/unix/sysv/linux/alpha:
+	Subdirectories moved to ports repository as
+	sysdeps/.../nptl subdirectories.
+
 2008-11-12  Jakub Jelinek  <jakub@redhat.com>
 
 	[BZ #7008]
diff --git a/nptl/descr.h b/nptl/descr.h
index 3c00e1418c..22e774ab7e 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -143,7 +143,7 @@ struct pthread
        is private and subject to change without affecting the official ABI.
        We just have it here in case it might be convenient for some
        implementation-specific instrumentation hack or suchlike.  */
-    void *__padding[16];
+    void *__padding[24];
   };
 
   /* This descriptor's link on the `stack_used' or `__stack_user' list.  */
diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
index 3eb5636955..4cb98beefb 100644
--- a/nptl/pthread_mutex_lock.c
+++ b/nptl/pthread_mutex_lock.c
@@ -37,21 +37,34 @@
 #endif
 
 
+static int __pthread_mutex_lock_full (pthread_mutex_t *mutex)
+     __attribute_noinline__;
+
+
 int
 __pthread_mutex_lock (mutex)
      pthread_mutex_t *mutex;
 {
   assert (sizeof (mutex->__size) >= sizeof (mutex->__data));
 
-  int oldval;
+  unsigned int type = PTHREAD_MUTEX_TYPE (mutex);
+  if (__builtin_expect (type & ~PTHREAD_MUTEX_KIND_MASK_NP, 0))
+    return __pthread_mutex_lock_full (mutex);
+
   pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
 
-  int retval = 0;
-  switch (__builtin_expect (PTHREAD_MUTEX_TYPE (mutex),
-			    PTHREAD_MUTEX_TIMED_NP))
+  if (__builtin_expect (type, PTHREAD_MUTEX_TIMED_NP)
+      == PTHREAD_MUTEX_TIMED_NP)
+    {
+    simple:
+      /* Normal mutex.  */
+      LLL_MUTEX_LOCK (mutex);
+      assert (mutex->__data.__owner == 0);
+    }
+  else if (__builtin_expect (type == PTHREAD_MUTEX_RECURSIVE_NP, 1))
     {
       /* Recursive mutex.  */
-    case PTHREAD_MUTEX_RECURSIVE_NP:
+
       /* Check whether we already hold the mutex.  */
       if (mutex->__data.__owner == id)
 	{
@@ -70,24 +83,9 @@ __pthread_mutex_lock (mutex)
 
       assert (mutex->__data.__owner == 0);
       mutex->__data.__count = 1;
-      break;
-
-      /* Error checking mutex.  */
-    case PTHREAD_MUTEX_ERRORCHECK_NP:
-      /* Check whether we already hold the mutex.  */
-      if (__builtin_expect (mutex->__data.__owner == id, 0))
-	return EDEADLK;
-
-      /* FALLTHROUGH */
-
-    case PTHREAD_MUTEX_TIMED_NP:
-    simple:
-      /* Normal mutex.  */
-      LLL_MUTEX_LOCK (mutex);
-      assert (mutex->__data.__owner == 0);
-      break;
-
-    case PTHREAD_MUTEX_ADAPTIVE_NP:
+    }
+  else if (__builtin_expect (type == PTHREAD_MUTEX_ADAPTIVE_NP, 1))
+    {
       if (! __is_smp)
 	goto simple;
 
@@ -113,8 +111,34 @@ __pthread_mutex_lock (mutex)
 	  mutex->__data.__spins += (cnt - mutex->__data.__spins) / 8;
 	}
       assert (mutex->__data.__owner == 0);
-      break;
+    }
+  else
+    {
+      assert (type == PTHREAD_MUTEX_ERRORCHECK_NP);
+      /* Check whether we already hold the mutex.  */
+      if (__builtin_expect (mutex->__data.__owner == id, 0))
+	return EDEADLK;
+      goto simple;
+    }
 
+ out:
+  /* Record the ownership.  */
+  mutex->__data.__owner = id;
+#ifndef NO_INCR
+  ++mutex->__data.__nusers;
+#endif
+
+  return 0;
+}
+
+static int
+__pthread_mutex_lock_full (pthread_mutex_t *mutex)
+{
+  int oldval;
+  pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
+
+  switch (PTHREAD_MUTEX_TYPE (mutex))
+    {
     case PTHREAD_MUTEX_ROBUST_RECURSIVE_NP:
     case PTHREAD_MUTEX_ROBUST_ERRORCHECK_NP:
     case PTHREAD_MUTEX_ROBUST_NORMAL_NP:
@@ -332,8 +356,7 @@ __pthread_mutex_lock (mutex)
 	    INTERNAL_SYSCALL_DECL (__err);
 	    INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
 			      __lll_private_flag (FUTEX_UNLOCK_PI,
-						  PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
-),
+						  PTHREAD_ROBUST_MUTEX_PSHARED (mutex)),
 			      0, 0);
 
 	    THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
@@ -390,7 +413,7 @@ __pthread_mutex_lock (mutex)
 		return EINVAL;
 	      }
 
-	    retval = __pthread_tpp_change_priority (oldprio, ceiling);
+	    int retval = __pthread_tpp_change_priority (oldprio, ceiling);
 	    if (retval)
 	      return retval;
 
@@ -445,7 +468,7 @@ __pthread_mutex_lock (mutex)
   ++mutex->__data.__nusers;
 #endif
 
-  return retval;
+  return 0;
 }
 #ifndef __pthread_mutex_lock
 strong_alias (__pthread_mutex_lock, pthread_mutex_lock)
diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
index a14c43ece7..0028c5583f 100644
--- a/nptl/pthread_mutex_unlock.c
+++ b/nptl/pthread_mutex_unlock.c
@@ -17,11 +17,16 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <errno.h>
 #include <stdlib.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
 
+static int
+internal_function
+__pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
+     __attribute_noinline__;
 
 int
 internal_function attribute_hidden
@@ -29,12 +34,26 @@ __pthread_mutex_unlock_usercnt (mutex, decr)
      pthread_mutex_t *mutex;
      int decr;
 {
-  int newowner = 0;
+  int type = PTHREAD_MUTEX_TYPE (mutex);
+  if (__builtin_expect (type & ~PTHREAD_MUTEX_KIND_MASK_NP, 0))
+    return __pthread_mutex_unlock_full (mutex, decr);
+
+  if (__builtin_expect (type, PTHREAD_MUTEX_TIMED_NP)
+      == PTHREAD_MUTEX_TIMED_NP)
+    {
+      /* Always reset the owner field.  */
+    normal:
+      mutex->__data.__owner = 0;
+      if (decr)
+	/* One less user.  */
+	--mutex->__data.__nusers;
 
-  switch (__builtin_expect (PTHREAD_MUTEX_TYPE (mutex),
-			    PTHREAD_MUTEX_TIMED_NP))
+      /* Unlock.  */
+      lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex));
+      return 0;
+    }
+  else if (__builtin_expect (type == PTHREAD_MUTEX_RECURSIVE_NP, 1))
     {
-    case PTHREAD_MUTEX_RECURSIVE_NP:
       /* Recursive mutex.  */
       if (mutex->__data.__owner != THREAD_GETMEM (THREAD_SELF, tid))
 	return EPERM;
@@ -43,27 +62,29 @@ __pthread_mutex_unlock_usercnt (mutex, decr)
 	/* We still hold the mutex.  */
 	return 0;
       goto normal;
-
-    case PTHREAD_MUTEX_ERRORCHECK_NP:
+    }
+  else if (__builtin_expect (type == PTHREAD_MUTEX_ADAPTIVE_NP, 1))
+    goto normal;
+  else
+    {
       /* Error checking mutex.  */
+      assert (type == PTHREAD_MUTEX_ERRORCHECK_NP);
       if (mutex->__data.__owner != THREAD_GETMEM (THREAD_SELF, tid)
 	  || ! lll_islocked (mutex->__data.__lock))
 	return EPERM;
-      /* FALLTHROUGH */
+      goto normal;
+    }
+}
 
-    case PTHREAD_MUTEX_TIMED_NP:
-    case PTHREAD_MUTEX_ADAPTIVE_NP:
-      /* Always reset the owner field.  */
-    normal:
-      mutex->__data.__owner = 0;
-      if (decr)
-	/* One less user.  */
-	--mutex->__data.__nusers;
 
-      /* Unlock.  */
-      lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex));
-      break;
+static int
+internal_function
+__pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
+{
+  int newowner = 0;
 
+  switch (PTHREAD_MUTEX_TYPE (mutex))
+    {
     case PTHREAD_MUTEX_ROBUST_RECURSIVE_NP:
       /* Recursive mutex.  */
       if ((mutex->__data.__lock & FUTEX_TID_MASK)
diff --git a/nptl/sysdeps/alpha/Makefile b/nptl/sysdeps/alpha/Makefile
deleted file mode 100644
index 88c106bbbf..0000000000
--- a/nptl/sysdeps/alpha/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-#
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA.
-
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
diff --git a/nptl/sysdeps/alpha/elf/pt-initfini.c b/nptl/sysdeps/alpha/elf/pt-initfini.c
deleted file mode 100644
index ba2e419d61..0000000000
--- a/nptl/sysdeps/alpha/elf/pt-initfini.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Special .init and .fini section support for Alpha.  NPTL version.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * crti.s puts a function prologue at the beginning of the .init and .fini
-   sections and defines global symbols for those addresses, so they can be
-   called as functions.
-
-   * crtn.s puts the corresponding function epilogues in the .init and .fini
-   sections.
-
-   This differs from what would be generated by the generic code in that
-   we save and restore the GP within the function.  In order for linker
-   relaxation to work, the value in the GP register on exit from a function
-   must be valid for the function entry point.  Normally, a function is
-   contained within one object file and this is not an issue, provided
-   that the function reloads the gp after making any function calls.
-   However, _init and _fini are constructed from pieces of many object
-   files, all of which may have different GP values.  So we must reload
-   the GP value from crti.o in crtn.o.  */
-
-__asm__ ("						\n\
-#include \"defs.h\"					\n\
-							\n\
-/*@HEADER_ENDS*/					\n\
-							\n\
-/*@_init_PROLOG_BEGINS*/				\n\
-	.section .init, \"ax\", @progbits		\n\
-	.globl	_init					\n\
-	.type	_init,@function				\n\
-	.usepv	_init,std				\n\
-_init:							\n\
-	ldgp	$29, 0($27)				\n\
-	subq	$30, 16, $30				\n\
-	stq	$26, 0($30)				\n\
-	stq	$29, 8($30)				\n\
-	bsr	$26, __pthread_initialize_minimal_internal !samegp \n\
-	.align 3					\n\
-/*@_init_PROLOG_ENDS*/					\n\
-							\n\
-/*@_init_EPILOG_BEGINS*/				\n\
-	.section .init, \"ax\", @progbits		\n\
-	ldq	$26, 0($30)				\n\
-	ldq	$29, 8($30)				\n\
-	addq	$30, 16, $30				\n\
-	ret						\n\
-/*@_init_EPILOG_ENDS*/					\n\
-							\n\
-/*@_fini_PROLOG_BEGINS*/				\n\
-	.section .fini, \"ax\", @progbits		\n\
-	.globl	_fini					\n\
-	.type	_fini,@function				\n\
-	.usepv	_fini,std				\n\
-_fini:							\n\
-	ldgp	$29, 0($27)				\n\
-	subq	$30, 16, $30				\n\
-	stq	$26, 0($30)				\n\
-	stq	$29, 8($30)				\n\
-	.align 3					\n\
-/*@_fini_PROLOG_ENDS*/					\n\
-							\n\
-/*@_fini_EPILOG_BEGINS*/				\n\
-	.section .fini, \"ax\", @progbits		\n\
-	ldq	$26, 0($30)				\n\
-	ldq	$29, 8($30)				\n\
-	addq	$30, 16, $30				\n\
-	ret						\n\
-/*@_fini_EPILOG_ENDS*/					\n\
-							\n\
-/*@TRAILER_BEGINS*/					\n\
-");
diff --git a/nptl/sysdeps/alpha/pthread_spin_lock.S b/nptl/sysdeps/alpha/pthread_spin_lock.S
deleted file mode 100644
index ce6cd41a42..0000000000
--- a/nptl/sysdeps/alpha/pthread_spin_lock.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson  <rth@twiddle.net>, 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-
-	.text
-	.align	4
-
-	.globl	pthread_spin_lock
-	.ent	pthread_spin_lock
-pthread_spin_lock:
-	.frame	$sp, 0, $26, 0
-	.prologue 0
-
-0:	ldl_l	$1, 0($16)
-	lda	$2, 1
-	lda	$0, 0
-	bne	$1, 1f
-
-	stl_c	$2, 0($16)
-	beq	$2, 1f
-	mb
-	ret
-
-1:	ldl	$1, 0($16)
-	bne	$1, 1b
-	unop
-	br	0b
-
-	.end	pthread_spin_lock
diff --git a/nptl/sysdeps/alpha/pthread_spin_trylock.S b/nptl/sysdeps/alpha/pthread_spin_trylock.S
deleted file mode 100644
index 0948da698b..0000000000
--- a/nptl/sysdeps/alpha/pthread_spin_trylock.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson  <rth@twiddle.net>, 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
-	.text
-	.align	4
-
-	.globl	pthread_spin_trylock
-	.ent	pthread_spin_trylock
-pthread_spin_trylock:
-	.frame	$sp, 0, $26, 0
-	.prologue 0
-
-0:	ldl_l	$1, 0($16)
-	lda	$2, 1
-	lda	$0, EBUSY
-	bne	$1, 1f
-
-	stl_c	$2, 0($16)
-	beq	$2, 2f
-	mb
-	lda	$0, 0
-
-1:	ret
-2:	br	0b
-
-	.end	pthread_spin_trylock
diff --git a/nptl/sysdeps/alpha/pthreaddef.h b/nptl/sysdeps/alpha/pthreaddef.h
deleted file mode 100644
index 26c4daf7b3..0000000000
--- a/nptl/sysdeps/alpha/pthreaddef.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Default stack size.  */
-#define ARCH_STACK_DEFAULT_SIZE	(4 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning.  The ABI requires 16.  */
-#define STACK_ALIGN		16
-
-/* Minimal stack size after allocating thread descriptor and guard size.  */
-#define MINIMAL_REST_STACK	4096
-
-/* Alignment requirement for TCB.  */
-#define TCB_ALIGNMENT		16
-
-/* Location of current stack frame.  */
-#define CURRENT_STACK_FRAME	__builtin_frame_address (0)
-
-/* XXX Until we have a better place keep the definitions here.  */
-
-/* While there is no such syscall.  */
-#define __exit_thread_inline(val) \
-  INLINE_SYSCALL (exit, 1, (val))
diff --git a/nptl/sysdeps/alpha/tcb-offsets.sym b/nptl/sysdeps/alpha/tcb-offsets.sym
deleted file mode 100644
index c21a791040..0000000000
--- a/nptl/sysdeps/alpha/tcb-offsets.sym
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
---
-
--- Abuse tls.h macros to derive offsets relative to the thread register.
--- # define __builtin_thread_pointer()  ((void *) 0)
--- # define thread_offsetof(mem)     ((void *) &THREAD_SELF->mem - (void *) 0)
--- Ho hum, this doesn't work in gcc4, so Know Things about THREAD_SELF
-#define thread_offsetof(mem)	(long)(offsetof(struct pthread, mem) - sizeof(struct pthread))
-
-MULTIPLE_THREADS_OFFSET		thread_offsetof (header.multiple_threads)
-PID_OFFSET			thread_offsetof (pid)
-TID_OFFSET			thread_offsetof (tid)
diff --git a/nptl/sysdeps/alpha/tls.h b/nptl/sysdeps/alpha/tls.h
deleted file mode 100644
index e77b1ffca9..0000000000
--- a/nptl/sysdeps/alpha/tls.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Definition for thread-local data handling.  NPTL/Alpha version.
-   Copyright (C) 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _TLS_H
-#define _TLS_H	1
-
-# include <dl-sysdep.h>
-
-#ifndef __ASSEMBLER__
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-
-/* Type for the dtv.  */
-typedef union dtv
-{
-  size_t counter;
-  struct
-  {
-    void *val;
-    bool is_static;
-  } pointer;
-} dtv_t;
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-
-/* We require TLS support in the tools.  */
-#ifndef HAVE_TLS_SUPPORT
-# error "TLS support is required."
-#endif
-
-#ifndef __ASSEMBLER__
-
-/* Get system call information.  */
-# include <sysdep.h>
-
-/* The TP points to the start of the thread blocks.  */
-# define TLS_DTV_AT_TP	1
-
-/* Get the thread descriptor definition.  */
-# include <nptl/descr.h>
-
-typedef struct
-{
-  dtv_t *dtv;
-  void *__private;
-} tcbhead_t;
-
-/* This is the size of the initial TCB.  */
-# define TLS_INIT_TCB_SIZE	sizeof (tcbhead_t)
-
-/* Alignment requirements for the initial TCB.  */
-# define TLS_INIT_TCB_ALIGN	16
-
-/* This is the size of the TCB.  */
-# define TLS_TCB_SIZE		sizeof (tcbhead_t)
-
-/* This is the size we need before TCB.  */
-# define TLS_PRE_TCB_SIZE	sizeof (struct pthread)
-
-/* Alignment requirements for the TCB.  */
-# define TLS_TCB_ALIGN		16
-
-/* Install the dtv pointer.  The pointer passed is to the element with
-   index -1 which contain the length.  */
-# define INSTALL_DTV(tcbp, dtvp) \
-  (((tcbhead_t *) (tcbp))->dtv = (dtvp) + 1)
-
-/* Install new dtv for current thread.  */
-# define INSTALL_NEW_DTV(dtv) \
-  (THREAD_DTV() = (dtv))
-
-/* Return dtv of given thread descriptor.  */
-# define GET_DTV(tcbp) \
-  (((tcbhead_t *) (tcbp))->dtv)
-
-/* 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, secondcall) \
-  (__builtin_set_thread_pointer ((void *)(tcbp)), NULL)
-
-/* Return the address of the dtv for the current thread.  */
-# define THREAD_DTV() \
-  (((tcbhead_t *) __builtin_thread_pointer ())->dtv)
-
-/* Return the thread descriptor for the current thread.  */
-# define THREAD_SELF \
- ((struct pthread *)__builtin_thread_pointer () - 1)
-
-/* Magic for libthread_db to know how to do THREAD_SELF.  */
-# define DB_THREAD_SELF \
-  REGISTER (64, 64, 32 * 8, -sizeof (struct pthread))
-
-/* Access to data in the thread descriptor is easy.  */
-#define THREAD_GETMEM(descr, member) \
-  descr->member
-#define THREAD_GETMEM_NC(descr, member, idx) \
-  descr->member[idx]
-#define THREAD_SETMEM(descr, member, value) \
-  descr->member = (value)
-#define THREAD_SETMEM_NC(descr, member, idx, value) \
-  descr->member[idx] = (value)
-
-/* Get and set the global scope generation counter in struct pthread.  */
-#define THREAD_GSCOPE_FLAG_UNUSED 0
-#define THREAD_GSCOPE_FLAG_USED   1
-#define THREAD_GSCOPE_FLAG_WAIT   2
-#define THREAD_GSCOPE_RESET_FLAG() \
-  do									     \
-    { int __res								     \
-	= atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,	     \
-			       THREAD_GSCOPE_FLAG_UNUSED);		     \
-      if (__res == THREAD_GSCOPE_FLAG_WAIT)				     \
-	lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE);   \
-    }									     \
-  while (0)
-#define THREAD_GSCOPE_SET_FLAG() \
-  do									     \
-    {									     \
-      THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED;	     \
-      atomic_write_barrier ();						     \
-    }									     \
-  while (0)
-#define THREAD_GSCOPE_WAIT() \
-  GL(dl_wait_lookup_done) ()
-
-#endif /* __ASSEMBLER__ */
-
-#endif	/* tls.h */
diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h
index d5ffd383f5..cc7472eaff 100644
--- a/nptl/sysdeps/pthread/pthread.h
+++ b/nptl/sysdeps/pthread/pthread.h
@@ -655,7 +655,7 @@ extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
 /* 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.  */  \
+      do { } while (0);/* Empty to allow label before pthread_cleanup_pop.  */\
     } while (0);							      \
     __pthread_unregister_cancel (&__cancel_buf);			      \
     if (execute)							      \
@@ -691,7 +691,7 @@ extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
    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.  */  \
+      do { } while (0);/* Empty to allow label before pthread_cleanup_pop.  */\
     } while (0);							      \
     __pthread_unregister_cancel_restore (&__cancel_buf);		      \
     if (execute)							      \
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/Makefile b/nptl/sysdeps/unix/sysv/linux/alpha/Makefile
deleted file mode 100644
index 8c80840798..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
-libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/Versions b/nptl/sysdeps/unix/sysv/linux/alpha/Versions
deleted file mode 100644
index 437c4da28b..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-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/nptl/sysdeps/unix/sysv/linux/alpha/aio_cancel.c b/nptl/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
deleted file mode 100644
index 0d6da82919..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#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/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
deleted file mode 100644
index a7c9740a0a..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Minimum guaranteed maximum values for system limits.  Linux/Alpha version.
-   Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc.
-   This file is part of the 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,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* 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/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
deleted file mode 100644
index 41c0be1978..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Machine-specific pthread type layouts.  Alpha version.
-   Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _BITS_PTHREADTYPES_H
-#define _BITS_PTHREADTYPES_H	1
-
-#define __SIZEOF_PTHREAD_ATTR_T		56
-#define __SIZEOF_PTHREAD_MUTEX_T	40
-#define __SIZEOF_PTHREAD_MUTEXATTR_T	4
-#define __SIZEOF_PTHREAD_COND_T		48
-#define __SIZEOF_PTHREAD_CONDATTR_T	4
-#define __SIZEOF_PTHREAD_RWLOCK_T	56
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T	8
-#define __SIZEOF_PTHREAD_BARRIER_T	32
-#define __SIZEOF_PTHREAD_BARRIERATTR_T	4
-
-
-/* Thread identifiers.  The structure of the attribute type is
-   deliberately not exposed.  */
-typedef unsigned long int pthread_t;
-
-
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_ATTR_T];
-  long int __align;
-} pthread_attr_t;
-
-
-typedef struct __pthread_internal_list
-{
-  struct __pthread_internal_list *__prev;
-  struct __pthread_internal_list *__next;
-} __pthread_list_t;
-
-
-/* Data structures for mutex handling.  The structure of the attribute
-   type is deliberately not exposed.  */
-typedef union
-{
-  struct __pthread_mutex_s
-  {
-    int __lock;
-    unsigned int __count;
-    int __owner;
-    unsigned int __nusers;
-    /* KIND must stay at this position in the structure to maintain
-       binary compatibility.  */
-    int __kind;
-    int __spins;
-    __pthread_list_t __list;
-#define __PTHREAD_MUTEX_HAVE_PREV	1
-  } __data;
-  char __size[__SIZEOF_PTHREAD_MUTEX_T];
-  long int __align;
-} pthread_mutex_t;
-
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
-  int __align;
-} pthread_mutexattr_t;
-
-
-/* Data structure for conditional variable handling.  The structure of
-   the attribute type is deliberately not exposed.  */
-typedef union
-{
-  struct
-  {
-    int __lock;
-    unsigned int __futex;
-    __extension__ unsigned long long int __total_seq;
-    __extension__ unsigned long long int __wakeup_seq;
-    __extension__ unsigned long long int __woken_seq;
-    void *__mutex;
-    unsigned int __nwaiters;
-    unsigned int __broadcast_seq;
-  } __data;
-  char __size[__SIZEOF_PTHREAD_COND_T];
-  __extension__ long long int __align;
-} pthread_cond_t;
-
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_CONDATTR_T];
-  int __align;
-} pthread_condattr_t;
-
-
-/* Keys for thread-specific data */
-typedef unsigned int pthread_key_t;
-
-
-/* Once-only execution */
-typedef int pthread_once_t;
-
-
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K
-/* Data structure for read-write lock variable handling.  The
-   structure of the attribute type is deliberately not exposed.  */
-typedef union
-{
-  struct
-  {
-    int __lock;
-    unsigned int __nr_readers;
-    unsigned int __readers_wakeup;
-    unsigned int __writer_wakeup;
-    unsigned int __nr_readers_queued;
-    unsigned int __nr_writers_queued;
-    int __writer;
-    int __shared;
-    unsigned long int __pad1;
-    unsigned long int __pad2;
-    /* FLAGS must stay at this position in the structure to maintain
-       binary compatibility.  */
-    unsigned int __flags;
-  } __data;
-  char __size[__SIZEOF_PTHREAD_RWLOCK_T];
-  long int __align;
-} pthread_rwlock_t;
-
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
-  long int __align;
-} pthread_rwlockattr_t;
-#endif
-
-
-#ifdef __USE_XOPEN2K
-/* POSIX spinlock data type.  */
-typedef volatile int pthread_spinlock_t;
-
-/* POSIX barriers data type.  The structure of the type is
-   deliberately not exposed.  */
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_BARRIER_T];
-  long int __align;
-} pthread_barrier_t;
-
-typedef union
-{
-  char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
-  int __align;
-} pthread_barrierattr_t;
-#endif
-
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h b/nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
deleted file mode 100644
index be4469c69d..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Machine-specific POSIX semaphore type layouts.  Alpha version.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/nptl/sysdeps/unix/sysv/linux/alpha/clone.S b/nptl/sysdeps/unix/sysv/linux/alpha/clone.S
deleted file mode 100644
index 675a997e97..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/clone.S
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/createthread.c b/nptl/sysdeps/unix/sysv/linux/alpha/createthread.c
deleted file mode 100644
index 6a51e73da6..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/createthread.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Value passed to 'clone' for initialization of the thread register.  */
-#define TLS_VALUE (pd + 1)
-
-/* Get the real implementation.	 */
-#include <nptl/sysdeps/pthread/createthread.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/fork.c b/nptl/sysdeps/unix/sysv/linux/alpha/fork.c
deleted file mode 100644
index ca85fc008f..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/fork.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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)
-
-#include "../fork.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
deleted file mode 100644
index 93188234cb..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Libr	\ary; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _LOWLEVELLOCK_H
-#define _LOWLEVELLOCK_H	1
-
-#include <time.h>
-#include <sys/param.h>
-#include <bits/pthreadtypes.h>
-#include <atomic.h>
-#include <sysdep.h>
-#include <kernel-features.h>
-
-
-#define __NR_futex		394
-#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_PRIVATE_FLAG	128
-
-/* 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
-
-
-#if !defined NOT_IN_libc || defined IS_IN_rtld
-/* In libc.so or ld.so all futexes are private.  */
-# ifdef __ASSUME_PRIVATE_FUTEX
-#  define __lll_private_flag(fl, 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_wait(futexp, val, private) \
-  lll_futex_timed_wait (futexp, val, NULL, private)
-
-#define lll_futex_timed_wait(futexp, val, timespec, private) \
-  ({									      \
-    INTERNAL_SYSCALL_DECL (__err);					      \
-    long int __ret;							      \
-    __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp),		      \
-			      __lll_private_flag (FUTEX_WAIT, private),	      \
-			      (val), (timespec));			      \
-    INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret;		      \
-  })
-
-#define lll_futex_wake(futexp, nr, private) \
-  ({									      \
-    INTERNAL_SYSCALL_DECL (__err);					      \
-    long int __ret;							      \
-    __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp),		      \
-			      __lll_private_flag (FUTEX_WAKE, private),	      \
-			      (nr), 0);					      \
-    INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret;		      \
-  })
-
-#define lll_robust_dead(futexv, private) \
-  do									      \
-    {									      \
-      int *__futexp = &(futexv);					      \
-      atomic_or (__futexp, FUTEX_OWNER_DIED);				      \
-      lll_futex_wake (__futexp, 1, private);				      \
-    }									      \
-  while (0)
-
-/* Returns non-zero if error happened, zero if success.  */
-#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \
-  ({									      \
-    INTERNAL_SYSCALL_DECL (__err);					      \
-    long int __ret;							      \
-    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		      \
-			      __lll_private_flag (FUTEX_CMP_REQUEUE, private),\
-			      (nr_wake), (nr_move), (mutex), (val));	      \
-    INTERNAL_SYSCALL_ERROR_P (__ret, __err);				      \
-  })
-
-/* Returns non-zero if error happened, zero if success.  */
-#define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \
-  ({									      \
-    INTERNAL_SYSCALL_DECL (__err);					      \
-    long int __ret;							      \
-    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		      \
-			      __lll_private_flag (FUTEX_WAKE_OP, private),    \
-			      (nr_wake), (nr_wake2), (futexp2),		      \
-			      FUTEX_OP_CLEAR_WAKE_IF_GT_ONE);		      \
-    INTERNAL_SYSCALL_ERROR_P (__ret, __err);				      \
-  })
-
-
-
-
-static inline int __attribute__((always_inline))
-__lll_trylock(int *futex)
-{
-  return atomic_compare_and_exchange_val_acq (futex, 1, 0) != 0;
-}
-#define lll_trylock(lock)	__lll_trylock (&(lock))
-
-
-static inline int __attribute__((always_inline))
-__lll_cond_trylock(int *futex)
-{
-  return atomic_compare_and_exchange_val_acq (futex, 2, 0) != 0;
-}
-#define lll_cond_trylock(lock)	__lll_cond_trylock (&(lock))
-
-
-static inline int __attribute__((always_inline))
-__lll_robust_trylock(int *futex, int id)
-{
-  return atomic_compare_and_exchange_val_acq (futex, id, 0) != 0;
-}
-#define lll_robust_trylock(lock, id) \
-  __lll_robust_trylock (&(lock), id)
-
-extern void __lll_lock_wait_private (int *futex) attribute_hidden;
-extern void __lll_lock_wait (int *futex, int private) attribute_hidden;
-extern int __lll_robust_lock_wait (int *futex, int private) attribute_hidden;
-
-static inline void __attribute__((always_inline))
-__lll_lock(int *futex, int private)
-{
-  if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 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 int __attribute__ ((always_inline))
-__lll_robust_lock (int *futex, int id, int private)
-{
-  int result = 0;
-  if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)
-    result = __lll_robust_lock_wait (futex, private);
-  return result;
-}
-#define lll_robust_lock(futex, id, private) \
-  __lll_robust_lock (&(futex), id, private)
-
-
-static inline void __attribute__ ((always_inline))
-__lll_cond_lock (int *futex, int private)
-{
-  if (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0)
-    __lll_lock_wait (futex, private);
-}
-#define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private)
-
-
-#define lll_robust_cond_lock(futex, id, private) \
-  __lll_robust_lock (&(futex), (id) | FUTEX_WAITERS, private)
-
-
-extern int __lll_timedlock_wait (int *futex, const struct timespec *,
-				 int private) attribute_hidden;
-extern int __lll_robust_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 result = 0;
-  if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0)
-    result = __lll_timedlock_wait (futex, abstime, private);
-  return result;
-}
-#define lll_timedlock(futex, abstime, private) \
-  __lll_timedlock (&(futex), abstime, private)
-
-
-static inline int __attribute__ ((always_inline))
-__lll_robust_timedlock (int *futex, const struct timespec *abstime,
-			int id, int private)
-{
-  int result = 0;
-  if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)
-    result = __lll_robust_timedlock_wait (futex, abstime, private);
-  return result;
-}
-#define lll_robust_timedlock(futex, abstime, id, private) \
-  __lll_robust_timedlock (&(futex), abstime, id, private)
-
-
-#define __lll_unlock(futex, private) \
-  (void)							\
-    ({ int *__futex = (futex);					\
-       int __oldval = atomic_exchange_rel (__futex, 0);		\
-       if (__builtin_expect (__oldval > 1, 0))			\
-	 lll_futex_wake (__futex, 1, private);			\
-    })
-#define lll_unlock(futex, private) __lll_unlock(&(futex), private)
-
-
-#define __lll_robust_unlock(futex, private) \
-  (void)							\
-    ({ int *__futex = (futex);					\
-       int __oldval = atomic_exchange_rel (__futex, 0);		\
-       if (__builtin_expect (__oldval & FUTEX_WAITERS, 0))	\
-	 lll_futex_wake (__futex, 1, private);			\
-    })
-#define lll_robust_unlock(futex, private) \
-  __lll_robust_unlock(&(futex), 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_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/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
deleted file mode 100644
index ec5d175bec..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <tcb-offsets.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS						\
-	/* Load the current cached pid value across the vfork.  */	\
-	rduniq;								\
-	ldl	a2, PID_OFFSET(v0);					\
-	mov	v0, a1;							\
-	/* Write back its negation, to indicate that the pid value is	\
-	   uninitialized in the the child, and in the window between	\
-	   here and the point at which we restore the value.  */	\
-	negl	a2, t0;							\
-	stl	t0, PID_OFFSET(v0);
-
-PSEUDO (__vfork, vfork, 0)
-
-	/* If we're back in the parent, restore the saved pid.  */
-	beq	v0, 1f
-	stl	a2, PID_OFFSET(a1)
-1:	ret
-
-PSEUDO_END (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c b/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
deleted file mode 100644
index 0e7e9790dd..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "pthreadP.h"
-#include <lowlevellock.h>
-
-
-unsigned long int __fork_generation attribute_hidden;
-
-static void
-clear_once_control (void *arg)
-{
-  pthread_once_t *once_control = (pthread_once_t *) arg;
-
-  *once_control = 0;
-  lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
-}
-
-int
-__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
-{
-  for (;;)
-    {
-      int oldval;
-      int newval;
-      int tmp;
-
-      /* Pseudo code:
-	 newval = __fork_generation | 1;
-	 oldval = *once_control;
-	 if ((oldval & 2) == 0)
-	   *once_control = newval;
-	 Do this atomically.
-      */
-      newval = __fork_generation | 1;
-      __asm __volatile (
-		"1:	ldl_l	%0, %2\n"
-		"	and	%0, 2, %1\n"
-		"	bne	%1, 2f\n"
-		"	mov	%3, %1\n"
-		"	stl_c	%1, %2\n"
-		"	beq	%1, 1b\n"
-		"2:	mb"
-		: "=&r" (oldval), "=&r" (tmp), "=m" (*once_control)
-		: "r" (newval), "m" (*once_control));
-
-      /* Check if the initializer has already been done.  */
-      if ((oldval & 2) != 0)
-	return 0;
-
-      /* Check if another thread already runs the initializer.	*/
-      if ((oldval & 1) == 0)
-	break;
-
-      /* Check whether the initializer execution was interrupted by a fork.  */
-      if (oldval != newval)
-	break;
-
-      /* Same generation, some other thread was faster. Wait.  */
-      lll_futex_wait (once_control, oldval, LLL_PRIVATE);
-    }
-
-  /* This thread is the first here.  Do the initialization.
-     Register a cleanup handler so that in case the thread gets
-     interrupted the initialization can be restarted.  */
-  pthread_cleanup_push (clear_once_control, once_control);
-
-  init_routine ();
-
-  pthread_cleanup_pop (0);
-
-  /* Add one to *once_control to take the bottom 2 bits from 01 to 10.  */
-  atomic_increment (once_control);
-
-  /* Wake up all other threads.  */
-  lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
-
-  return 0;
-}
-weak_alias (__pthread_once, pthread_once)
-strong_alias (__pthread_once, __pthread_once_internal)
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c b/nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c
deleted file mode 100644
index 27fd817e65..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* ??? This is an ass-backwards way to do this.  We should simply define
-   the acquire/release semantics of atomic_exchange_and_add.  And even if
-   we don't do this, we should be using atomic_full_barrier or otherwise.  */
-#define __lll_rel_instr  "mb"
-#include "../sem_post.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
deleted file mode 100644
index 1db847c9eb..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright (C) 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <tls.h>
-#ifndef __ASSEMBLER__
-# include <nptl/pthreadP.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-# ifdef PROF
-#  define PSEUDO_PROF				\
-	.set noat;				\
-	lda	AT, _mcount;			\
-	jsr	AT, (AT), _mcount;		\
-	.set at
-# else
-#  define PSEUDO_PROF
-# endif
-
-/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END
-   besides "ret".  */
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args)			\
-	.globl name;						\
-	.align 4;						\
-	.type name, @function;					\
-	.usepv name, std;					\
-	cfi_startproc;						\
-__LABEL(name)							\
-	ldgp	gp, 0(pv);					\
-	PSEUDO_PROF;						\
-	PSEUDO_PREPARE_ARGS					\
-	SINGLE_THREAD_P(t0);					\
-	bne	t0, $pseudo_cancel;				\
-	lda	v0, SYS_ify(syscall_name);			\
-	call_pal PAL_callsys;					\
-	bne	a3, SYSCALL_ERROR_LABEL;			\
-__LABEL($pseudo_ret)						\
-	.subsection 2;						\
-	cfi_startproc;						\
-__LABEL($pseudo_cancel)						\
-	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);					\
-__LABEL($syscall_error)						\
-	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)
-
-# ifdef 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 !defined NOT_IN_libc
-#  define __local_enable_asynccancel	__libc_enable_asynccancel
-#  define __local_disable_asynccancel	__libc_disable_asynccancel
-#  define __local_multiple_threads	__libc_multiple_threads
-# elif defined 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 defined IS_IN_libpthread || !defined NOT_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/nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c b/nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c
deleted file mode 100644
index 172223af3f..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/timer_create.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c b/nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c
deleted file mode 100644
index 537516e0aa..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/timer_delete.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c b/nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
deleted file mode 100644
index 3f21a73c98..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/timer_getoverr.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c b/nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
deleted file mode 100644
index a50143adc5..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/timer_gettime.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c b/nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c
deleted file mode 100644
index 37baeffacc..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/timer_settime.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/vfork.S b/nptl/sysdeps/unix/sysv/linux/alpha/vfork.S
deleted file mode 100644
index f4ed9311b0..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/alpha/vfork.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <tcb-offsets.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS						\
-	/* Load the current cached pid value across the vfork.  */	\
-	rduniq;								\
-	ldl	a2, PID_OFFSET(v0);					\
-	mov	v0, a1;							\
-	/* If the cached value is initialized (nonzero), then write	\
-	   back its negation, or INT_MIN, to indicate that the pid	\
-	   value is uninitialized in the the child, and in the window	\
-	   between here and the point at which we restore the value.  */ \
-	ldah	t0, -0x8000;						\
-	negl	a2, t1;							\
-	cmovne	a2, t1, t0;						\
-	stl	t0, PID_OFFSET(v0);
-
-PSEUDO (__vfork, vfork, 0)
-
-	/* If we're back in the parent, restore the saved pid.  */
-	beq	v0, 1f
-	stl	a2, PID_OFFSET(a1)
-1:	ret
-
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-weak_alias (__vfork, vfork)
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
index d53559c074..993dd4be26 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -52,6 +52,8 @@
 #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_PRIVATE_FLAG	128
 
 #define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
@@ -86,7 +88,7 @@
 	asm ("andl %%gs:%P1, %0" : "+r" (__fl)				      \
 	     : "i" (offsetof (struct pthread, header.private_futex)));	      \
 	__fl | (fl); }))
-# endif	      
+# endif
 #endif
 
 #ifndef __ASSEMBLER__
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
index ada79851e2..9c4d16f453 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
 
@@ -37,6 +37,8 @@
 #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_PRIVATE_FLAG	128
 
 /* Values for 'private' parameter of locking macros.  Yes, the
@@ -67,7 +69,7 @@
       : (fl))								      \
    : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \
 	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
-# endif	      
+# endif
 #endif
 
 
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
index 80b9a4369e..76a41bc191 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
 
@@ -38,6 +38,8 @@
 #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_PRIVATE_FLAG	128
 
 /* Values for 'private' parameter of locking macros.  Yes, the
@@ -67,7 +69,7 @@
       : (fl))								      \
    : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \
 	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
-# endif	      
+# endif
 #endif
 
 #define lll_futex_wait(futexp, val, private) \
@@ -131,8 +133,8 @@
 			      FUTEX_OP_CLEAR_WAKE_IF_GT_ONE);		      \
     INTERNAL_SYSCALL_ERROR_P (__ret, __err);				      \
   })
-  
-  
+
+
 #ifdef UP
 # define __lll_acq_instr	""
 # define __lll_rel_instr	""
diff --git a/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c b/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
index 93841c5b3e..b417da5e22 100644
--- a/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
+++ b/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
@@ -8,6 +8,7 @@
   lll_robust_cond_lock ((mutex)->__data.__lock, id, \
 			PTHREAD_ROBUST_MUTEX_PSHARED (mutex))
 #define __pthread_mutex_lock __pthread_mutex_cond_lock
+#define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full
 #define NO_INCR
 
 #include <nptl/pthread_mutex_lock.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
index c9347e98b2..558d87d67c 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
 
@@ -36,6 +36,8 @@
 #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_PRIVATE_FLAG	128
 
 /* Values for 'private' parameter of locking macros.  Yes, the
@@ -66,7 +68,7 @@
       : (fl))								      \
    : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \
 	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
-# endif	      
+# endif
 #endif
 
 #define lll_futex_wait(futex, val, private) \
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
index 88e94b9905..e709667e54 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -34,6 +34,8 @@
 #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_PRIVATE_FLAG	128
 
 #define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
index 2cd69a14ce..f76d599c48 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -52,6 +52,8 @@
 #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_PRIVATE_FLAG	128
 
 #define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
@@ -87,7 +89,7 @@
 	asm ("andl %%fs:%P1, %0" : "+r" (__fl)				      \
 	     : "i" (offsetof (struct pthread, header.private_futex)));	      \
 	__fl | (fl); }))
-# endif	      
+# endif
 #endif
 
 /* Initializer for lock.  */
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h
index 79db61c709..172f44579b 100644
--- a/nptl/sysdeps/x86_64/tls.h
+++ b/nptl/sysdeps/x86_64/tls.h
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  nptl/x86_64 version.
-   Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,6 +28,7 @@
 # include <stdlib.h>
 # include <sysdep.h>
 # include <kernel-features.h>
+# include <bits/wordsize.h>
 
 
 /* Type for the dtv.  */
@@ -56,7 +57,14 @@ typedef struct
   unsigned long int vgetcpu_cache[2];
 #ifndef __ASSUME_PRIVATE_FUTEX
   int private_futex;
+#else
+  int __unused1;
+#endif
+#if __WORDSIZE == 64
+  int __pad1;
 #endif
+  /* Reservation of some values for the TM ABI.  */
+  void *__private_tm[5];
 } tcbhead_t;
 
 #else /* __ASSEMBLER__ */
diff --git a/nscd/connections.c b/nscd/connections.c
index e3a67386d0..dd934c1106 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -109,6 +109,7 @@ struct database_dyn dbs[lastdb] =
   [pwddb] = {
     .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
     .prune_lock = PTHREAD_MUTEX_INITIALIZER,
+    .prune_run_lock = PTHREAD_MUTEX_INITIALIZER,
     .enabled = 0,
     .check_file = 1,
     .persistent = 0,
@@ -129,6 +130,7 @@ struct database_dyn dbs[lastdb] =
   [grpdb] = {
     .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
     .prune_lock = PTHREAD_MUTEX_INITIALIZER,
+    .prune_run_lock = PTHREAD_MUTEX_INITIALIZER,
     .enabled = 0,
     .check_file = 1,
     .persistent = 0,
@@ -149,6 +151,7 @@ struct database_dyn dbs[lastdb] =
   [hstdb] = {
     .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
     .prune_lock = PTHREAD_MUTEX_INITIALIZER,
+    .prune_run_lock = PTHREAD_MUTEX_INITIALIZER,
     .enabled = 0,
     .check_file = 1,
     .persistent = 0,
@@ -169,6 +172,7 @@ struct database_dyn dbs[lastdb] =
   [servdb] = {
     .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
     .prune_lock = PTHREAD_MUTEX_INITIALIZER,
+    .prune_run_lock = PTHREAD_MUTEX_INITIALIZER,
     .enabled = 0,
     .check_file = 1,
     .persistent = 0,
@@ -238,8 +242,9 @@ static int resolv_conf_descr = -1;
 /* Negative if SOCK_CLOEXEC is not supported, positive if it is, zero
    before be know the result.  */
 static int have_sock_cloexec;
-/* The paccept syscall was introduced at the same time as SOCK_CLOEXEC.  */
-# define have_paccept -1	// XXX For the time being there is no such call
+#endif
+#ifndef __ASSUME_ACCEPT4
+static int have_accept4;
 #endif
 
 /* Number of times clients had to wait.  */
@@ -975,9 +980,9 @@ invalidate_cache (char *key, int fd)
 
   if (dbs[number].enabled)
     {
-      pthread_mutex_lock (&dbs[number].prune_lock);
+      pthread_mutex_lock (&dbs[number].prune_run_lock);
       prune_cache (&dbs[number], LONG_MAX, fd);
-      pthread_mutex_unlock (&dbs[number].prune_lock);
+      pthread_mutex_unlock (&dbs[number].prune_run_lock);
     }
   else
     {
@@ -1492,6 +1497,7 @@ nscd_run_prune (void *p)
   dbs[my_number].wakeup_time = now + CACHE_PRUNE_INTERVAL + my_number;
 
   pthread_mutex_t *prune_lock = &dbs[my_number].prune_lock;
+  pthread_mutex_t *prune_run_lock = &dbs[my_number].prune_run_lock;
   pthread_cond_t *prune_cond = &dbs[my_number].prune_cond;
 
   pthread_mutex_lock (prune_lock);
@@ -1525,7 +1531,12 @@ nscd_run_prune (void *p)
 
 	  pthread_mutex_unlock (prune_lock);
 
+	  /* We use a separate lock for running the prune function (instead
+	     of keeping prune_lock locked) because this enables concurrent
+	     invocations of cache_add which might modify the timeout value.  */
+	  pthread_mutex_lock (prune_run_lock);
 	  next_wait = prune_cache (&dbs[my_number], prune_now, -1);
+	  pthread_mutex_unlock (prune_run_lock);
 
 	  next_wait = MAX (next_wait, CACHE_PRUNE_INTERVAL);
 	  /* If clients cannot determine for sure whether nscd is running
@@ -1609,8 +1620,8 @@ nscd_run_worker (void *p)
       /* We are done with the list.  */
       pthread_mutex_unlock (&readylist_lock);
 
-#ifndef __ASSUME_SOCK_CLOEXEC
-      if (have_sock_cloexec < 0)
+#ifndef __ASSUME_ACCEPT4
+      if (have_accept4 < 0)
 	{
 	  /* We do not want to block on a short read or so.  */
 	  int fl = fcntl (fd, F_GETFL);
@@ -1819,22 +1830,20 @@ main_loop_poll (void)
 	      /* We have a new incoming connection.  Accept the connection.  */
 	      int fd;
 
-#ifndef __ASSUME_PACCEPT
+#ifndef __ASSUME_ACCEPT4
 	      fd = -1;
-	      if (have_paccept >= 0)
+	      if (have_accept4 >= 0)
 #endif
 		{
-#if 0
-		  fd = TEMP_FAILURE_RETRY (paccept (sock, NULL, NULL, NULL,
+		  fd = TEMP_FAILURE_RETRY (accept4 (sock, NULL, NULL,
 						    SOCK_NONBLOCK));
-#ifndef __ASSUME_PACCEPT
-		  if (have_paccept == 0)
-		    have_paccept = fd != -1 || errno != ENOSYS ? 1 : -1;
-#endif
+#ifndef __ASSUME_ACCEPT4
+		  if (have_accept4 == 0)
+		    have_accept4 = fd != -1 || errno != ENOSYS ? 1 : -1;
 #endif
 		}
-#ifndef __ASSUME_PACCEPT
-	      if (have_paccept < 0)
+#ifndef __ASSUME_ACCEPT4
+	      if (have_accept4 < 0)
 		fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
 #endif
 
@@ -2000,7 +2009,7 @@ main_loop_epoll (int efd)
     /* We cannot use epoll.  */
     return;
 
-#ifdef HAVE_INOTIFY
+# ifdef HAVE_INOTIFY
   if (inotify_fd != -1)
     {
       ev.events = EPOLLRDNORM;
@@ -2010,7 +2019,7 @@ main_loop_epoll (int efd)
 	return;
       nused = 2;
     }
-#endif
+# endif
 
   while (1)
     {
@@ -2025,8 +2034,26 @@ main_loop_epoll (int efd)
 	if (revs[cnt].data.fd == sock)
 	  {
 	    /* A new connection.  */
-	    int fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
+	    int fd;
+
+# ifndef __ASSUME_ACCEPT4
+	    fd = -1;
+	    if (have_accept4 >= 0)
+# endif
+	      {
+		fd = TEMP_FAILURE_RETRY (accept4 (sock, NULL, NULL,
+						  SOCK_NONBLOCK));
+# ifndef __ASSUME_ACCEPT4
+		if (have_accept4 == 0)
+		  have_accept4 = fd != -1 || errno != ENOSYS ? 1 : -1;
+# endif
+	      }
+# ifndef __ASSUME_ACCEPT4
+	    if (have_accept4 < 0)
+	      fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
+# endif
 
+	    /* Use the descriptor if we have not reached the limit.  */
 	    if (fd >= 0)
 	      {
 		/* Try to add the  new descriptor.  */
@@ -2048,7 +2075,7 @@ main_loop_epoll (int efd)
 		  }
 	      }
 	  }
-#ifdef HAVE_INOTIFY
+# ifdef HAVE_INOTIFY
 	else if (revs[cnt].data.fd == inotify_fd)
 	  {
 	    bool to_clear[lastdb] = { false, };
@@ -2104,7 +2131,7 @@ main_loop_epoll (int efd)
 		  pthread_cond_signal (&dbs[dbcnt].prune_cond);
 		}
 	  }
-#endif
+# endif
 	else
 	  {
 	    /* Remove the descriptor from the epoll descriptor.  */
diff --git a/nscd/nscd.c b/nscd/nscd.c
index aa1490936c..08bf1f1260 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998-2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (c) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
@@ -407,7 +407,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"),
 	   "Thorsten Kukuk and Ulrich Drepper");
 }
diff --git a/nscd/nscd.h b/nscd/nscd.h
index 5c77dd3c41..2d77bab989 100644
--- a/nscd/nscd.h
+++ b/nscd/nscd.h
@@ -69,6 +69,7 @@ struct database_dyn
   pthread_rwlock_t lock;
   pthread_cond_t prune_cond;
   pthread_mutex_t prune_lock;
+  pthread_mutex_t prune_run_lock;
   time_t wakeup_time;
 
   int enabled;
diff --git a/nscd/nscd_getai.c b/nscd/nscd_getai.c
index 56f963776e..674a5e7514 100644
--- a/nscd/nscd_getai.c
+++ b/nscd/nscd_getai.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
 
@@ -36,10 +36,24 @@ extern int __nss_not_use_nscd_hosts;
 /* We use the mapping from nscd_gethst.  */
 libc_locked_map_ptr (extern, __hst_map_handle) attribute_hidden;
 
+/* Defined in nscd_gethst_r.c.  */
+extern int __nss_have_localdomain attribute_hidden;
+
 
 int
 __nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
 {
+  if (__builtin_expect (__nss_have_localdomain >= 0, 0))
+    {
+      if (__nss_have_localdomain == 0)
+	__nss_have_localdomain = getenv ("LOCALDOMAIN") != NULL ? 1 : -1;
+      if (__nss_have_localdomain > 0)
+	{
+	  __nss_not_use_nscd_hosts = 1;
+	  return -1;
+	}
+    }
+
   size_t keylen = strlen (key) + 1;
   int gc_cycle;
   int nretries = 0;
diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c
index a211404756..aea8288594 100644
--- a/nscd/nscd_gethst_r.c
+++ b/nscd/nscd_gethst_r.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -97,12 +97,25 @@ libc_freeres_fn (hst_map_free)
 }
 
 
+int __nss_have_localdomain attribute_hidden;
+
 static int
 internal_function
 nscd_gethst_r (const char *key, size_t keylen, request_type type,
 	       struct hostent *resultbuf, char *buffer, size_t buflen,
 	       struct hostent **result, int *h_errnop)
 {
+  if (__builtin_expect (__nss_have_localdomain >= 0, 0))
+    {
+      if (__nss_have_localdomain == 0)
+	__nss_have_localdomain = getenv ("LOCALDOMAIN") != NULL ? 1 : -1;
+      if (__nss_have_localdomain > 0)
+	{
+	  __nss_not_use_nscd_hosts = 1;
+	  return -1;
+	}
+    }
+
   int gc_cycle;
   int nretries = 0;
 
diff --git a/nss/getent.c b/nss/getent.c
index c8173d0b51..97c5875de7 100644
--- a/nss/getent.c
+++ b/nss/getent.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (c) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
@@ -84,7 +84,7 @@ print_version (FILE *stream, struct argp_state *state)
 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\
-"), "2008");
+"), "2009");
   fprintf (stream, gettext ("Written by %s.\n"), "Thorsten Kukuk");
 }
 
diff --git a/posix/getconf.c b/posix/getconf.c
index 6184292202..8f5def08ad 100644
--- a/posix/getconf.c
+++ b/posix/getconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 1995-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 1995-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -1013,7 +1013,7 @@ main (int argc, char *argv[])
 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\
-"), "2008");
+"), "2009");
       fprintf (stderr, gettext ("Written by %s.\n"), "Roland McGrath");
       return 0;
     }
diff --git a/posix/globtest.sh b/posix/globtest.sh
index ad47508a66..aadac87796 100755
--- a/posix/globtest.sh
+++ b/posix/globtest.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 common_objpfx=$1; shift
 elf_objpfx=$1; shift
@@ -28,14 +28,11 @@ export LANG
 
 # Create the arena
 : ${TMPDIR=/tmp}
-testdir=$TMPDIR/globtest-dir
-testout=$TMPDIR/globtest-out
+testdir=$(mktemp -d $TMPDIR/globtest-dir.XXXXXX)
+testout=$(mktemp $TMPDIR/globtest-out.XXXXXX)
 
 trap 'chmod 777 $testdir/noread; rm -fr $testdir $testout' 1 2 3 15
 
-test -d $testdir/noread && chmod 777 $testdir/noread
-rm -fr $testdir 2>/dev/null
-mkdir $testdir
 echo 1 > $testdir/file1
 echo 2 > $testdir/file2
 echo 3 > $testdir/-file3
diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index 24d0fbba7d..79266781b8 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002-2005, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -391,7 +391,8 @@ static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
      internal_function;
 # ifdef RE_ENABLE_I18N
 static void build_wcs_buffer (re_string_t *pstr) internal_function;
-static int build_wcs_upper_buffer (re_string_t *pstr) internal_function;
+static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
+  internal_function;
 # endif /* RE_ENABLE_I18N */
 static void build_upper_buffer (re_string_t *pstr) internal_function;
 static void re_string_translate_buffer (re_string_t *pstr) internal_function;
diff --git a/resolv/Versions b/resolv/Versions
index 4b2e5e9dbc..e5089f9c69 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -102,7 +102,7 @@ libnss_dns {
     _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
     _nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
     _nss_dns_gethostbyaddr2_r;
-    _nss_dns_gethostbyname4_r;
+    # _nss_dns_gethostbyname4_r;
   }
 }
 
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index 6cbfcb63ce..b8e513a929 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -198,8 +198,14 @@ _nss_dns_gethostbyname3_r (const char *name, int af, struct hostent *result,
 			  1024, &host_buffer.ptr, NULL, NULL, NULL);
   if (n < 0)
     {
-      status = (errno == ECONNREFUSED
-		? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND);
+      if (errno == ESRCH)
+	{
+	  status = NSS_STATUS_TRYAGAIN;
+	  h_errno = TRY_AGAIN;
+	}
+      else
+	status = (errno == ECONNREFUSED
+		  ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND);
       *h_errnop = h_errno;
       if (h_errno == TRY_AGAIN)
 	*errnop = EAGAIN;
@@ -304,8 +310,14 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
 			      &ans2p, &nans2p, &resplen2);
   if (n < 0)
     {
-      status = (errno == ECONNREFUSED
-		? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND);
+      if (errno == ESRCH)
+	{
+	  status = NSS_STATUS_TRYAGAIN;
+	  h_errno = TRY_AGAIN;
+	}
+      else
+	status = (errno == ECONNREFUSED
+		  ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND);
       *herrnop = h_errno;
       if (h_errno == TRY_AGAIN)
 	*errnop = EAGAIN;
diff --git a/resolv/res_init.c b/resolv/res_init.c
index a2840968f3..2bf830cc95 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -183,7 +183,7 @@ __res_vinit(res_state statp, int preinit) {
 #endif
 	statp->nsaddr.sin_family = AF_INET;
 	statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
-	statp->nscount = 1;
+	statp->nscount = 0;
 	statp->ndots = 1;
 	statp->pfcode = 0;
 	statp->_vcsock = -1;
@@ -314,9 +314,9 @@ __res_vinit(res_state statp, int preinit) {
 			cp++;
 		    if ((*cp != '\0') && (*cp != '\n')
 			&& __inet_aton(cp, &a)) {
-			statp->nsaddr_list[nserv].sin_addr = a;
-			statp->nsaddr_list[nserv].sin_family = AF_INET;
-			statp->nsaddr_list[nserv].sin_port =
+			statp->nsaddr_list[nservall].sin_addr = a;
+			statp->nsaddr_list[nservall].sin_family = AF_INET;
+			statp->nsaddr_list[nservall].sin_port =
 				htons(NAMESERVER_PORT);
 			nserv++;
 #ifdef _LIBC
@@ -420,8 +420,7 @@ __res_vinit(res_state statp, int preinit) {
 		    continue;
 		}
 	    }
-	    if (nserv > 1)
-		statp->nscount = nserv;
+	    statp->nscount = nservall;
 #ifdef _LIBC
 	    if (nservall - nserv > 0) {
 		statp->_u._ext.nscount6 = nservall - nserv;
diff --git a/resolv/res_send.c b/resolv/res_send.c
index ac5cc0b4fe..f75a26ec23 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -95,6 +95,7 @@ static const char rcsid[] = "$BINDId: res_send.c,v 8.38 2000/03/30 20:16:51 vixi
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <kernel-features.h>
 
 #if PACKETSZ > 65536
 #define MAXPACKET       PACKETSZ
@@ -103,6 +104,13 @@ static const char rcsid[] = "$BINDId: res_send.c,v 8.38 2000/03/30 20:16:51 vixi
 #endif
 
 
+#ifndef __ASSUME_SOCK_CLOEXEC
+static int __have_o_nonblock;
+#else
+# define __have_o_nonblock 0
+#endif
+
+
 /* From ev_streams.c.  */
 
 static inline void
@@ -920,8 +928,20 @@ send_dg(res_state statp,
 	if (EXT(statp).nssocks[ns] == -1) {
 		/* only try IPv6 if IPv6 NS and if not failed before */
 		if ((EXT(statp).nscount6 > 0) && !statp->ipv6_unavail) {
-			EXT(statp).nssocks[ns] =
-			    socket(PF_INET6, SOCK_DGRAM, 0);
+			if (__have_o_nonblock >= 0) {
+				EXT(statp).nssocks[ns] =
+				  socket(PF_INET6, SOCK_DGRAM|SOCK_NONBLOCK,
+					 0);
+#ifndef __ASSUME_SOCK_CLOEXEC
+				if (__have_o_nonblock == 0)
+					__have_o_nonblock
+					  = (EXT(statp).nssocks[ns] == -1
+					     && errno == EINVAL ? -1 : 1);
+#endif
+			}
+			if (__have_o_nonblock < 0)
+				EXT(statp).nssocks[ns] =
+				  socket(PF_INET6, SOCK_DGRAM, 0);
 			if (EXT(statp).nssocks[ns] < 0)
 			    statp->ipv6_unavail = errno == EAFNOSUPPORT;
 			/* If IPv6 socket and nsap is IPv4, make it
@@ -929,8 +949,22 @@ send_dg(res_state statp,
 			else if (nsap->sin6_family == AF_INET)
 			    convaddr4to6(nsap);
 		}
-		if (EXT(statp).nssocks[ns] < 0)
-			EXT(statp).nssocks[ns] = socket(PF_INET, SOCK_DGRAM, 0);
+		if (EXT(statp).nssocks[ns] < 0) {
+			if (__have_o_nonblock >= 0) {
+				EXT(statp).nssocks[ns]
+				  = socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK,
+					   0);
+#ifndef __ASSUME_SOCK_CLOEXEC
+				if (__have_o_nonblock == 0)
+					__have_o_nonblock
+					  = (EXT(statp).nssocks[ns] == -1
+					     && errno == EINVAL ? -1 : 1);
+#endif
+			}
+			if (__have_o_nonblock < 0)
+				EXT(statp).nssocks[ns]
+				  = socket(PF_INET, SOCK_DGRAM, 0);
+		}
 		if (EXT(statp).nssocks[ns] < 0) {
 			*terrno = errno;
 			Perror(statp, stderr, "socket(dg)", errno);
@@ -955,13 +989,15 @@ send_dg(res_state statp,
 			__res_iclose(statp, false);
 			return (0);
 		}
-		/* Make socket non-blocking.  */
-		int fl = __fcntl (EXT(statp).nssocks[ns], F_GETFL);
-		if  (fl != -1)
-			__fcntl (EXT(statp).nssocks[ns], F_SETFL,
-				 fl | O_NONBLOCK);
-		Dprint(statp->options & RES_DEBUG,
-		       (stdout, ";; new DG socket\n"))
+		if (__have_o_nonblock < 0) {
+			/* Make socket non-blocking.  */
+			int fl = __fcntl (EXT(statp).nssocks[ns], F_GETFL);
+			if  (fl != -1)
+				__fcntl (EXT(statp).nssocks[ns], F_SETFL,
+					 fl | O_NONBLOCK);
+			Dprint(statp->options & RES_DEBUG,
+			       (stdout, ";; new DG socket\n"))
+		}
 	}
 
 	/*
diff --git a/scripts/firstversions.awk b/scripts/firstversions.awk
index 8da92ae485..4a20fc0f9d 100644
--- a/scripts/firstversions.awk
+++ b/scripts/firstversions.awk
@@ -1,6 +1,31 @@
 # Script to preprocess Versions.all lists based on "earliest version"
 # specifications in the shlib-versions file.
 
+# Return -1, 0 or 1 according to whether v1 is less than, equal to or
+# greater than v2 as a version string. Simplified from GNU Autoconf
+# version; this one does not need to handle .0x fraction-style versions.
+function vers_compare (v1, v2)
+{
+  while (length(v1) && length(v2)) {
+    if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) {
+      for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue;
+      for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue;
+      d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1);
+      d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1);
+      d1 += 0;
+      d2 += 0;
+    } else {
+      d1 = substr(v1, 1, 1); v1 = substr(v1, 2);
+      d2 = substr(v2, 1, 1); v2 = substr(v2, 2);
+    }
+    if (d1 < d2) return -1;
+    if (d1 > d2) return 1;
+  }
+  if (length(v2)) return -1;
+  if (length(v1)) return 1;
+  return 0;
+}
+
 NF > 2 && $2 == ":" {
   for (i = 0; i <= NF - 3; ++i)
     firstversion[$1, i] = $(3 + i);
@@ -25,10 +50,8 @@ $1 == "}" {
 
 {
   if ((thislib, idx[thislib]) in firstversion) {
-    # XXX relative string comparison loses if we ever have multiple digits
-    # between dots in GLIBC_x.y[.z] names.
     f = v = firstversion[thislib, idx[thislib]];
-    while ($1 >= v) {
+    while (vers_compare($1, v) >= 0) {
       delete firstversion[thislib, idx[thislib]];
       idx[thislib]++;
       if ((thislib, idx[thislib]) in firstversion)
@@ -39,7 +62,7 @@ $1 == "}" {
     if ($1 == v || $1 == f)
       # This version was the specified earliest version itself.
       print;
-    else if ($1 < v) {
+    else if (vers_compare($1, v) < 0) {
       # This version is older than the specified earliest version.
       print "  " $1, "=", v;
       # Record that V has been referred to, so we will be sure to emit it
diff --git a/scripts/versions.awk b/scripts/versions.awk
index e642b3d16e..22b1c8edc8 100644
--- a/scripts/versions.awk
+++ b/scripts/versions.awk
@@ -28,10 +28,8 @@ BEGIN {
   close(defsfile);
 
   tmpfile = buildroot "Versions.tmp";
-  # Note this sorting presumes only single digits between dots for proper
-  # numeric ordering.  sort -n doesn't do quite the right thing either,
-  # and in some non-GNU sort implementations does not sort at all.
-  sort = "sort > " tmpfile;
+  # POSIX sort needed.
+  sort = "sort -t. -k 1,1 -k 2n,2n -k 3 > " tmpfile;
 }
 
 # Remove comment lines.
@@ -135,5 +133,5 @@ END {
   printf("\n");
   closeversion(oldver, veryoldver);
   close_and_move(outfile, real_outfile);
-  system("rm -f " tmpfile);
+  #system("rm -f " tmpfile);
 }
diff --git a/socket/Makefile b/socket/Makefile
index 92a87079e3..0e242b579c 100644
--- a/socket/Makefile
+++ b/socket/Makefile
@@ -27,7 +27,7 @@ headers	:= sys/socket.h sys/un.h bits/sockaddr.h bits/socket.h \
 routines := accept bind connect getpeername getsockname getsockopt	\
 	    listen recv recvfrom recvmsg send sendmsg sendto		\
 	    setsockopt shutdown socket socketpair isfdtype opensock	\
-	    sockatmark
+	    sockatmark accept4
 
 aux	 := have_sock_cloexec
 
diff --git a/socket/Versions b/socket/Versions
index d282eff79e..7a96b1e934 100644
--- a/socket/Versions
+++ b/socket/Versions
@@ -31,4 +31,7 @@ libc {
     # Addition from P1003.1-200x
     sockatmark;
   }
+  GLIBC_2.10 {
+    accept4;
+  }
 }
diff --git a/socket/paccept.c b/socket/accept4.c
index 777dd8c300..40709d5704 100644
--- a/socket/paccept.c
+++ b/socket/accept4.c
@@ -23,21 +23,20 @@
    When a connection arrives, open a new socket to communicate with it,
    set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting
    peer and *ADDR_LEN to the address's actual length, and return the
-   new socket's descriptor, or -1 for errors.  SS is installed as
-   the thread's signal mask and FLAGS are additional flags.  */
+   new socket's descriptor, or -1 for errors.  The operation can be influenced
+   by the FLAGS parameter.  */
 int
-paccept (fd, addr, addr_len, ss, flags)
+accept4 (fd, addr, addr_len, flags)
      int fd;
      __SOCKADDR_ARG addr;
      socklen_t *addr_len;
-     const __sigset_t *ss;
      int flags;
 {
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (paccept)
+libc_hidden_def (accept4)
 
 
-stub_warning (paccept)
+stub_warning (accept4)
 #include <stub-tag.h>
diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index e0a6a5216a..9b1f56f8b0 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -214,6 +214,15 @@ extern int listen (int __fd, int __n) __THROW;
 extern int accept (int __fd, __SOCKADDR_ARG __addr,
 		   socklen_t *__restrict __addr_len);
 
+#ifdef __USE_GNU
+/* Similar to 'accept' but takes an additional parameter to specify flags.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int accept4 (int __fd, __SOCKADDR_ARG __addr,
+		    socklen_t *__restrict __addr_len, int __flags);
+#endif
+
 /* Shut down all or part of the connection open on socket FD.
    HOW determines what to shut down:
      SHUT_RD   = No more receptions;
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 1fe7f70177..a69bdaeb73 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -69,7 +69,7 @@ tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv   \
 		   test-a64l tst-qsort tst-system testmb2 bug-strtod2	    \
 		   tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
 		   tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2	    \
-		   tst-makecontext2 tst-strtod6
+		   tst-makecontext2 tst-strtod6 tst-unsetenv1
 
 include ../Makeconfig
 
diff --git a/stdlib/setenv.c b/stdlib/setenv.c
index 48aaecffe0..fe591b7db8 100644
--- a/stdlib/setenv.c
+++ b/stdlib/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1995-2001,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1995-2001,2004, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -292,19 +292,20 @@ unsetenv (name)
   LOCK;
 
   ep = __environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-	/* Found it.  Remove this pointer by moving later ones back.  */
-	char **dp = ep;
-
-	do
-	  dp[0] = dp[1];
-	while (*dp++);
-	/* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
+  if (ep != NULL)
+    while (*ep != NULL)
+      if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+	{
+	  /* Found it.  Remove this pointer by moving later ones back.  */
+	  char **dp = ep;
+
+	  do
+	    dp[0] = dp[1];
+	  while (*dp++);
+	  /* Continue the loop in case NAME appears again.  */
+	}
+      else
+	++ep;
 
   UNLOCK;
 
diff --git a/stdlib/tst-unsetenv1.c b/stdlib/tst-unsetenv1.c
new file mode 100644
index 0000000000..a2a760d241
--- /dev/null
+++ b/stdlib/tst-unsetenv1.c
@@ -0,0 +1,12 @@
+#include <stdlib.h>
+
+static int
+do_test (void)
+{
+  clearenv ();
+  unsetenv ("FOO");
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/sysdeps/alpha/Implies b/sysdeps/alpha/Implies
deleted file mode 100644
index 18c35908c4..0000000000
--- a/sysdeps/alpha/Implies
+++ /dev/null
@@ -1,6 +0,0 @@
-wordsize-64
-# Alpha uses IEEE 754 single, double and quad precision floating point.
-ieee754/ldbl-128
-ieee754/dbl-64
-ieee754/flt-32
-alpha/soft-fp
diff --git a/sysdeps/alpha/Makefile b/sysdeps/alpha/Makefile
deleted file mode 100644
index 725ae43584..0000000000
--- a/sysdeps/alpha/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (C) 1993, 94, 95, 96, 97, 99 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, write to the Free
-# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA.
-
-ifeq ($(subdir),db2)
-CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_ALPHA=1
-endif
-
-ifeq ($(subdir),gmon)
-sysdep_routines += _mcount
-endif
-
-ifeq ($(subdir),gnulib)
-sysdep_routines += divl divlu divq divqu reml remlu remq remqu
-endif
-
-ifeq ($(subdir),string)
-sysdep_routines += stxcpy stxncpy
-endif
-
-ifeq ($(subdir),elf)
-# The ld.so startup code cannot use literals until it self-relocates.
-CFLAGS-rtld.c = -mbuild-constants
-endif
-
-# Build everything with full IEEE math support, and with dynamic rounding;
-# there are a number of math routines that are defined to work with the
-# "current" rounding mode, and it's easiest to set this with all of them.
-sysdep-CFLAGS += -mieee -mfp-rounding-mode=d
-
-# libc.so requires about 16k for the small data area, which is well
-# below the 64k maximum.
-pic-ccflag = -fpic
diff --git a/sysdeps/alpha/Subdirs b/sysdeps/alpha/Subdirs
deleted file mode 100644
index 87eadf3024..0000000000
--- a/sysdeps/alpha/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/sysdeps/alpha/Versions b/sysdeps/alpha/Versions
deleted file mode 100644
index 76b67a6b90..0000000000
--- a/sysdeps/alpha/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-libc {
-  GLIBC_2.0 {
-    # functions with special/multiple interfaces
-    __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
-    __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
-  }
-}
-libm {
-  GLIBC_2.0 {
-    # used in inline functions.
-    __atan2;
-  }
-}
diff --git a/sysdeps/alpha/__longjmp.S b/sysdeps/alpha/__longjmp.S
deleted file mode 100644
index bed26658de..0000000000
--- a/sysdeps/alpha/__longjmp.S
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ASSEMBLY__
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
-
-ENTRY(__longjmp)
-#ifdef PROF
-	ldgp    gp, 0(pv)
-	.set noat
-	lda     AT, _mcount
-	jsr     AT, (AT), _mcount
-	.set at
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	mov     a1, v0
-	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)
-	ldq     ra, JB_PC*8(a0)
-	ldq     fp, JB_FP*8(a0)
-	ldq     t0, JB_SP*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)
-#ifdef PTR_DEMANGLE
-	PTR_DEMANGLE(ra, t1)
-	PTR_DEMANGLE2(t0, t1)
-	PTR_DEMANGLE2(fp, t1)
-#endif
-	cmoveq  v0, 1, v0
-	mov     t0, sp
-	ret
-
-END(__longjmp)
diff --git a/sysdeps/alpha/_mcount.S b/sysdeps/alpha/_mcount.S
deleted file mode 100644
index c4c921b4f7..0000000000
--- a/sysdeps/alpha/_mcount.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Machine-specific calling sequence for `mcount' profiling function.  alpha
-   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Assembly stub to invoke _mcount().  Compiler generated code calls
-   this stub after executing a function's prologue and without saving any
-   registers.  It is therefore necessary to preserve a0..a5 as they may
-   contain function arguments.  To work correctly with frame- less
-   functions, it is also necessary to preserve ra.  Finally, division
-   routines are invoked with a special calling convention and the
-   compiler treats those calls as if they were instructions.  In
-   particular, it doesn't save any of the temporary registers (caller
-   saved registers).  It is therefore necessary to preserve all
-   caller-saved registers as well.
-
-   Upon entering _mcount, register $at holds the return address and ra
-   holds the return address of the function's caller (selfpc and frompc,
-   respectively in gmon.c language...). */
-
-#include <sysdep.h>
-
-	.set	noat
-	.set	noreorder
-
-LEAF(_mcount, 0xb0)
-	.prologue 0
-
-	subq	 sp, 0xb0, sp
-	stq	 a0, 0x00(sp)
-	mov	 ra, a0		# a0 = caller-pc
-	stq	 a1, 0x08(sp)
-	mov	$at, a1		# a1 = self-pc
-	stq	$at, 0x10(sp)
-
-	stq	 a2, 0x18(sp)
-	stq	 a3, 0x20(sp)
-	stq	 a4, 0x28(sp)
-	stq	 a5, 0x30(sp)
-	stq	 ra, 0x38(sp)
-	stq	 gp, 0x40(sp)
-
-	br	gp, 1f
-1:	ldgp	gp, 0(gp)
-
-	stq	 t0, 0x48(sp)
-	stq	 t1, 0x50(sp)
-	stq	 t2, 0x58(sp)
-	stq	 t3, 0x60(sp)
-	stq	 t4, 0x68(sp)
-	stq	 t5, 0x70(sp)
-	stq	 t6, 0x78(sp)
-
-	stq	 t7, 0x80(sp)
-	stq	 t8, 0x88(sp)
-	stq	 t9, 0x90(sp)
-	stq	t10, 0x98(sp)
-	stq	t11, 0xa0(sp)
-	stq	 v0, 0xa8(sp)
-
-	jsr	ra, __mcount
-
-	ldq	 a0, 0x00(sp)
-	ldq	 a1, 0x08(sp)
-	ldq	$at, 0x10(sp)	# restore self-pc
-	ldq	 a2, 0x18(sp)
-	ldq	 a3, 0x20(sp)
-	ldq	 a4, 0x28(sp)
-	ldq	 a5, 0x30(sp)
-	ldq	 ra, 0x38(sp)
-	ldq	 gp, 0x40(sp)
-	mov	$at, pv		# make pv point to return address
-	ldq	 t0, 0x48(sp)	# this is important under OSF/1 to
-	ldq	 t1, 0x50(sp)	# ensure that the code that we return
-	ldq	 t2, 0x58(sp)	# can correctly compute its gp
-	ldq	 t3, 0x60(sp)
-	ldq	 t4, 0x68(sp)
-	ldq	 t5, 0x70(sp)
-	ldq	 t6, 0x78(sp)
-	ldq	 t7, 0x80(sp)
-	ldq	 t8, 0x88(sp)
-	ldq	 t9, 0x90(sp)
-	ldq	t10, 0x98(sp)
-	ldq	t11, 0xa0(sp)
-	ldq	 v0, 0xa8(sp)
-
-	addq	sp, 0xb0, sp
-	ret	zero,($at),1
-
-	END(_mcount)
-
-weak_alias (_mcount, mcount)
diff --git a/sysdeps/alpha/add_n.s b/sysdeps/alpha/add_n.s
deleted file mode 100644
index e0dc2fd0c4..0000000000
--- a/sysdeps/alpha/add_n.s
+++ /dev/null
@@ -1,120 +0,0 @@
- # Alpha __mpn_add_n -- Add two limb vectors of the same length > 0 and
- # store sum in a third limb vector.
-
- # Copyright (C) 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	$16
- # s1_ptr	$17
- # s2_ptr	$18
- # size		$19
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_add_n
-	.ent	__mpn_add_n
-__mpn_add_n:
-	.frame	$30,0,$26,0
-
-	ldq	$3,0($17)
-	ldq	$4,0($18)
-
-	subq	$19,1,$19
-	and	$19,4-1,$2	# number of limbs in first loop
-	bis	$31,$31,$0
-	beq	$2,.L0		# if multiple of 4 limbs, skip first loop
-
-	subq	$19,$2,$19
-
-.Loop0:	subq	$2,1,$2
-	ldq	$5,8($17)
-	addq	$4,$0,$4
-	ldq	$6,8($18)
-	cmpult	$4,$0,$1
-	addq	$3,$4,$4
-	cmpult	$4,$3,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-
-	addq	$17,8,$17
-	addq	$18,8,$18
-	bis	$5,$5,$3
-	bis	$6,$6,$4
-	addq	$16,8,$16
-	bne	$2,.Loop0
-
-.L0:	beq	$19,.Lend
-
-	.align	3
-.Loop:	subq	$19,4,$19
-
-	ldq	$5,8($17)
-	addq	$4,$0,$4
-	ldq	$6,8($18)
-	cmpult	$4,$0,$1
-	addq	$3,$4,$4
-	cmpult	$4,$3,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-
-	ldq	$3,16($17)
-	addq	$6,$0,$6
-	ldq	$4,16($18)
-	cmpult	$6,$0,$1
-	addq	$5,$6,$6
-	cmpult	$6,$5,$0
-	stq	$6,8($16)
-	or	$0,$1,$0
-
-	ldq	$5,24($17)
-	addq	$4,$0,$4
-	ldq	$6,24($18)
-	cmpult	$4,$0,$1
-	addq	$3,$4,$4
-	cmpult	$4,$3,$0
-	stq	$4,16($16)
-	or	$0,$1,$0
-
-	ldq	$3,32($17)
-	addq	$6,$0,$6
-	ldq	$4,32($18)
-	cmpult	$6,$0,$1
-	addq	$5,$6,$6
-	cmpult	$6,$5,$0
-	stq	$6,24($16)
-	or	$0,$1,$0
-
-	addq	$17,32,$17
-	addq	$18,32,$18
-	addq	$16,32,$16
-	bne	$19,.Loop
-
-.Lend:	addq	$4,$0,$4
-	cmpult	$4,$0,$1
-	addq	$3,$4,$4
-	cmpult	$4,$3,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-	ret	$31,($26),1
-
-	.end	__mpn_add_n
diff --git a/sysdeps/alpha/addmul_1.s b/sysdeps/alpha/addmul_1.s
deleted file mode 100644
index da26c692ae..0000000000
--- a/sysdeps/alpha/addmul_1.s
+++ /dev/null
@@ -1,92 +0,0 @@
- # Alpha 21064 __mpn_addmul_1 -- Multiply a limb vector with a limb and add
- # the result to a second limb vector.
-
- # Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # s2_limb	r19
-
- # This code runs at 42 cycles/limb on EV4 and 18 cycles/limb on EV5.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_addmul_1
-	.ent	__mpn_addmul_1 2
-__mpn_addmul_1:
-	.frame	$30,0,$26
-
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	subq	$18,1,$18	# size--
-	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	umulh	$2,$19,$0	# $0 = prod_high
-	beq	$18,.Lend1	# jump if size was == 1
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	subq	$18,1,$18	# size--
-	addq	$5,$3,$3
-	cmpult	$3,$5,$4
-	stq	$3,0($16)
-	addq	$16,8,$16	# res_ptr++
-	beq	$18,.Lend2	# jump if size was == 2
-
-	.align	3
-.Loop:	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	subq	$18,1,$18	# size--
-	umulh	$2,$19,$4	# $4 = cy_limb
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,$3,$3
-	cmpult	$3,$5,$5
-	stq	$3,0($16)
-	addq	$16,8,$16	# res_ptr++
-	addq	$5,$0,$0	# combine carries
-	bne	$18,.Loop
-
-.Lend2:	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	umulh	$2,$19,$4	# $4 = cy_limb
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,$3,$3
-	cmpult	$3,$5,$5
-	stq	$3,0($16)
-	addq	$5,$0,$0	# combine carries
-	addq	$4,$0,$0	# cy_limb = prod_high + cy
-	ret	$31,($26),1
-.Lend1:	addq	$5,$3,$3
-	cmpult	$3,$5,$5
-	stq	$3,0($16)
-	addq	$0,$5,$0
-	ret	$31,($26),1
-
-	.end	__mpn_addmul_1
diff --git a/sysdeps/alpha/alphaev5/add_n.s b/sysdeps/alpha/alphaev5/add_n.s
deleted file mode 100644
index 1ff8e9543f..0000000000
--- a/sysdeps/alpha/alphaev5/add_n.s
+++ /dev/null
@@ -1,148 +0,0 @@
- # Alpha __mpn_add_n -- Add two limb vectors of the same length > 0 and
- # store sum in a third limb vector.
-
- # Copyright (C) 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	$16
- # s1_ptr	$17
- # s2_ptr	$18
- # size		$19
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_add_n
-	.ent	__mpn_add_n
-__mpn_add_n:
-	.frame	$30,0,$26,0
-
-	or	$31,$31,$25		# clear cy
-	subq	$19,4,$19		# decr loop cnt
-	blt	$19,.Lend2		# if less than 4 limbs, goto 2nd loop
- # Start software pipeline for 1st loop
-	ldq	$0,0($18)
-	ldq	$1,8($18)
-	ldq	$4,0($17)
-	ldq	$5,8($17)
-	addq	$17,32,$17		# update s1_ptr
-	ldq	$2,16($18)
-	addq	$0,$4,$20		# 1st main add
-	ldq	$3,24($18)
-	subq	$19,4,$19		# decr loop cnt
-	ldq	$6,-16($17)
-	cmpult	$20,$0,$25		# compute cy from last add
-	ldq	$7,-8($17)
-	addq	$1,$25,$28		# cy add
-	addq	$18,32,$18		# update s2_ptr
-	addq	$5,$28,$21		# 2nd main add
-	cmpult	$28,$25,$8		# compute cy from last add
-	blt	$19,.Lend1		# if less than 4 limbs remain, jump
- # 1st loop handles groups of 4 limbs in a software pipeline
-	.align	4
-.Loop:	cmpult	$21,$28,$25		# compute cy from last add
-	ldq	$0,0($18)
-	or	$8,$25,$25		# combine cy from the two adds
-	ldq	$1,8($18)
-	addq	$2,$25,$28		# cy add
-	ldq	$4,0($17)
-	addq	$28,$6,$22		# 3rd main add
-	ldq	$5,8($17)
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$22,$28,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-	stq	$21,8($16)
-	addq	$3,$25,$28		# cy add
-	addq	$28,$7,$23		# 4th main add
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$23,$28,$25		# compute cy from last add
-	addq	$17,32,$17		# update s1_ptr
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,32,$16		# update res_ptr
-	addq	$0,$25,$28		# cy add
-	ldq	$2,16($18)
-	addq	$4,$28,$20		# 1st main add
-	ldq	$3,24($18)
-	cmpult	$28,$25,$8		# compute cy from last add
-	ldq	$6,-16($17)
-	cmpult	$20,$28,$25		# compute cy from last add
-	ldq	$7,-8($17)
-	or	$8,$25,$25		# combine cy from the two adds
-	subq	$19,4,$19		# decr loop cnt
-	stq	$22,-16($16)
-	addq	$1,$25,$28		# cy add
-	stq	$23,-8($16)
-	addq	$5,$28,$21		# 2nd main add
-	addq	$18,32,$18		# update s2_ptr
-	cmpult	$28,$25,$8		# compute cy from last add
-	bge	$19,.Loop
- # Finish software pipeline for 1st loop
-.Lend1:	cmpult	$21,$28,$25		# compute cy from last add
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$2,$25,$28		# cy add
-	addq	$28,$6,$22		# 3rd main add
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$22,$28,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-	stq	$21,8($16)
-	addq	$3,$25,$28		# cy add
-	addq	$28,$7,$23		# 4th main add
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$23,$28,$25		# compute cy from last add
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,32,$16		# update res_ptr
-	stq	$22,-16($16)
-	stq	$23,-8($16)
-.Lend2:	addq	$19,4,$19		# restore loop cnt
-	beq	$19,.Lret
- # Start software pipeline for 2nd loop
-	ldq	$0,0($18)
-	ldq	$4,0($17)
-	subq	$19,1,$19
-	beq	$19,.Lend0
- # 2nd loop handles remaining 1-3 limbs
-	.align	4
-.Loop0:	addq	$0,$25,$28		# cy add
-	ldq	$0,8($18)
-	addq	$4,$28,$20		# main add
-	ldq	$4,8($17)
-	addq	$18,8,$18
-	cmpult	$28,$25,$8		# compute cy from last add
-	addq	$17,8,$17
-	stq	$20,0($16)
-	cmpult	$20,$28,$25		# compute cy from last add
-	subq	$19,1,$19		# decr loop cnt
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,8,$16
-	bne	$19,.Loop0
-.Lend0:	addq	$0,$25,$28		# cy add
-	addq	$4,$28,$20		# main add
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$20,$28,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-
-.Lret:	or	$25,$31,$0		# return cy
-	ret	$31,($26),1
-	.end	__mpn_add_n
diff --git a/sysdeps/alpha/alphaev5/lshift.s b/sysdeps/alpha/alphaev5/lshift.s
deleted file mode 100644
index e41ce9a91e..0000000000
--- a/sysdeps/alpha/alphaev5/lshift.s
+++ /dev/null
@@ -1,174 +0,0 @@
- # Alpha EV5 __mpn_lshift --
-
- # Copyright (C) 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # cnt		r19
-
- # This code runs at 3.25 cycles/limb on the EV5.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_lshift
-	.ent	__mpn_lshift
-__mpn_lshift:
-	.frame	$30,0,$26,0
-
-	s8addq	$18,$17,$17	# make r17 point at end of s1
-	ldq	$4,-8($17)	# load first limb
-	subq	$31,$19,$20
-	s8addq	$18,$16,$16	# make r16 point at end of RES
-	subq	$18,1,$18
-	and	$18,4-1,$28	# number of limbs in first loop
-	srl	$4,$20,$0	# compute function result
-
-	beq	$28,.L0
-	subq	$18,$28,$18
-
-	.align	3
-.Loop0:	ldq	$3,-16($17)
-	subq	$16,8,$16
-	sll	$4,$19,$5
-	subq	$17,8,$17
-	subq	$28,1,$28
-	srl	$3,$20,$6
-	or	$3,$3,$4
-	or	$5,$6,$8
-	stq	$8,0($16)
-	bne	$28,.Loop0
-
-.L0:	sll	$4,$19,$24
-	beq	$18,.Lend
- # warm up phase 1
-	ldq	$1,-16($17)
-	subq	$18,4,$18
-	ldq	$2,-24($17)
-	ldq	$3,-32($17)
-	ldq	$4,-40($17)
-	beq	$18,.Lend1
- # warm up phase 2
-	srl	$1,$20,$7
-	sll	$1,$19,$21
-	srl	$2,$20,$8
-	ldq	$1,-48($17)
-	sll	$2,$19,$22
-	ldq	$2,-56($17)
-	srl	$3,$20,$5
-	or	$7,$24,$7
-	sll	$3,$19,$23
-	or	$8,$21,$8
-	srl	$4,$20,$6
-	ldq	$3,-64($17)
-	sll	$4,$19,$24
-	ldq	$4,-72($17)
-	subq	$18,4,$18
-	beq	$18,.Lend2
-	.align  4
- # main loop
-.Loop:	stq	$7,-8($16)
-	or	$5,$22,$5
-	stq	$8,-16($16)
-	or	$6,$23,$6
-
-	srl	$1,$20,$7
-	subq	$18,4,$18
-	sll	$1,$19,$21
-	unop	# ldq	$31,-96($17)
-
-	srl	$2,$20,$8
-	ldq	$1,-80($17)
-	sll	$2,$19,$22
-	ldq	$2,-88($17)
-
-	stq	$5,-24($16)
-	or	$7,$24,$7
-	stq	$6,-32($16)
-	or	$8,$21,$8
-
-	srl	$3,$20,$5
-	unop	# ldq	$31,-96($17)
-	sll	$3,$19,$23
-	subq	$16,32,$16
-
-	srl	$4,$20,$6
-	ldq	$3,-96($17)
-	sll	$4,$19,$24
-	ldq	$4,-104($17)
-
-	subq	$17,32,$17
-	bne	$18,.Loop
- # cool down phase 2/1
-.Lend2:	stq	$7,-8($16)
-	or	$5,$22,$5
-	stq	$8,-16($16)
-	or	$6,$23,$6
-	srl	$1,$20,$7
-	sll	$1,$19,$21
-	srl	$2,$20,$8
-	sll	$2,$19,$22
-	stq	$5,-24($16)
-	or	$7,$24,$7
-	stq	$6,-32($16)
-	or	$8,$21,$8
-	srl	$3,$20,$5
-	sll	$3,$19,$23
-	srl	$4,$20,$6
-	sll	$4,$19,$24
- # cool down phase 2/2
-	stq	$7,-40($16)
-	or	$5,$22,$5
-	stq	$8,-48($16)
-	or	$6,$23,$6
-	stq	$5,-56($16)
-	stq	$6,-64($16)
- # cool down phase 2/3
-	stq	$24,-72($16)
-	ret	$31,($26),1
-
- # cool down phase 1/1
-.Lend1:	srl	$1,$20,$7
-	sll	$1,$19,$21
-	srl	$2,$20,$8
-	sll	$2,$19,$22
-	srl	$3,$20,$5
-	or	$7,$24,$7
-	sll	$3,$19,$23
-	or	$8,$21,$8
-	srl	$4,$20,$6
-	sll	$4,$19,$24
- # cool down phase 1/2
-	stq	$7,-8($16)
-	or	$5,$22,$5
-	stq	$8,-16($16)
-	or	$6,$23,$6
-	stq	$5,-24($16)
-	stq	$6,-32($16)
-	stq	$24,-40($16)
-	ret	$31,($26),1
-
-.Lend:	stq	$24,-8($16)
-	ret	$31,($26),1
-	.end	__mpn_lshift
diff --git a/sysdeps/alpha/alphaev5/rshift.s b/sysdeps/alpha/alphaev5/rshift.s
deleted file mode 100644
index 9948e50002..0000000000
--- a/sysdeps/alpha/alphaev5/rshift.s
+++ /dev/null
@@ -1,172 +0,0 @@
- # Alpha EV5 __mpn_rshift --
-
- # Copyright (C) 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # cnt		r19
-
- # This code runs at 3.25 cycles/limb on the EV5.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_rshift
-	.ent	__mpn_rshift
-__mpn_rshift:
-	.frame	$30,0,$26,0
-
-	ldq	$4,0($17)	# load first limb
-	subq	$31,$19,$20
-	subq	$18,1,$18
-	and	$18,4-1,$28	# number of limbs in first loop
-	sll	$4,$20,$0	# compute function result
-
-	beq	$28,.L0
-	subq	$18,$28,$18
-
-	.align	3
-.Loop0:	ldq	$3,8($17)
-	addq	$16,8,$16
-	srl	$4,$19,$5
-	addq	$17,8,$17
-	subq	$28,1,$28
-	sll	$3,$20,$6
-	or	$3,$3,$4
-	or	$5,$6,$8
-	stq	$8,-8($16)
-	bne	$28,.Loop0
-
-.L0:	srl	$4,$19,$24
-	beq	$18,.Lend
- # warm up phase 1
-	ldq	$1,8($17)
-	subq	$18,4,$18
-	ldq	$2,16($17)
-	ldq	$3,24($17)
-	ldq	$4,32($17)
-	beq	$18,.Lend1
- # warm up phase 2
-	sll	$1,$20,$7
-	srl	$1,$19,$21
-	sll	$2,$20,$8
-	ldq	$1,40($17)
-	srl	$2,$19,$22
-	ldq	$2,48($17)
-	sll	$3,$20,$5
-	or	$7,$24,$7
-	srl	$3,$19,$23
-	or	$8,$21,$8
-	sll	$4,$20,$6
-	ldq	$3,56($17)
-	srl	$4,$19,$24
-	ldq	$4,64($17)
-	subq	$18,4,$18
-	beq	$18,.Lend2
-	.align  4
- # main loop
-.Loop:	stq	$7,0($16)
-	or	$5,$22,$5
-	stq	$8,8($16)
-	or	$6,$23,$6
-
-	sll	$1,$20,$7
-	subq	$18,4,$18
-	srl	$1,$19,$21
-	unop	# ldq	$31,-96($17)
-
-	sll	$2,$20,$8
-	ldq	$1,72($17)
-	srl	$2,$19,$22
-	ldq	$2,80($17)
-
-	stq	$5,16($16)
-	or	$7,$24,$7
-	stq	$6,24($16)
-	or	$8,$21,$8
-
-	sll	$3,$20,$5
-	unop	# ldq	$31,-96($17)
-	srl	$3,$19,$23
-	addq	$16,32,$16
-
-	sll	$4,$20,$6
-	ldq	$3,88($17)
-	srl	$4,$19,$24
-	ldq	$4,96($17)
-
-	addq	$17,32,$17
-	bne	$18,.Loop
- # cool down phase 2/1
-.Lend2:	stq	$7,0($16)
-	or	$5,$22,$5
-	stq	$8,8($16)
-	or	$6,$23,$6
-	sll	$1,$20,$7
-	srl	$1,$19,$21
-	sll	$2,$20,$8
-	srl	$2,$19,$22
-	stq	$5,16($16)
-	or	$7,$24,$7
-	stq	$6,24($16)
-	or	$8,$21,$8
-	sll	$3,$20,$5
-	srl	$3,$19,$23
-	sll	$4,$20,$6
-	srl	$4,$19,$24
- # cool down phase 2/2
-	stq	$7,32($16)
-	or	$5,$22,$5
-	stq	$8,40($16)
-	or	$6,$23,$6
-	stq	$5,48($16)
-	stq	$6,56($16)
- # cool down phase 2/3
-	stq	$24,64($16)
-	ret	$31,($26),1
-
- # cool down phase 1/1
-.Lend1:	sll	$1,$20,$7
-	srl	$1,$19,$21
-	sll	$2,$20,$8
-	srl	$2,$19,$22
-	sll	$3,$20,$5
-	or	$7,$24,$7
-	srl	$3,$19,$23
-	or	$8,$21,$8
-	sll	$4,$20,$6
-	srl	$4,$19,$24
- # cool down phase 1/2
-	stq	$7,0($16)
-	or	$5,$22,$5
-	stq	$8,8($16)
-	or	$6,$23,$6
-	stq	$5,16($16)
-	stq	$6,24($16)
-	stq	$24,32($16)
-	ret	$31,($26),1
-
-.Lend:	stq	$24,0($16)
-	ret	$31,($26),1
-	.end	__mpn_rshift
diff --git a/sysdeps/alpha/alphaev5/sub_n.s b/sysdeps/alpha/alphaev5/sub_n.s
deleted file mode 100644
index 3c706cf237..0000000000
--- a/sysdeps/alpha/alphaev5/sub_n.s
+++ /dev/null
@@ -1,149 +0,0 @@
- # Alpha __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
- # store difference in a third limb vector.
-
- # Copyright (C) 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	$16
- # s1_ptr	$17
- # s2_ptr	$18
- # size		$19
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_sub_n
-	.ent	__mpn_sub_n
-__mpn_sub_n:
-	.frame	$30,0,$26,0
-
-	or	$31,$31,$25		# clear cy
-	subq	$19,4,$19		# decr loop cnt
-	blt	$19,.Lend2		# if less than 4 limbs, goto 2nd loop
- # Start software pipeline for 1st loop
-	ldq	$0,0($18)
-	ldq	$1,8($18)
-	ldq	$4,0($17)
-	ldq	$5,8($17)
-	addq	$17,32,$17		# update s1_ptr
-	ldq	$2,16($18)
-	subq	$4,$0,$20		# 1st main sub
-	ldq	$3,24($18)
-	subq	$19,4,$19		# decr loop cnt
-	ldq	$6,-16($17)
-	cmpult	$4,$20,$25		# compute cy from last sub
-	ldq	$7,-8($17)
-	addq	$1,$25,$28		# cy add
-	addq	$18,32,$18		# update s2_ptr
-	subq	$5,$28,$21		# 2nd main sub
-	cmpult	$28,$25,$8		# compute cy from last add
-	blt	$19,.Lend1		# if less than 4 limbs remain, jump
- # 1st loop handles groups of 4 limbs in a software pipeline
-	.align	4
-.Loop:	cmpult	$5,$21,$25		# compute cy from last add
-	ldq	$0,0($18)
-	or	$8,$25,$25		# combine cy from the two adds
-	ldq	$1,8($18)
-	addq	$2,$25,$28		# cy add
-	ldq	$4,0($17)
-	subq	$6,$28,$22		# 3rd main sub
-	ldq	$5,8($17)
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$6,$22,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-	stq	$21,8($16)
-	addq	$3,$25,$28		# cy add
-	subq	$7,$28,$23		# 4th main sub
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$7,$23,$25		# compute cy from last add
-	addq	$17,32,$17		# update s1_ptr
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,32,$16		# update res_ptr
-	addq	$0,$25,$28		# cy add
-	ldq	$2,16($18)
-	subq	$4,$28,$20		# 1st main sub
-	ldq	$3,24($18)
-	cmpult	$28,$25,$8		# compute cy from last add
-	ldq	$6,-16($17)
-	cmpult	$4,$20,$25		# compute cy from last add
-	ldq	$7,-8($17)
-	or	$8,$25,$25		# combine cy from the two adds
-	subq	$19,4,$19		# decr loop cnt
-	stq	$22,-16($16)
-	addq	$1,$25,$28		# cy add
-	stq	$23,-8($16)
-	subq	$5,$28,$21		# 2nd main sub
-	addq	$18,32,$18		# update s2_ptr
-	cmpult	$28,$25,$8		# compute cy from last add
-	bge	$19,.Loop
- # Finish software pipeline for 1st loop
-.Lend1:	cmpult	$5,$21,$25		# compute cy from last add
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$2,$25,$28		# cy add
-	subq	$6,$28,$22		# 3rd main sub
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$6,$22,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-	stq	$21,8($16)
-	addq	$3,$25,$28		# cy add
-	subq	$7,$28,$23		# 4th main sub
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$7,$23,$25		# compute cy from last add
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,32,$16		# update res_ptr
-	stq	$22,-16($16)
-	stq	$23,-8($16)
-.Lend2:	addq	$19,4,$19		# restore loop cnt
-	beq	$19,.Lret
- # Start software pipeline for 2nd loop
-	ldq	$0,0($18)
-	ldq	$4,0($17)
-	subq	$19,1,$19
-	beq	$19,.Lend0
- # 2nd loop handles remaining 1-3 limbs
-	.align	4
-.Loop0:	addq	$0,$25,$28		# cy add
-	ldq	$0,8($18)
-	subq	$4,$28,$20		# main sub
-	ldq	$1,8($17)
-	addq	$18,8,$18
-	cmpult	$28,$25,$8		# compute cy from last add
-	addq	$17,8,$17
-	stq	$20,0($16)
-	cmpult	$4,$20,$25		# compute cy from last add
-	subq	$19,1,$19		# decr loop cnt
-	or	$8,$25,$25		# combine cy from the two adds
-	addq	$16,8,$16
-	or	$1,$31,$4
-	bne	$19,.Loop0
-.Lend0:	addq	$0,$25,$28		# cy add
-	subq	$4,$28,$20		# main sub
-	cmpult	$28,$25,$8		# compute cy from last add
-	cmpult	$4,$20,$25		# compute cy from last add
-	stq	$20,0($16)
-	or	$8,$25,$25		# combine cy from the two adds
-
-.Lret:	or	$25,$31,$0		# return cy
-	ret	$31,($26),1
-	.end	__mpn_sub_n
diff --git a/sysdeps/alpha/alphaev6/Implies b/sysdeps/alpha/alphaev6/Implies
deleted file mode 100644
index 0e7fc170ba..0000000000
--- a/sysdeps/alpha/alphaev6/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev5
diff --git a/sysdeps/alpha/alphaev6/addmul_1.s b/sysdeps/alpha/alphaev6/addmul_1.s
deleted file mode 100644
index a061fb9edb..0000000000
--- a/sysdeps/alpha/alphaev6/addmul_1.s
+++ /dev/null
@@ -1,479 +0,0 @@
- # Alpha ev6 mpn_addmul_1 -- Multiply a limb vector with a limb and add
- # the result to a second limb vector.
- #
- #  Copyright (C) 2000 Free Software Foundation, Inc.
- #
- #  This file is part of the GNU MP Library.
- #
- #  The GNU MP Library is free software; you can redistribute it and/or modify
- #  it under the terms of the GNU Lesser General Public License as published
- #  by the Free Software Foundation; either version 2.1 of the License, or (at
- #  your option) any later version.
- #
- #  The GNU MP Library is distributed in the hope that it will be useful, but
- #  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- #  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- #  License for more details.
- #
- #  You should have received a copy of the GNU Lesser General Public License
- #  along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- #  MA 02111-1307, USA.
-
- #  INPUT PARAMETERS
- #  res_ptr	$16
- #  s1_ptr	$17
- #  size	$18
- #  s2_limb	$19
- #
- #  This code runs at 42 cycles/limb on EV4, 18 cycles/limb on EV5, and
- #  exactly 3.625 cycles/limb on EV6...
- #
- # This code was written in close cooperation with ev6 pipeline expert
- # Steve Root (root@toober.hlo.dec.com).  Any errors are tege's fault, though.
- #
- #   Register usages for unrolled loop:
- #	  0-3     mul's
- #	  4-7     acc's
- #	  8-15    mul results
- #	  20,21   carry's
- #	  22,23   save for stores
- #
- #   Sustains 8 mul-adds in 29 cycles in the unrolled inner loop.
- #
- #   The stores can issue a cycle late so we have paired no-op's to 'catch'
- #   them, so that further disturbance to the schedule is damped.
- #
- #   We couldn't pair the loads, because the entangled schedule of the
- #   carry's has to happen on one side {0} of the machine. Note, the total
- #   use of U0, and the total use of L0 (after attending to the stores).
- #   which is part of the reason why....
- #
- #   This is a great schedule for the d_cache, a poor schedule for the
- #   b_cache. The lockup on U0 means that any stall can't be recovered
- #   from. Consider a ldq in L1.  say that load gets stalled because it
- #   collides with a fill from the b_Cache. On the next cycle, this load
- #   gets priority. If first looks at L0, and goes there. The instruction
- #   we intended for L0 gets to look at L1, which is NOT where we want
- #   it. It either stalls 1, because it can't go in L0, or goes there, and
- #   causes a further instruction to stall.
- #
- #   So for b_cache, we're likely going to want to put one or more cycles
- #   back into the code! And, of course, put in prefetches. For the
- #   accumulator, lds, intent to modify.  For the multiplier, you might
- #   want ldq, evict next, if you're not wanting to use it again soon. Use
- #   256 ahead of present pointer value. At a place where we have an mt
- #   followed by a bookkeeping, put the bookkeeping in upper, and the
- #   prefetch into lower.
- #
- #   Note, the usage of physical registers per cycle is smoothed off, as
- #   much as possible.
- #
- #   Note, the ldq's and stq's are at the end of the quadpacks.  note, we'd
- #   like not to have a ldq or stq to preceded a conditional branch in a
- #   quadpack. The conditional branch moves the retire pointer one cycle
- #   later.
- #
- #   Optimization notes:
- #   Callee-saves regs: $9 $10 $11 $12 $13 $14 $15 $26 ?$27?
- #   Reserved regs:	 $29 $30 $31
- #   Free caller-saves regs in unrolled code: $24 $25 $28
- #   We should swap some of the callee-saves regs for some of the free
- #   caller-saves regs, saving some overhead cycles.
- #   Most importantly, we should write fast code for the 0-7 case.
- #   The code we use there are for the 21164, and runs at 7 cycles/limb
- #   on the 21264.  Should not be hard, if we write specialized code for
- #   1-7 limbs (the one for 0 limbs should be straightforward).  We then just
- #   need a jump table indexed by the low 3 bits of the count argument.
-
-	.set	noreorder
-	.set	noat
-	.text
-
-	.globl	__mpn_addmul_1
-	.ent	__mpn_addmul_1
-__mpn_addmul_1:
-	.frame	$30,0,$26,0
-	.prologue 0
-
-	cmpult	$18,	8,	$1
-	beq	$1,	$Large
-
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	subq	$18,	1,	$18	# size--
-	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	umulh	$2,	$19,	$0	# $0 = prod_high
-	beq	$18,	$Lend0b		# jump if size was == 1
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	subq	$18,	1,	$18	# size--
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$4
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	beq	$18,	$Lend0a		# jump if size was == 2
-
-	.align 3
-$Loop0:	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	addq	$4,	$0,	$0	# cy_limb = cy_limb + 'cy'
-	subq	$18,	1,	$18	# size--
-	umulh	$2,	$19,	$4	# $4 = cy_limb
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	addq	$3,	$0,	$3	# $3 = cy_limb + prod_low
-	cmpult	$3,	$0,	$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	addq	$5,	$0,	$0	# combine carries
-	bne	$18,	$Loop0
-$Lend0a:
-	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	addq	$4,	$0,	$0	# cy_limb = cy_limb + 'cy'
-	umulh	$2,	$19,	$4	# $4 = cy_limb
-	addq	$3,	$0,	$3	# $3 = cy_limb + prod_low
-	cmpult	$3,	$0,	$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$5,	$0,	$0	# combine carries
-	addq	$4,	$0,	$0	# cy_limb = prod_high + cy
-	ret	$31,	($26),	1
-$Lend0b:
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$0,	$5,	$0
-	ret	$31,	($26),	1
-
-$Large:
-	lda	$30,	-240($30)
-	stq	$9,	8($30)
-	stq	$10,	16($30)
-	stq	$11,	24($30)
-	stq	$12,	32($30)
-	stq	$13,	40($30)
-	stq	$14,	48($30)
-	stq	$15,	56($30)
-
-	and	$18,	7,	$20	# count for the first loop, 0-7
-	srl	$18,	3,	$18	# count for unrolled loop
-	bis	$31,	$31,	$0
-	beq	$20,	$Lunroll
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	subq	$20,	1,	$20	# size--
-	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	umulh	$2,	$19,	$0	# $0 = prod_high
-	beq	$20,	$Lend1b		# jump if size was == 1
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	subq	$20,	1,	$20	# size--
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$4
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	beq	$20,	$Lend1a		# jump if size was == 2
-
-	.align 3
-$Loop1:	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	addq	$4,	$0,	$0	# cy_limb = cy_limb + 'cy'
-	subq	$20,	1,	$20	# size--
-	umulh	$2,	$19,	$4	# $4 = cy_limb
-	ldq	$2,	0($17)		# $2 = s1_limb
-	addq	$17,	8,	$17	# s1_ptr++
-	addq	$3,	$0,	$3	# $3 = cy_limb + prod_low
-	cmpult	$3,	$0,	$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	addq	$5,	$0,	$0	# combine carries
-	bne	$20,	$Loop1
-
-$Lend1a:
-	mulq	$2,	$19,	$3	# $3 = prod_low
-	ldq	$5,	0($16)		# $5 = *res_ptr
-	addq	$4,	$0,	$0	# cy_limb = cy_limb + 'cy'
-	umulh	$2,	$19,	$4	# $4 = cy_limb
-	addq	$3,	$0,	$3	# $3 = cy_limb + prod_low
-	cmpult	$3,	$0,	$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	addq	$5,	$0,	$0	# combine carries
-	addq	$4,	$0,	$0	# cy_limb = prod_high + cy
-	br	$31,	$Lunroll
-$Lend1b:
-	addq	$5,	$3,	$3
-	cmpult	$3,	$5,	$5
-	stq	$3,	0($16)
-	addq	$16,	8,	$16	# res_ptr++
-	addq	$0,	$5,	$0
-
-$Lunroll:
-	lda	$17,	-16($17)	# L1 bookkeeping
-	lda	$16,	-16($16)	# L1 bookkeeping
-	bis	$0,	$31,	$12
-
- # ____ UNROLLED LOOP SOFTWARE PIPELINE STARTUP ____
-
-	ldq	$2,	16($17)		# L1
-	ldq	$3,	24($17)		# L1
-	lda	$18,	-1($18)		# L1 bookkeeping
-	ldq	$6,	16($16)		# L1
-	ldq	$7,	24($16)		# L1
-	ldq	$0,	32($17)		# L1
-	mulq	$19,	$2,	$13	# U1
-	ldq	$1,	40($17)		# L1
-	umulh	$19,	$2,	$14	# U1
-	mulq	$19,	$3,	$15	# U1
-	lda	$17,	64($17)		# L1 bookkeeping
-	ldq	$4,	32($16)		# L1
-	ldq	$5,	40($16)		# L1
-	umulh	$19,	$3,	$8	# U1
-	ldq	$2,	-16($17)	# L1
-	mulq	$19,	$0,	$9	# U1
-	ldq	$3,	-8($17)		# L1
-	umulh	$19,	$0,	$10	# U1
-	addq	$6,	$13,	$6	# L0 lo + acc
-	mulq	$19,	$1,	$11	# U1
-	cmpult	$6,	$13,	$20	# L0 lo add => carry
-	lda	$16,	64($16)		# L1 bookkeeping
-	addq	$6,	$12,	$22	# U0 hi add => answer
-	cmpult	$22,	$12,	$21	# L0 hi add => carry
-	addq	$14,	$20,	$14	# U0 hi mul + carry
-	ldq	$6,	-16($16)	# L1
-	addq	$7,	$15,	$23	# L0 lo + acc
-	addq	$14,	$21,	$14	# U0 hi mul + carry
-	ldq	$7,	-8($16)		# L1
-	umulh	$19,	$1,	$12	# U1
-	cmpult	$23,	$15,	$20	# L0 lo add => carry
-	addq	$23,	$14,	$23	# U0 hi add => answer
-	ldq	$0,	0($17)		# L1
-	mulq	$19,	$2,	$13	# U1
-	cmpult	$23,	$14,	$21	# L0 hi add => carry
-	addq	$8,	$20,	$8	# U0 hi mul + carry
-	ldq	$1,	8($17)		# L1
-	umulh	$19,	$2,	$14	# U1
-	addq	$4,	$9,	$4	# L0 lo + acc
-	stq	$22,	-48($16)	# L0
-	stq	$23,	-40($16)	# L1
-	mulq	$19,	$3,	$15	# U1
-	addq	$8,	$21,	$8	# U0 hi mul + carry
-	cmpult	$4,	$9,	$20	# L0 lo add => carry
-	addq	$4,	$8,	$22	# U0 hi add => answer
-	ble	$18,	$Lend		# U1 bookkeeping
-
- # ____ MAIN UNROLLED LOOP ____
-	.align 4
-$Loop:
-	bis	$31,	$31,	$31	# U1 mt
-	cmpult	$22,	$8,	$21	# L0 hi add => carry
-	addq	$10,	$20,	$10	# U0 hi mul + carry
-	ldq	$4,	0($16)		# L1
-
-	bis	$31,	$31,	$31	# U1 mt
-	addq	$5,	$11,	$23	# L0 lo + acc
-	addq	$10,	$21,	$10	# L0 hi mul + carry
-	ldq	$5,	8($16)		# L1
-
-	umulh	$19,	$3,	$8	# U1
-	cmpult	$23,	$11,	$20	# L0 lo add => carry
-	addq	$23,	$10,	$23	# U0 hi add => answer
-	ldq	$2,	16($17)		# L1
-
-	mulq	$19,	$0,	$9	# U1
-	cmpult	$23,	$10,	$21	# L0 hi add => carry
-	addq	$12,	$20,	$12	# U0 hi mul + carry
-	ldq	$3,	24($17)		# L1
-
-	umulh	$19,	$0,	$10	# U1
-	addq	$6,	$13,	$6	# L0 lo + acc
-	stq	$22,	-32($16)	# L0
-	stq	$23,	-24($16)	# L1
-
-	bis	$31,	$31,	$31	# L0 st slosh
-	mulq	$19,	$1,	$11	# U1
-	bis	$31,	$31,	$31	# L1 st slosh
-	addq	$12,	$21,	$12	# U0 hi mul + carry
-
-	cmpult	$6,	$13,	$20	# L0 lo add => carry
-	bis	$31,	$31,	$31	# U1 mt
-	lda	$18,	-1($18)		# L1 bookkeeping
-	addq	$6,	$12,	$22	# U0 hi add => answer
-
-	bis	$31,	$31,	$31	# U1 mt
-	cmpult	$22,	$12,	$21	# L0 hi add => carry
-	addq	$14,	$20,	$14	# U0 hi mul + carry
-	ldq	$6,	16($16)		# L1
-
-	bis	$31,	$31,	$31	# U1 mt
-	addq	$7,	$15,	$23	# L0 lo + acc
-	addq	$14,	$21,	$14	# U0 hi mul + carry
-	ldq	$7,	24($16)		# L1
-
-	umulh	$19,	$1,	$12	# U1
-	cmpult	$23,	$15,	$20	# L0 lo add => carry
-	addq	$23,	$14,	$23	# U0 hi add => answer
-	ldq	$0,	32($17)		# L1
-
-	mulq	$19,	$2,	$13	# U1
-	cmpult	$23,	$14,	$21	# L0 hi add => carry
-	addq	$8,	$20,	$8	# U0 hi mul + carry
-	ldq	$1,	40($17)		# L1
-
-	umulh	$19,	$2,	$14	# U1
-	addq	$4,	$9,	$4	# U0 lo + acc
-	stq	$22,	-16($16)	# L0
-	stq	$23,	-8($16)		# L1
-
-	bis	$31,	$31,	$31	# L0 st slosh
-	mulq	$19,	$3,	$15	# U1
-	bis	$31,	$31,	$31	# L1 st slosh
-	addq	$8,	$21,	$8	# L0 hi mul + carry
-
-	cmpult	$4,	$9,	$20	# L0 lo add => carry
-	bis	$31,	$31,	$31	# U1 mt
-	lda	$17,	64($17)		# L1 bookkeeping
-	addq	$4,	$8,	$22	# U0 hi add => answer
-
-	bis	$31,	$31,	$31	# U1 mt
-	cmpult	$22,	$8,	$21	# L0 hi add => carry
-	addq	$10,	$20,	$10	# U0 hi mul + carry
-	ldq	$4,	32($16)		# L1
-
-	bis	$31,	$31,	$31	# U1 mt
-	addq	$5,	$11,	$23	# L0 lo + acc
-	addq	$10,	$21,	$10	# L0 hi mul + carry
-	ldq	$5,	40($16)		# L1
-
-	umulh	$19,	$3,	$8	# U1
-	cmpult	$23,	$11,	$20	# L0 lo add => carry
-	addq	$23,	$10,	$23	# U0 hi add => answer
-	ldq	$2,	-16($17)	# L1
-
-	mulq	$19,	$0,	$9	# U1
-	cmpult	$23,	$10,	$21	# L0 hi add => carry
-	addq	$12,	$20,	$12	# U0 hi mul + carry
-	ldq	$3,	-8($17)		# L1
-
-	umulh	$19,	$0,	$10	# U1
-	addq	$6,	$13,	$6	# L0 lo + acc
-	stq	$22,	0($16)		# L0
-	stq	$23,	8($16)		# L1
-
-	bis	$31,	$31,	$31	# L0 st slosh
-	mulq	$19,	$1,	$11	# U1
-	bis	$31,	$31,	$31	# L1 st slosh
-	addq	$12,	$21,	$12	# U0 hi mul + carry
-
-	cmpult	$6,	$13,	$20	# L0 lo add => carry
-	bis	$31,	$31,	$31	# U1 mt
-	lda	$16,	64($16)		# L1 bookkeeping
-	addq	$6,	$12,	$22	# U0 hi add => answer
-
-	bis	$31,	$31,	$31	# U1 mt
-	cmpult	$22,	$12,	$21	# L0 hi add => carry
-	addq	$14,	$20,	$14	# U0 hi mul + carry
-	ldq	$6,	-16($16)	# L1
-
-	bis	$31,	$31,	$31	# U1 mt
-	addq	$7,	$15,	$23	# L0 lo + acc
-	addq	$14,	$21,	$14	# U0 hi mul + carry
-	ldq	$7,	-8($16)		# L1
-
-	umulh	$19,	$1,	$12	# U1
-	cmpult	$23,	$15,	$20	# L0 lo add => carry
-	addq	$23,	$14,	$23	# U0 hi add => answer
-	ldq	$0,	0($17)		# L1
-
-	mulq	$19,	$2,	$13	# U1
-	cmpult	$23,	$14,	$21	# L0 hi add => carry
-	addq	$8,	$20,	$8	# U0 hi mul + carry
-	ldq	$1,	8($17)		# L1
-
-	umulh	$19,	$2,	$14	# U1
-	addq	$4,	$9,	$4	# L0 lo + acc
-	stq	$22,	-48($16)	# L0
-	stq	$23,	-40($16)	# L1
-
-	bis	$31,	$31,	$31	# L0 st slosh
-	mulq	$19,	$3,	$15	# U1
-	bis	$31,	$31,	$31	# L1 st slosh
-	addq	$8,	$21,	$8	# U0 hi mul + carry
-
-	cmpult	$4,	$9,	$20	# L0 lo add => carry
-	addq	$4,	$8,	$22	# U0 hi add => answer
-	bis	$31,	$31,	$31	# L1 mt
-	bgt	$18,	$Loop		# U1 bookkeeping
-
-# ____ UNROLLED LOOP SOFTWARE PIPELINE FINISH ____
-$Lend:
-	cmpult	$22,	$8,	$21	# L0 hi add => carry
-	addq	$10,	$20,	$10	# U0 hi mul + carry
-	ldq	$4,	0($16)		# L1
-	addq	$5,	$11,	$23	# L0 lo + acc
-	addq	$10,	$21,	$10	# L0 hi mul + carry
-	ldq	$5,	8($16)		# L1
-	umulh	$19,	$3,	$8	# U1
-	cmpult	$23,	$11,	$20	# L0 lo add => carry
-	addq	$23,	$10,	$23	# U0 hi add => answer
-	mulq	$19,	$0,	$9	# U1
-	cmpult	$23,	$10,	$21	# L0 hi add => carry
-	addq	$12,	$20,	$12	# U0 hi mul + carry
-	umulh	$19,	$0,	$10	# U1
-	addq	$6,	$13,	$6	# L0 lo + acc
-	stq	$22,	-32($16)	# L0
-	stq	$23,	-24($16)	# L1
-	mulq	$19,	$1,	$11	# U1
-	addq	$12,	$21,	$12	# U0 hi mul + carry
-	cmpult	$6,	$13,	$20	# L0 lo add => carry
-	addq	$6,	$12,	$22	# U0 hi add => answer
-	cmpult	$22,	$12,	$21	# L0 hi add => carry
-	addq	$14,	$20,	$14	# U0 hi mul + carry
-	addq	$7,	$15,	$23	# L0 lo + acc
-	addq	$14,	$21,	$14	# U0 hi mul + carry
-	umulh	$19,	$1,	$12	# U1
-	cmpult	$23,	$15,	$20	# L0 lo add => carry
-	addq	$23,	$14,	$23	# U0 hi add => answer
-	cmpult	$23,	$14,	$21	# L0 hi add => carry
-	addq	$8,	$20,	$8	# U0 hi mul + carry
-	addq	$4,	$9,	$4	# U0 lo + acc
-	stq	$22,	-16($16)	# L0
-	stq	$23,	-8($16)		# L1
-	bis	$31,	$31,	$31	# L0 st slosh
-	addq	$8,	$21,	$8	# L0 hi mul + carry
-	cmpult	$4,	$9,	$20	# L0 lo add => carry
-	addq	$4,	$8,	$22	# U0 hi add => answer
-	cmpult	$22,	$8,	$21	# L0 hi add => carry
-	addq	$10,	$20,	$10	# U0 hi mul + carry
-	addq	$5,	$11,	$23	# L0 lo + acc
-	addq	$10,	$21,	$10	# L0 hi mul + carry
-	cmpult	$23,	$11,	$20	# L0 lo add => carry
-	addq	$23,	$10,	$23	# U0 hi add => answer
-	cmpult	$23,	$10,	$21	# L0 hi add => carry
-	addq	$12,	$20,	$12	# U0 hi mul + carry
-	stq	$22,	0($16)		# L0
-	stq	$23,	8($16)		# L1
-	addq	$12,	$21,	$0	# U0 hi mul + carry
-
-	ldq	$9,	8($30)
-	ldq	$10,	16($30)
-	ldq	$11,	24($30)
-	ldq	$12,	32($30)
-	ldq	$13,	40($30)
-	ldq	$14,	48($30)
-	ldq	$15,	56($30)
-	lda	$30,	240($30)
-	ret	$31,	($26),	1
-
-	.end	__mpn_addmul_1
diff --git a/sysdeps/alpha/alphaev6/fpu/e_sqrt.S b/sysdeps/alpha/alphaev6/fpu/e_sqrt.S
deleted file mode 100644
index 64a08826f6..0000000000
--- a/sysdeps/alpha/alphaev6/fpu/e_sqrt.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(__ieee754_sqrt)
-#ifdef PROF
-	ldgp    gp, 0(pv)
-	lda     AT, _mcount
-	jsr     AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	.align 4
-#ifdef _IEEE_FP_INEXACT
-	sqrtt/sui $f16, $f0
-#else
-	sqrtt/su $f16, $f0
-#endif
-	ret
-	nop
-	nop
-
-END(__ieee754_sqrt)
diff --git a/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S b/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S
deleted file mode 100644
index 3500e832c1..0000000000
--- a/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(__ieee754_sqrtf)
-#ifdef PROF
-	ldgp    gp, 0(pv)
-	lda     AT, _mcount
-	jsr     AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	.align 4
-#ifdef _IEEE_FP_INEXACT
-	sqrts/sui $f16, $f0
-#else
-	sqrts/su $f16, $f0
-#endif
-	ret
-	nop
-	nop
-
-END(__ieee754_sqrtf)
diff --git a/sysdeps/alpha/alphaev6/memchr.S b/sysdeps/alpha/alphaev6/memchr.S
deleted file mode 100644
index 88e91fa988..0000000000
--- a/sysdeps/alpha/alphaev6/memchr.S
+++ /dev/null
@@ -1,193 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-        .set noreorder
-        .set noat
-
-ENTRY(__memchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	# Hack -- if someone passes in (size_t)-1, hoping to just
-	# search til the end of the address space, we will overflow
-	# below when we find the address of the last byte.  Given
-	# that we will never have a 56-bit address space, cropping
-	# the length is the easiest way to avoid trouble.
-	zap	$18, 0x80, $5	# U : Bound length
-	beq	$18, $not_found	# U :
-        ldq_u   $1, 0($16)	# L : load first quadword Latency=3
-	and	$17, 0xff, $17	# E : L L U U : 00000000000000ch
-
-	insbl	$17, 1, $2	# U : 000000000000ch00
-	cmpult	$18, 9, $4	# E : small (< 1 quad) string?
-	or	$2, $17, $17	# E : 000000000000chch
-        lda     $3, -1($31)	# E : U L L U
-
-	sll	$17, 16, $2	# U : 00000000chch0000
-	addq	$16, $5, $5	# E : Max search address
-	or	$2, $17, $17	# E : 00000000chchchch
-	sll	$17, 32, $2	# U : U L L U : chchchch00000000
-
-	or	$2, $17, $17	# E : chchchchchchchch
-	extql	$1, $16, $7	# U : $7 is upper bits
-	beq	$4, $first_quad	# U :
-	ldq_u	$6, -1($5)	# L : L U U L : eight or less bytes to search Latency=3
-
-	extqh	$6, $16, $6	# U : 2 cycle stall for $6
-	mov	$16, $0		# E :
-	nop			# E :
-	or	$7, $6, $1	# E : L U L U $1 = quadword starting at $16
-
-	# Deal with the case where at most 8 bytes remain to be searched
-	# in $1.  E.g.:
-	#	$18 = 6
-	#	$1 = ????c6c5c4c3c2c1
-$last_quad:
-	negq	$18, $6		# E :
-        xor	$17, $1, $1	# E :
-	srl	$3, $6, $6	# U : $6 = mask of $18 bits set
-        cmpbge  $31, $1, $2	# E : L U L U
-
-	nop
-	nop
-	and	$2, $6, $2	# E :
-        beq     $2, $not_found	# U : U L U L
-
-$found_it:
-#if defined(__alpha_fix__) && defined(__alpha_cix__)
-	/*
-	 * Since we are guaranteed to have set one of the bits, we don't
-	 * have to worry about coming back with a 0x40 out of cttz...
-	 */
-	cttz	$2, $3		# U0 :
-	addq	$0, $3, $0	# E : All done
-	nop			# E :
-	ret			# L0 : L U L U
-#else
-	/*
-	 * Slow and clunky.  It can probably be improved.
-	 * An exercise left for others.
-	 */
-        negq    $2, $3		# E :
-        and     $2, $3, $2	# E :
-        and     $2, 0x0f, $1	# E :
-        addq    $0, 4, $3	# E :
-
-        cmoveq  $1, $3, $0	# E : Latency 2, extra map cycle
-	nop			# E : keep with cmov
-        and     $2, 0x33, $1	# E :
-        addq    $0, 2, $3	# E : U L U L : 2 cycle stall on $0
-
-        cmoveq  $1, $3, $0	# E : Latency 2, extra map cycle
-	nop			# E : keep with cmov
-        and     $2, 0x55, $1	# E :
-        addq    $0, 1, $3	# E : U L U L : 2 cycle stall on $0
-
-        cmoveq  $1, $3, $0	# E : Latency 2, extra map cycle
-	nop
-	nop
-	ret			# L0 : L U L U
-#endif
-
-	# Deal with the case where $18 > 8 bytes remain to be
-	# searched.  $16 may not be aligned.
-	.align 4
-$first_quad:
-	andnot	$16, 0x7, $0	# E :
-        insqh   $3, $16, $2	# U : $2 = 0000ffffffffffff ($16<0:2> ff)
-        xor	$1, $17, $1	# E :
-	or	$1, $2, $1	# E : U L U L $1 = ====ffffffffffff
-
-        cmpbge  $31, $1, $2	# E :
-        bne     $2, $found_it	# U :
-	# At least one byte left to process.
-	ldq	$1, 8($0)	# L :
-	subq	$5, 1, $18	# E : U L U L
-
-	addq	$0, 8, $0	# E :
-	# Make $18 point to last quad to be accessed (the
-	# last quad may or may not be partial).
-	andnot	$18, 0x7, $18	# E :
-	cmpult	$0, $18, $2	# E :
-	beq	$2, $final	# U : U L U L
-
-	# At least two quads remain to be accessed.
-
-	subq	$18, $0, $4	# E : $4 <- nr quads to be processed
-	and	$4, 8, $4	# E : odd number of quads?
-	bne	$4, $odd_quad_count # U :
-	# At least three quads remain to be accessed
-	mov	$1, $4		# E : L U L U : move prefetched value to correct reg
-
-	.align	4
-$unrolled_loop:
-	ldq	$1, 8($0)	# L : prefetch $1
-	xor	$17, $4, $2	# E :
-	cmpbge	$31, $2, $2	# E :
-	bne	$2, $found_it	# U : U L U L
-
-	addq	$0, 8, $0	# E :
-	nop			# E :
-	nop			# E :
-	nop			# E :
-
-$odd_quad_count:
-	xor	$17, $1, $2	# E :
-	ldq	$4, 8($0)	# L : prefetch $4
-	cmpbge	$31, $2, $2	# E :
-	addq	$0, 8, $6	# E :
-
-	bne	$2, $found_it	# U :
-	cmpult	$6, $18, $6	# E :
-	addq	$0, 8, $0	# E :
-	nop			# E :
-
-	bne	$6, $unrolled_loop # U :
-	mov	$4, $1		# E : move prefetched value into $1
-	nop			# E :
-	nop			# E :
-
-$final:	subq	$5, $0, $18	# E : $18 <- number of bytes left to do
-	nop			# E :
-	nop			# E :
-	bne	$18, $last_quad	# U :
-
-$not_found:
-	mov	$31, $0		# E :
-	nop			# E :
-	nop			# E :
-	ret			# L0 :
-
-	END(__memchr)
-
-weak_alias (__memchr, memchr)
-#if !__BOUNDED_POINTERS__
-weak_alias (__memchr, __ubp_memchr)
-#endif
-libc_hidden_builtin_def (memchr)
diff --git a/sysdeps/alpha/alphaev6/memcpy.S b/sysdeps/alpha/alphaev6/memcpy.S
deleted file mode 100644
index 7cff521da2..0000000000
--- a/sysdeps/alpha/alphaev6/memcpy.S
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/*
- * Much of the information about 21264 scheduling/coding comes from:
- *	Compiler Writer's Guide for the Alpha 21264
- *	abbreviated as 'CWG' in other comments here
- *	ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html
- * Scheduling notation:
- *	E	- either cluster
- *	U	- upper subcluster; U0 - subcluster U0; U1 - subcluster U1
- *	L	- lower subcluster; L0 - subcluster L0; L1 - subcluster L1
- *
- * Temp usage notes:
- *	$0		- destination address
- *	$1,$2,		- scratch
- */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(memcpy)
-	.prologue 0
-
-	mov	$16, $0			# E : copy dest to return
-	ble	$18, $nomoredata	# U : done with the copy?
-	xor	$16, $17, $1		# E : are source and dest alignments the same?
-	and	$1, 7, $1		# E : are they the same mod 8?
-
-	bne	$1, $misaligned		# U : Nope - gotta do this the slow way
-	/* source and dest are same mod 8 address */
-	and	$16, 7, $1		# E : Are both 0mod8?
-	beq	$1, $both_0mod8		# U : Yes
-	nop				# E :
-
-	/*
-	 * source and dest are same misalignment.  move a byte at a time
-	 * until a 0mod8 alignment for both is reached.
-	 * At least one byte more to move
-	 */
-
-$head_align:
-	ldbu	$1, 0($17)		# L : grab a byte
-	subq	$18, 1, $18		# E : count--
-	addq	$17, 1, $17		# E : src++
-	stb	$1, 0($16)		# L :
-	addq	$16, 1, $16		# E : dest++
-	and	$16, 7, $1		# E : Are we at 0mod8 yet?
-	ble	$18, $nomoredata	# U : done with the copy?
-	bne	$1, $head_align		# U :
-
-$both_0mod8:
-	cmple	$18, 127, $1		# E : Can we unroll the loop?
-	bne	$1, $no_unroll		# U :
-	and	$16, 63, $1		# E : get mod64 alignment
-	beq	$1, $do_unroll		# U : no single quads to fiddle
-
-$single_head_quad:
-	ldq	$1, 0($17)		# L : get 8 bytes
-	subq	$18, 8, $18		# E : count -= 8
-	addq	$17, 8, $17		# E : src += 8
-	nop				# E :
-
-	stq	$1, 0($16)		# L : store
-	addq	$16, 8, $16		# E : dest += 8
-	and	$16, 63, $1		# E : get mod64 alignment
-	bne	$1, $single_head_quad	# U : still not fully aligned
-
-$do_unroll:
-	addq	$16, 64, $7		# E : Initial (+1 trip) wh64 address
-	cmple	$18, 127, $1		# E : Can we go through the unrolled loop?
-	bne	$1, $tail_quads		# U : Nope
-	nop				# E :
-
-$unroll_body:
-	wh64	($7)			# L1 : memory subsystem hint: 64 bytes at
-					# ($7) are about to be over-written
-	ldq	$6, 0($17)		# L0 : bytes 0..7
-	nop				# E :
-	nop				# E :
-
-	ldq	$4, 8($17)		# L : bytes 8..15
-	ldq	$5, 16($17)		# L : bytes 16..23
-	addq	$7, 64, $7		# E : Update next wh64 address
-	nop				# E :
-
-	ldq	$3, 24($17)		# L : bytes 24..31
-	addq	$16, 64, $1		# E : fallback value for wh64
-	nop				# E :
-	nop				# E :
-
-	addq	$17, 32, $17		# E : src += 32 bytes
-	stq	$6, 0($16)		# L : bytes 0..7
-	nop				# E :
-	nop				# E :
-
-	stq	$4, 8($16)		# L : bytes 8..15
-	stq	$5, 16($16)		# L : bytes 16..23
-	subq	$18, 192, $2		# E : At least two more trips to go?
-	nop				# E :
-
-	stq	$3, 24($16)		# L : bytes 24..31
-	addq	$16, 32, $16		# E : dest += 32 bytes
-	nop				# E :
-	nop				# E :
-
-	ldq	$6, 0($17)		# L : bytes 0..7
-	ldq	$4, 8($17)		# L : bytes 8..15
-	cmovlt	$2, $1, $7		# E : Latency 2, extra map slot - Use
-					# fallback wh64 address if < 2 more trips
-	nop				# E :
-
-	ldq	$5, 16($17)		# L : bytes 16..23
-	ldq	$3, 24($17)		# L : bytes 24..31
-	addq	$16, 32, $16		# E : dest += 32
-	subq	$18, 64, $18		# E : count -= 64
-
-	addq	$17, 32, $17		# E : src += 32
-	stq	$6, -32($16)		# L : bytes 0..7
-	stq	$4, -24($16)		# L : bytes 8..15
-	cmple	$18, 63, $1		# E : At least one more trip?
-
-	stq	$5, -16($16)		# L : bytes 16..23
-	stq	$3, -8($16)		# L : bytes 24..31
-	nop				# E :
-	beq	$1, $unroll_body
-
-$tail_quads:
-$no_unroll:
-	.align 4
-	subq	$18, 8, $18		# E : At least a quad left?
-	blt	$18, $less_than_8	# U : Nope
-	nop				# E :
-	nop				# E :
-
-$move_a_quad:
-	ldq	$1, 0($17)		# L : fetch 8
-	subq	$18, 8, $18		# E : count -= 8
-	addq	$17, 8, $17		# E : src += 8
-	nop				# E :
-
-	stq	$1, 0($16)		# L : store 8
-	addq	$16, 8, $16		# E : dest += 8
-	bge	$18, $move_a_quad	# U :
-	nop				# E :
-
-$less_than_8:
-	.align 4
-	addq	$18, 8, $18		# E : add back for trailing bytes
-	ble	$18, $nomoredata	# U : All-done
-	nop				# E :
-	nop				# E :
-
-	/* Trailing bytes */
-$tail_bytes:
-	subq	$18, 1, $18		# E : count--
-	ldbu	$1, 0($17)		# L : fetch a byte
-	addq	$17, 1, $17		# E : src++
-	nop				# E :
-
-	stb	$1, 0($16)		# L : store a byte
-	addq	$16, 1, $16		# E : dest++
-	bgt	$18, $tail_bytes	# U : more to be done?
-	nop				# E :
-
-	/* branching to exit takes 3 extra cycles, so replicate exit here */
-	ret	$31, ($26), 1		# L0 :
-	nop				# E :
-	nop				# E :
-	nop				# E :
-
-$misaligned:
-	mov	$0, $4			# E : dest temp
-	and	$0, 7, $1		# E : dest alignment mod8
-	beq	$1, $dest_0mod8		# U : life doesnt totally suck
-	nop
-
-$aligndest:
-	ble	$18, $nomoredata	# U :
-	ldbu	$1, 0($17)		# L : fetch a byte
-	subq	$18, 1, $18		# E : count--
-	addq	$17, 1, $17		# E : src++
-
-	stb	$1, 0($4)		# L : store it
-	addq	$4, 1, $4		# E : dest++
-	and	$4, 7, $1		# E : dest 0mod8 yet?
-	bne	$1, $aligndest		# U : go until we are aligned.
-
-	/* Source has unknown alignment, but dest is known to be 0mod8 */
-$dest_0mod8:
-	subq	$18, 8, $18		# E : At least a quad left?
-	blt	$18, $misalign_tail	# U : Nope
-	ldq_u	$3, 0($17)		# L : seed (rotating load) of 8 bytes
-	nop				# E :
-
-$mis_quad:
-	ldq_u	$16, 8($17)		# L : Fetch next 8
-	extql	$3, $17, $3		# U : masking
-	extqh	$16, $17, $1		# U : masking
-	bis	$3, $1, $1		# E : merged bytes to store
-
-	subq	$18, 8, $18		# E : count -= 8
-	addq	$17, 8, $17		# E : src += 8
-	stq	$1, 0($4)		# L : store 8 (aligned)
-	mov	$16, $3			# E : "rotate" source data
-
-	addq	$4, 8, $4		# E : dest += 8
-	bge	$18, $mis_quad		# U : More quads to move
-	nop
-	nop
-
-$misalign_tail:
-	addq	$18, 8, $18		# E : account for tail stuff
-	ble	$18, $nomoredata	# U :
-	nop
-	nop
-
-$misalign_byte:
-	ldbu	$1, 0($17)		# L : fetch 1
-	subq	$18, 1, $18		# E : count--
-	addq	$17, 1, $17		# E : src++
-	nop				# E :
-
-	stb	$1, 0($4)		# L : store
-	addq	$4, 1, $4		# E : dest++
-	bgt	$18, $misalign_byte	# U : more to go?
-	nop
-
-
-$nomoredata:
-	ret	$31, ($26), 1		# L0 :
-	nop				# E :
-	nop				# E :
-	nop				# E :
-
-END(memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/sysdeps/alpha/alphaev6/memset.S b/sysdeps/alpha/alphaev6/memset.S
deleted file mode 100644
index 3b3c4ba061..0000000000
--- a/sysdeps/alpha/alphaev6/memset.S
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noat
-	.set noreorder
-
-ENTRY(memset)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	/*
-	 * Serious stalling happens.  The only way to mitigate this is to
-	 * undertake a major re-write to interleave the constant materialization
-	 * with other parts of the fall-through code.  This is important, even
-	 * though it makes maintenance tougher.
-	 * Do this later.
-	 */
-	and	$17, 255, $1	# E : 00000000000000ch
-	insbl	$17, 1, $2	# U : 000000000000ch00
-	mov	$16, $0		# E : return value
-	ble	$18, $end	# U : zero length requested?
-
-	addq	$18, $16, $6	# E : max address to write to
-	or	$1, $2, $17	# E : 000000000000chch
-	insbl	$1, 2, $3	# U : 0000000000ch0000
-	insbl	$1, 3, $4	# U : 00000000ch000000
-
-	or	$3, $4, $3	# E : 00000000chch0000
-	inswl	$17, 4, $5	# U : 0000chch00000000
-	xor	$16, $6, $1	# E : will complete write be within one quadword?
-	inswl	$17, 6, $2	# U : chch000000000000
-
-	or	$17, $3, $17	# E : 00000000chchchch
-	or	$2, $5, $2	# E : chchchch00000000
-	bic	$1, 7, $1	# E : fit within a single quadword?
-	and	$16, 7, $3	# E : Target addr misalignment
-
-	or	$17, $2, $17	# E : chchchchchchchch
-	beq	$1, $within_quad # U :
-	nop			# E :
-	beq	$3, $aligned	# U : target is 0mod8
-
-	/*
-	 * Target address is misaligned, and won't fit within a quadword.
-	 */
-	ldq_u	$4, 0($16)	# L : Fetch first partial
-	mov	$16, $5		# E : Save the address
-	insql	$17, $16, $2	# U : Insert new bytes
-	subq	$3, 8, $3	# E : Invert (for addressing uses)
-
-	addq	$18, $3, $18	# E : $18 is new count ($3 is negative)
-	mskql	$4, $16, $4	# U : clear relevant parts of the quad
-	subq	$16, $3, $16	# E : $16 is new aligned destination
-	or	$2, $4, $1	# E : Final bytes
-
-	nop
-	stq_u	$1,0($5)	# L : Store result
-	nop
-	nop
-
-	.align 4
-$aligned:
-	/*
-	 * We are now guaranteed to be quad aligned, with at least
-	 * one partial quad to write.
-	 */
-
-	sra	$18, 3, $3	# U : Number of remaining quads to write
-	and	$18, 7, $18	# E : Number of trailing bytes to write
-	mov	$16, $5		# E : Save dest address
-	beq	$3, $no_quad	# U : tail stuff only
-
-	/*
-	 * It's worth the effort to unroll this and use wh64 if possible.
-	 * At this point, entry values are:
-	 * $16	Current destination address
-	 * $5	A copy of $16
-	 * $6	The max quadword address to write to
-	 * $18	Number trailer bytes
-	 * $3	Number quads to write
-	 */
-
-	and	$16, 0x3f, $2	# E : Forward work (only useful for unrolled loop)
-	subq	$3, 16, $4	# E : Only try to unroll if > 128 bytes
-	subq	$2, 0x40, $1	# E : bias counter (aligning stuff 0mod64)
-	blt	$4, $loop	# U :
-
-	/*
-	 * We know we've got at least 16 quads, minimum of one trip
-	 * through unrolled loop.  Do a quad at a time to get us 0mod64
-	 * aligned.
-	 */
-
-	nop			# E :
-	nop			# E :
-	nop			# E :
-	beq	$1, $bigalign	# U :
-
-$alignmod64:
-	stq	$17, 0($5)	# L :
-	subq	$3, 1, $3	# E : For consistency later
-	addq	$1, 8, $1	# E : Increment towards zero for alignment
-	addq	$5, 8, $4	# E : Initial wh64 address (filler instruction)
-
-	nop
-	nop
-	addq	$5, 8, $5	# E : Inc address
-	blt	$1, $alignmod64 # U :
-
-$bigalign:
-	/*
-	 * $3 - number quads left to go
-	 * $5 - target address (aligned 0mod64)
-	 * $17 - mask of stuff to store
-	 * Scratch registers available: $7, $2, $4, $1
-	 * We know that we'll be taking a minimum of one trip through.
- 	 * CWG Section 3.7.6: do not expect a sustained store rate of > 1/cycle
-	 * Assumes the wh64 needs to be for 2 trips through the loop in the future.
-	 * The wh64 is issued on for the starting destination address for trip +2
-	 * through the loop, and if there are less than two trips left, the target
-	 * address will be for the current trip.
-	 */
-
-$do_wh64:
-	wh64	($4)		# L1 : memory subsystem write hint
-	subq	$3, 24, $2	# E : For determining future wh64 addresses
-	stq	$17, 0($5)	# L :
-	nop			# E :
-
-	addq	$5, 128, $4	# E : speculative target of next wh64
-	stq	$17, 8($5)	# L :
-	stq	$17, 16($5)	# L :
-	addq	$5, 64, $7	# E : Fallback address for wh64 (== next trip addr)
-
-	stq	$17, 24($5)	# L :
-	stq	$17, 32($5)	# L :
-	cmovlt	$2, $7, $4	# E : Latency 2, extra mapping cycle
-	nop
-
-	stq	$17, 40($5)	# L :
-	stq	$17, 48($5)	# L :
-	subq	$3, 16, $2	# E : Repeat the loop at least once more?
-	nop
-
-	stq	$17, 56($5)	# L :
-	addq	$5, 64, $5	# E :
-	subq	$3, 8, $3	# E :
-	bge	$2, $do_wh64	# U :
-
-	nop
-	nop
-	nop
-	beq	$3, $no_quad	# U : Might have finished already
-
-	.align 4
-	/*
-	 * Simple loop for trailing quadwords, or for small amounts
-	 * of data (where we can't use an unrolled loop and wh64)
-	 */
-$loop:
-	stq	$17, 0($5)	# L :
-	subq	$3, 1, $3	# E : Decrement number quads left
-	addq	$5, 8, $5	# E : Inc address
-	bne	$3, $loop	# U : more?
-
-$no_quad:
-	/*
-	 * Write 0..7 trailing bytes.
-	 */
-	nop			# E :
-	beq	$18, $end	# U : All done?
-	ldq	$7, 0($5)	# L :
-	mskqh	$7, $6, $2	# U : Mask final quad
-
-	insqh	$17, $6, $4	# U : New bits
-	or	$2, $4, $1	# E : Put it all together
-	stq	$1, 0($5)	# L : And back to memory
-	ret	$31,($26),1	# L0 :
-
-$within_quad:
-	ldq_u	$1, 0($16)	# L :
-	insql	$17, $16, $2	# U : New bits
-	mskql	$1, $16, $4	# U : Clear old
-	or	$2, $4, $2	# E : New result
-
-	mskql	$2, $6, $4	# U :
-	mskqh	$1, $6, $2	# U :
-	or	$2, $4, $1	# E :
-	stq_u	$1, 0($16)	# L :
-
-$end:
-	nop
-	nop
-	nop
-	ret $31,($26),1		# L0 :
-
-	END(memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/alpha/alphaev6/stxcpy.S b/sysdeps/alpha/alphaev6/stxcpy.S
deleted file mode 100644
index 3c3e7d72bf..0000000000
--- a/sysdeps/alpha/alphaev6/stxcpy.S
+++ /dev/null
@@ -1,328 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy a null-terminated string from SRC to DST.
-
-   This is an internal routine used by strcpy, stpcpy, and strcat.
-   As such, it uses special linkage conventions to make implementation
-   of these public functions more efficient.
-
-   On input:
-	t9 = return address
-	a0 = DST
-	a1 = SRC
-
-   On output:
-	t8  = bitmask (with one bit set) indicating the last byte written
-	a0  = unaligned address of the last *word* written
-
-   Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noat
-	.set noreorder
-	.text
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the
-   aligned copy in its own procedure descriptor */
-
-
-	.ent stxcpy_aligned
-	.align 4
-stxcpy_aligned:
-	.frame sp, 0, t9
-	.prologue 0
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == the first source word.  */
-
-	/* Create the 1st output word and detect 0's in the 1st input word.  */
-	lda	t2, -1		# E : build a mask against false zero
-	mskqh	t2, a1, t2	# U :   detection in the src word (stall)
-	mskqh	t1, a1, t3	# U :
-	ornot	t1, t2, t2	# E : (stall)
-
-	mskql	t0, a1, t0	# U : assemble the first output word
-	cmpbge	zero, t2, t10	# E : bits set iff null found
-	or	t0, t3, t1	# E : (stall)
-	bne	t10, $a_eos	# U : (stall)
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == a source word not containing a null.  */
-	/* Nops here to separate store quads from load quads */
-
-$a_loop:
-	stq_u	t1, 0(a0)	# L :
-	addq	a0, 8, a0	# E :
-	nop
-	nop
-
-	ldq_u	t1, 0(a1)	# L : Latency=3
-	addq	a1, 8, a1	# E :
-	cmpbge	zero, t1, t10	# E : (3 cycle stall)
-	beq	t10, $a_loop	# U : (stall for t10)
-
-	/* Take care of the final (partial) word store.
-	   On entry to this basic block we have:
-	   t1 == the source word containing the null
-	   t10 == the cmpbge mask that found it.  */
-$a_eos:
-	negq	t10, t6		# E : find low bit set
-	and	t10, t6, t8	# E : (stall)
-	/* For the sake of the cache, don't read a destination word
-	   if we're not going to need it.  */
-	and	t8, 0x80, t6	# E : (stall)
-	bne	t6, 1f		# U : (stall)
-
-	/* We're doing a partial word store and so need to combine
-	   our source and original destination words.  */
-	ldq_u	t0, 0(a0)	# L : Latency=3
-	subq	t8, 1, t6	# E :
-	zapnot	t1, t6, t1	# U : clear src bytes >= null (stall)
-	or	t8, t6, t10	# E : (stall)
-
-	zap	t0, t10, t0	# E : clear dst bytes <= null
-	or	t0, t1, t1	# E : (stall)
-	nop
-	nop
-
-1:	stq_u	t1, 0(a0)	# L :
-	ret	(t9)		# L0 : Latency=3
-	nop
-	nop
-
-	.end stxcpy_aligned
-
-	.align 4
-	.ent __stxcpy
-	.globl __stxcpy
-__stxcpy:
-	.frame sp, 0, t9
-	.prologue 0
-
-	/* Are source and destination co-aligned?  */
-	xor	a0, a1, t0	# E :
-	unop			# E :
-	and	t0, 7, t0	# E : (stall)
-	bne	t0, $unaligned	# U : (stall)
-
-	/* We are co-aligned; take care of a partial first word.  */
-	ldq_u	t1, 0(a1)		# L : load first src word
-	and	a0, 7, t0		# E : take care not to load a word ...
-	addq	a1, 8, a1		# E :
-	beq	t0, stxcpy_aligned	# U : ... if we wont need it (stall)
-
-	ldq_u	t0, 0(a0)	# L :
-	br	stxcpy_aligned	# L0 : Latency=3
-	nop
-	nop
-
-
-/* The source and destination are not co-aligned.  Align the destination
-   and cope.  We have to be very careful about not reading too much and
-   causing a SEGV.  */
-
-	.align 4
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full source word.  We can still find a zero at the end of it
-	   that prevents us from outputting the whole thing.
-
-	   On entry to this basic block:
-	   t0 == the first dest word, for masking back in, if needed else 0
-	   t1 == the low bits of the first source word
-	   t6 == bytemask that is -1 in dest word bytes */
-
-	ldq_u	t2, 8(a1)	# L :
-	addq	a1, 8, a1	# E :
-	extql	t1, a1, t1	# U : (stall on a1)
-	extqh	t2, a1, t4	# U : (stall on a1)
-
-	mskql	t0, a0, t0	# U :
-	or	t1, t4, t1	# E :
-	mskqh	t1, a0, t1	# U : (stall on t1)
-	or	t0, t1, t1	# E : (stall on t1)
-
-	or	t1, t6, t6	# E :
-	cmpbge	zero, t6, t10	# E : (stall)
-	lda	t6, -1		# E : for masking just below
-	bne	t10, $u_final	# U : (stall)
-
-	mskql	t6, a1, t6		# U : mask out the bits we have
-	or	t6, t2, t2		# E :   already extracted before (stall)
-	cmpbge	zero, t2, t10		# E :   testing eos (stall)
-	bne	t10, $u_late_head_exit	# U : (stall)
-
-	/* Finally, we've got all the stupid leading edge cases taken care
-	   of and we can set up to enter the main loop.  */
-
-	stq_u	t1, 0(a0)	# L : store first output word
-	addq	a0, 8, a0	# E :
-	extql	t2, a1, t0	# U : position ho-bits of lo word
-	ldq_u	t2, 8(a1)	# U : read next high-order source word
-
-	addq	a1, 8, a1	# E :
-	cmpbge	zero, t2, t10	# E : (stall for t2)
-	nop			# E :
-	bne	t10, $u_eos	# U : (stall)
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned source words.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t0 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word
-
-	   We further know that t2 does not contain a null terminator.  */
-
-	.align 3
-$u_loop:
-	extqh	t2, a1, t1	# U : extract high bits for current word
-	addq	a1, 8, a1	# E : (stall)
-	extql	t2, a1, t3	# U : extract low bits for next time (stall)
-	addq	a0, 8, a0	# E :
-
-	or	t0, t1, t1	# E : current dst word now complete
-	ldq_u	t2, 0(a1)	# L : Latency=3 load high word for next time
-	stq_u	t1, -8(a0)	# L : save the current word (stall)
-	mov	t3, t0		# E :
-
-	cmpbge	zero, t2, t10	# E : test new word for eos
-	beq	t10, $u_loop	# U : (stall)
-	nop
-	nop
-
-	/* We've found a zero somewhere in the source word we just read.
-	   If it resides in the lower half, we have one (probably partial)
-	   word to write out, and if it resides in the upper half, we
-	   have one full and one partial word left to write out.
-
-	   On entry to this basic block:
-	   t0 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word.  */
-$u_eos:
-	extqh	t2, a1, t1	# U :
-	or	t0, t1, t1	# E : first (partial) source word complete (stall)
-	cmpbge	zero, t1, t10	# E : is the null in this first bit? (stall)
-	bne	t10, $u_final	# U : (stall)
-
-$u_late_head_exit:
-	stq_u	t1, 0(a0)	# L : the null was in the high-order bits
-	addq	a0, 8, a0	# E :
-	extql	t2, a1, t1	# U :
-	cmpbge	zero, t1, t10	# E : (stall)
-
-	/* Take care of a final (probably partial) result word.
-	   On entry to this basic block:
-	   t1 == assembled source word
-	   t10 == cmpbge mask that found the null.  */
-$u_final:
-	negq	t10, t6		# E : isolate low bit set
-	and	t6, t10, t8	# E : (stall)
-	and	t8, 0x80, t6	# E : avoid dest word load if we can (stall)
-	bne	t6, 1f		# U : (stall)
-
-	ldq_u	t0, 0(a0)	# E :
-	subq	t8, 1, t6	# E :
-	or	t6, t8, t10	# E : (stall)
-	zapnot	t1, t6, t1	# U : kill source bytes >= null (stall)
-
-	zap	t0, t10, t0	# U : kill dest bytes <= null (2 cycle data stall)
-	or	t0, t1, t1	# E : (stall)
-	nop
-	nop
-
-1:	stq_u	t1, 0(a0)	# L :
-	ret	(t9)		# L0 : Latency=3
-	nop
-	nop
-
-	/* Unaligned copy entry point.  */
-	.align 4
-$unaligned:
-
-	ldq_u	t1, 0(a1)	# L : load first source word
-	and	a0, 7, t4	# E : find dest misalignment
-	and	a1, 7, t5	# E : find src misalignment
-	/* Conditionally load the first destination word and a bytemask
-	   with 0xff indicating that the destination byte is sacrosanct.  */
-	mov	zero, t0	# E :
-
-	mov	zero, t6	# E :
-	beq	t4, 1f		# U :
-	ldq_u	t0, 0(a0)	# L :
-	lda	t6, -1		# E :
-
-	mskql	t6, a0, t6	# U :
-	nop
-	nop
-	nop
-1:
-	subq	a1, t4, a1	# E : sub dest misalignment from src addr
-	/* If source misalignment is larger than dest misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-	cmplt	t4, t5, t8	# E :
-	beq	t8, $u_head	# U :
-	lda	t2, -1		# E : mask out leading garbage in source
-
-	mskqh	t2, t5, t2	# U :
-	ornot	t1, t2, t3	# E : (stall)
-	cmpbge	zero, t3, t10	# E : is there a zero? (stall)
-	beq	t10, $u_head	# U : (stall)
-
-	/* At this point we've found a zero in the first partial word of
-	   the source.  We need to isolate the valid source data and mask
-	   it into the original destination data.  (Incidentally, we know
-	   that we'll need at least one byte of that original dest word.) */
-
-	ldq_u	t0, 0(a0)	# L :
-	negq	t10, t6		# E : build bitmask of bytes <= zero
-	and	t6, t10, t8	# E : (stall)
-	and	a1, 7, t5	# E :
-
-	subq	t8, 1, t6	# E :
-	or	t6, t8, t10	# E : (stall)
-	srl	t8, t5, t8	# U : adjust final null return value
-	zapnot	t2, t10, t2	# U : prepare source word; mirror changes (stall)
-
-	and	t1, t2, t1	# E : to source validity mask
-	extql	t2, a1, t2	# U :
-	extql	t1, a1, t1	# U : (stall)
-	andnot	t0, t2, t0	# .. e1 : zero place for source to reside (stall)
-
-	or	t0, t1, t1	# e1    : and put it there
-	stq_u	t1, 0(a0)	# .. e0 : (stall)
-	ret	(t9)		# e1    :
-	nop
-
-	.end __stxcpy
-
diff --git a/sysdeps/alpha/alphaev6/stxncpy.S b/sysdeps/alpha/alphaev6/stxncpy.S
deleted file mode 100644
index f39c23a886..0000000000
--- a/sysdeps/alpha/alphaev6/stxncpy.S
+++ /dev/null
@@ -1,403 +0,0 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
-   SRC to DST.
-
-   This is an internal routine used by strncpy, stpncpy, and strncat.
-   As such, it uses special linkage conventions to make implementation
-   of these public functions more efficient.
-
-   On input:
-	t9 = return address
-	a0 = DST
-	a1 = SRC
-	a2 = COUNT
-
-   Furthermore, COUNT may not be zero.
-
-   On output:
-	t0  = last word written
-	t8  = bitmask (with one bit set) indicating the last byte written
-	t10 = bitmask (with one bit set) indicating the byte position of
-	      the end of the range specified by COUNT
-	a0  = unaligned address of the last *word* written
-	a2  = the number of full words left in COUNT
-
-   Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noat
-	.set noreorder
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the
-   aligned copy in its own procedure descriptor */
-
-
-	.ent stxncpy_aligned
-	.align 4
-stxncpy_aligned:
-	.frame sp, 0, t9, 0
-	.prologue 0
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == the first source word.  */
-
-	/* Create the 1st output word and detect 0's in the 1st input word.  */
-	lda	t2, -1		# E : build a mask against false zero
-	mskqh	t2, a1, t2	# U :   detection in the src word (stall)
-	mskqh	t1, a1, t3	# U :
-	ornot	t1, t2, t2	# E : (stall)
-
-	mskql	t0, a1, t0	# U : assemble the first output word
-	cmpbge	zero, t2, t7	# E : bits set iff null found
-	or	t0, t3, t0	# E : (stall)
-	beq	a2, $a_eoc	# U :
-
-	bne	t7, $a_eos	# U :
-	nop
-	nop
-	nop
-
-	/* On entry to this basic block:
-	   t0 == a source word not containing a null.  */
-
-	/*
-	 * nops here to:
-	 *	separate store quads from load quads
-	 *	limit of 1 bcond/quad to permit training
-	 */
-$a_loop:
-	stq_u	t0, 0(a0)	# L :
-	addq	a0, 8, a0	# E :
-	subq	a2, 1, a2	# E :
-	nop
-
-	ldq_u	t0, 0(a1)	# L :
-	addq	a1, 8, a1	# E :
-	cmpbge	zero, t0, t7	# E :
-	beq	a2, $a_eoc      # U :
-
-	beq	t7, $a_loop	# U :
-	nop
-	nop
-	nop
-
-	/* Take care of the final (partial) word store.  At this point
-	   the end-of-count bit is set in t7 iff it applies.
-
-	   On entry to this basic block we have:
-	   t0 == the source word containing the null
-	   t7 == the cmpbge mask that found it.  */
-
-$a_eos:
-	negq	t7, t8		# E : find low bit set
-	and	t7, t8, t8	# E : (stall)
-	/* For the sake of the cache, don't read a destination word
-	   if we're not going to need it.  */
-	and	t8, 0x80, t6	# E : (stall)
-	bne	t6, 1f		# U : (stall)
-
-	/* We're doing a partial word store and so need to combine
-	   our source and original destination words.  */
-	ldq_u	t1, 0(a0)	# L :
-	subq	t8, 1, t6	# E :
-	or	t8, t6, t7	# E : (stall)
-	zapnot	t0, t7, t0	# U : clear src bytes > null (stall)
-
-	zap	t1, t7, t1	# .. e1 : clear dst bytes <= null
-	or	t0, t1, t0	# e1    : (stall)
-	nop
-	nop
-
-1:	stq_u	t0, 0(a0)	# L :
-	ret	(t9)		# L0 : Latency=3
-	nop
-	nop
-
-	/* Add the end-of-count bit to the eos detection bitmask.  */
-$a_eoc:
-	or	t10, t7, t7	# E :
-	br	$a_eos		# L0 : Latency=3
-	nop
-	nop
-
-	.end stxncpy_aligned
-
-	.align 4
-	.ent __stxncpy
-	.globl __stxncpy
-__stxncpy:
-	.frame sp, 0, t9, 0
-	.prologue 0
-
-	/* Are source and destination co-aligned?  */
-	xor	a0, a1, t1	# E :
-	and	a0, 7, t0	# E : find dest misalignment
-	and	t1, 7, t1	# E : (stall)
-	addq	a2, t0, a2	# E : bias count by dest misalignment (stall)
-
-	subq	a2, 1, a2	# E :
-	and	a2, 7, t2	# E : (stall)
-	srl	a2, 3, a2	# U : a2 = loop counter = (count - 1)/8 (stall)
-	addq	zero, 1, t10	# E :
-
-	sll	t10, t2, t10	# U : t10 = bitmask of last count byte
-	bne	t1, $unaligned	# U :
-	/* We are co-aligned; take care of a partial first word.  */
-	ldq_u	t1, 0(a1)	# L : load first src word
-	addq	a1, 8, a1	# E :
-
-	beq	t0, stxncpy_aligned     # U : avoid loading dest word if not needed
-	ldq_u	t0, 0(a0)	# L :
-	nop
-	nop
-
-	br	stxncpy_aligned	# .. e1 :
-	nop
-	nop
-	nop
-
-
-
-/* The source and destination are not co-aligned.  Align the destination
-   and cope.  We have to be very careful about not reading too much and
-   causing a SEGV.  */
-
-	.align 4
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full source word.  We can still find a zero at the end of it
-	   that prevents us from outputting the whole thing.
-
-	   On entry to this basic block:
-	   t0 == the first dest word, unmasked
-	   t1 == the shifted low bits of the first source word
-	   t6 == bytemask that is -1 in dest word bytes */
-
-	ldq_u	t2, 8(a1)	# L : Latency=3 load second src word
-	addq	a1, 8, a1	# E :
-	mskql	t0, a0, t0	# U : mask trailing garbage in dst
-	extqh	t2, a1, t4	# U : (3 cycle stall on t2)
-
-	or	t1, t4, t1	# E : first aligned src word complete (stall)
-	mskqh	t1, a0, t1	# U : mask leading garbage in src (stall)
-	or	t0, t1, t0	# E : first output word complete (stall)
-	or	t0, t6, t6	# E : mask original data for zero test (stall)
-
-	cmpbge	zero, t6, t7	# E :
-	beq	a2, $u_eocfin	# U :
-	lda	t6, -1		# E :
-	nop
-
-	bne	t7, $u_final	# U :
-	mskql	t6, a1, t6	# U : mask out bits already seen
-	stq_u	t0, 0(a0)	# L : store first output word
-	or      t6, t2, t2	# E :
-
-	cmpbge	zero, t2, t7	# E : find nulls in second partial
-	addq	a0, 8, a0	# E :
-	subq	a2, 1, a2	# E :
-	bne	t7, $u_late_head_exit	# U :
-
-	/* Finally, we've got all the stupid leading edge cases taken care
-	   of and we can set up to enter the main loop.  */
-	extql	t2, a1, t1	# U : position hi-bits of lo word
-	beq	a2, $u_eoc	# U :
-	ldq_u	t2, 8(a1)	# L : read next high-order source word
-	addq	a1, 8, a1	# E :
-
-	extqh	t2, a1, t0	# U : position lo-bits of hi word (stall)
-	cmpbge	zero, t2, t7	# E :
-	nop			
-	bne	t7, $u_eos	# U :
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned source words.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t0 == the shifted low-order bits from the current source word
-	   t1 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word
-
-	   We further know that t2 does not contain a null terminator.  */
-
-	.align 4
-$u_loop:
-	or	t0, t1, t0	# E : current dst word now complete
-	subq	a2, 1, a2	# E : decrement word count
-	extql	t2, a1, t1	# U : extract high bits for next time
-	addq	a0, 8, a0	# E :
-
-	stq_u	t0, -8(a0)	# L : save the current word
-	beq	a2, $u_eoc	# U :
-	ldq_u	t2, 8(a1)	# L : Latency=3 load high word for next time
-	addq	a1, 8, a1	# E :
-
-	extqh	t2, a1, t0	# U : extract low bits (2 cycle stall)
-	cmpbge	zero, t2, t7	# E : test new word for eos
-	nop
-	beq	t7, $u_loop	# U :
-
-	/* We've found a zero somewhere in the source word we just read.
-	   If it resides in the lower half, we have one (probably partial)
-	   word to write out, and if it resides in the upper half, we
-	   have one full and one partial word left to write out.
-
-	   On entry to this basic block:
-	   t0 == the shifted low-order bits from the current source word
-	   t1 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word.  */
-$u_eos:
-	or	t0, t1, t0	# E : first (partial) source word complete
-	nop
-	cmpbge	zero, t0, t7	# E : is the null in this first bit? (stall)
-	bne	t7, $u_final	# U : (stall)
-
-	stq_u	t0, 0(a0)	# L : the null was in the high-order bits
-	addq	a0, 8, a0	# E :
-	subq	a2, 1, a2	# E :
-	nop
-
-$u_late_head_exit:
-	extql	t2, a1, t0	# U :
-	cmpbge	zero, t0, t7	# E :
-	or	t7, t10, t6	# E : (stall)
-	cmoveq	a2, t6, t7	# E : Latency=2, extra map slot (stall)
-
-	/* Take care of a final (probably partial) result word.
-	   On entry to this basic block:
-	   t0 == assembled source word
-	   t7 == cmpbge mask that found the null.  */
-$u_final:
-	negq	t7, t6		# E : isolate low bit set
-	and	t6, t7, t8	# E : (stall)
-	and	t8, 0x80, t6	# E : avoid dest word load if we can (stall)
-	bne	t6, 1f		# U : (stall)
-
-	ldq_u	t1, 0(a0)	# L :
-	subq	t8, 1, t6	# E :
-	or	t6, t8, t7	# E : (stall)
-	zapnot	t0, t7, t0	# U : kill source bytes > null
-
-	zap	t1, t7, t1	# U : kill dest bytes <= null
-	or	t0, t1, t0	# E : (stall)
-	nop
-	nop
-
-1:	stq_u	t0, 0(a0)	# L :
-	ret	(t9)		# L0 : Latency=3
-
-        /* Got to end-of-count before end of string.  
-           On entry to this basic block:
-           t1 == the shifted high-order bits from the previous source word  */
-$u_eoc:
-	and	a1, 7, t6	# E :
-	sll	t10, t6, t6	# U : (stall)
-	and	t6, 0xff, t6	# E : (stall)
-	bne	t6, 1f		# U : (stall)
-
-	ldq_u	t2, 8(a1)	# L : load final src word
-	nop
-	extqh	t2, a1, t0	# U : extract low bits for last word (stall)	
-	or	t1, t0, t1	# E : (stall)
-
-1:	cmpbge	zero, t1, t7	# E :
-	mov	t1, t0
-
-$u_eocfin:			# end-of-count, final word
-	or	t10, t7, t7	# E :
-	br	$u_final	# L0 : Latency=3
-
-	/* Unaligned copy entry point.  */
-	.align 4
-$unaligned:
-
-	ldq_u	t1, 0(a1)	# L : load first source word
-	and	a0, 7, t4	# E : find dest misalignment
-	and	a1, 7, t5	# E : find src misalignment
-	/* Conditionally load the first destination word and a bytemask
-	   with 0xff indicating that the destination byte is sacrosanct.  */
-	mov	zero, t0	# E :
-
-	mov	zero, t6	# E :
-	beq	t4, 1f		# U :
-	ldq_u	t0, 0(a0)	# L :
-	lda	t6, -1		# E :
-
-	mskql	t6, a0, t6	# U :
-	nop
-	nop
-1:	subq	a1, t4, a1	# E : sub dest misalignment from src addr
-
-	/* If source misalignment is larger than dest misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-
-	cmplt	t4, t5, t8	# E :
-	extql	t1, a1, t1	# U : shift src into place
-	lda	t2, -1		# E : for creating masks later
-	beq	t8, $u_head	# U : (stall)
-
-	mskqh	t2, t5, t2	# U : begin src byte validity mask
-	cmpbge	zero, t1, t7	# E : is there a zero?
-	extql	t2, a1, t2	# U :
-	or	t7, t10, t5	# E : test for end-of-count too
-
-	cmpbge	zero, t2, t3	# E :
-	cmoveq	a2, t5, t7	# E : Latency=2, extra map slot
-	nop			# E : keep with cmoveq
-	andnot	t7, t3, t7	# E : (stall)
-
-	beq	t7, $u_head	# U :
-	/* At this point we've found a zero in the first partial word of
-	   the source.  We need to isolate the valid source data and mask
-	   it into the original destination data.  (Incidentally, we know
-	   that we'll need at least one byte of that original dest word.) */
-	ldq_u	t0, 0(a0)	# L :
-	negq	t7, t6		# E : build bitmask of bytes <= zero
-	mskqh	t1, t4, t1	# U :
-
-	and	t6, t7, t8	# E :
-	subq	t8, 1, t6	# E : (stall)
-	or	t6, t8, t7	# E : (stall)
-	zapnot	t2, t7, t2	# U : prepare source word; mirror changes (stall)
-
-	zapnot	t1, t7, t1	# U : to source validity mask
-	andnot	t0, t2, t0	# E : zero place for source to reside
-	or	t0, t1, t0	# E : and put it there (stall both t0, t1)
-	stq_u	t0, 0(a0)	# L : (stall)
-
-	ret	(t9)		# L0 : Latency=3
-	nop
-	nop
-	nop
-
-	.end __stxncpy
-
diff --git a/sysdeps/alpha/alphaev67/Implies b/sysdeps/alpha/alphaev67/Implies
deleted file mode 100644
index 49d19c4ad8..0000000000
--- a/sysdeps/alpha/alphaev67/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev6
diff --git a/sysdeps/alpha/alphaev67/ffs.S b/sysdeps/alpha/alphaev67/ffs.S
deleted file mode 100644
index fb1cdd932c..0000000000
--- a/sysdeps/alpha/alphaev67/ffs.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 2000, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds the first bit set in an integer.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-
-ENTRY(__ffs)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	zap	$16, 0xF0, $16
-	cttz	$16, $0
-	addq	$0, 1, $0
-	cmoveq	$16, 0, $0
-
-	nop
-	nop
-	nop
-	ret
-
-END(__ffs)
-
-weak_alias (__ffs, ffs)
-libc_hidden_builtin_def (ffs)
diff --git a/sysdeps/alpha/alphaev67/ffsll.S b/sysdeps/alpha/alphaev67/ffsll.S
deleted file mode 100644
index 72ef094189..0000000000
--- a/sysdeps/alpha/alphaev67/ffsll.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds the first bit set in a long.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(ffsl)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	cttz	$16, $0
-	addq	$0, 1, $0
-	cmoveq	$16, 0, $0
-	ret
-
-END(ffsl)
-
-weak_extern (ffsl)
-weak_alias (ffsl, ffsll)
diff --git a/sysdeps/alpha/alphaev67/fpu/Implies b/sysdeps/alpha/alphaev67/fpu/Implies
deleted file mode 100644
index 9e3f12d0ac..0000000000
--- a/sysdeps/alpha/alphaev67/fpu/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev6/fpu
diff --git a/sysdeps/alpha/alphaev67/rawmemchr.S b/sysdeps/alpha/alphaev67/rawmemchr.S
deleted file mode 100644
index 8c7e9423b0..0000000000
--- a/sysdeps/alpha/alphaev67/rawmemchr.S
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return pointer to first occurrence of CH in STR.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(__rawmemchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	ldq_u   t0, 0(a0)	# L : load first quadword Latency=3
-	and	a1, 0xff, t3	# E : 00000000000000ch
-	insbl	a1, 1, t5	# U : 000000000000ch00
-	insbl	a1, 7, a2	# U : ch00000000000000
-
-	insbl	t3, 6, a3	# U : 00ch000000000000
-	or	t5, t3, a1	# E : 000000000000chch
-	andnot  a0, 7, v0	# E : align our loop pointer
-	lda	t4, -1		# E : build garbage mask
-
-	mskqh	t4, a0, t4	# U : only want relevant part of first quad
-	or	a2, a3, a2	# E : chch000000000000
-	inswl	a1, 2, t5	# E : 00000000chch0000
-	inswl	a1, 4, a3	# E : 0000chch00000000
-
-	or	a1, a2, a1	# E : chch00000000chch
-	or	a3, t5, t5	# E : 0000chchchch0000
-	cmpbge	zero, t4, t4	# E : bits set iff byte is garbage
-	nop			# E :
-
-	/* This quad is _very_ serialized.  Lots of stalling happens */
-	or	t5, a1, a1	# E : chchchchchchchch
-	xor	t0, a1, t1	# E : make bytes == c zero
-	cmpbge  zero, t1, t0	# E : bits set iff byte == c
-	andnot	t0, t4, t0	# E : clear garbage bits
-
-	cttz	t0, a2		# U0 : speculative (in case we get a match)
-	nop			# E :
-	nop			# E :
-	bne	t0, $found	# U :
-
-	/*
-	 * Yuk.  This loop is going to stall like crazy waiting for the
-	 * data to be loaded.  Not much can be done about it unless it's
-	 * unrolled multiple times, which is generally unsafe.
-	 */
-$loop:
-	ldq	t0, 8(v0)	# L : Latency=3
-	addq	v0, 8, v0	# E :
-	xor	t0, a1, t1	# E :
-	cmpbge	zero, t1, t0	# E : bits set iff byte == c
-
-	cttz	t0, a2		# U0 : speculative (in case we get a match)
-	nop			# E :
-	nop			# E :
-	beq	t0, $loop	# U :
-
-$found:
-	negq    t0, t1		# E : clear all but least set bit
-	and     t0, t1, t0	# E :
-	addq	v0, a2, v0	# E : Add in the bit number from above
-	ret			# L0 :
-
-	END(__rawmemchr)
-
-libc_hidden_def (__rawmemchr)
-weak_alias (__rawmemchr, rawmemchr)
diff --git a/sysdeps/alpha/alphaev67/stpcpy.S b/sysdeps/alpha/alphaev67/stpcpy.S
deleted file mode 100644
index b5da4e05d3..0000000000
--- a/sysdeps/alpha/alphaev67/stpcpy.S
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/*  Copy SRC to DEST returning the address of the terminating 0 in DEST.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-	.text
-
-ENTRY(__stpcpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-#endif
-	.prologue 1
-
-	.align 4
-	mov	a0, v0
-	nop
-	jsr	t9, __stxcpy
-
-        # t8  = bitmask (with one bit set) indicating the last byte written
-        # a0  = unaligned address of the last *word* written
-
-	cttz	t8, t8
-	andnot	a0, 7, a0
-        addq    a0, t8, v0
-	ret
-
-	END(__stpcpy)
-
-weak_alias (__stpcpy, stpcpy)
-libc_hidden_def (__stpcpy)
-libc_hidden_builtin_def (stpcpy)
diff --git a/sysdeps/alpha/alphaev67/stpncpy.S b/sysdeps/alpha/alphaev67/stpncpy.S
deleted file mode 100644
index 4d61d71317..0000000000
--- a/sysdeps/alpha/alphaev67/stpncpy.S
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@redhat.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy no more then N bytes from SRC to DEST, returning the address of
-   the terminating '\0' in DEST.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noat
-	.set noreorder
-	.text
-
-ENTRY(__stpncpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-#endif
-	.prologue 1
-
-	mov	a0, v0
-	beq	a2, $zerocount
-
-	.align 4
-	nop
-	nop
-	jsr	t9, __stxncpy	# do the work of the copy
-
-	cttz	t8, t4
-	zapnot	t0, t8, t5
-	andnot	a0, 7, a0
-	bne	a2, $multiword	# do we have full words left?
-
-	subq	t8, 1, t2
-	subq	t10, 1, t3
-	cmpult	zero, t5, t5
-	addq	a0, t4, v0
-
-	or	t2, t8, t2
-	or	t3, t10, t3
-	addq	v0, t5, v0
-	andnot	t3, t2, t3
-
-	zap	t0, t3, t0
-	nop
-	stq	t0, 0(a0)
-	ret
-
-$multiword:
-	subq	t8, 1, t7	# clear the final bits in the prev word
-	cmpult	zero, t5, t5
-	or	t7, t8, t7
-	zapnot	t0, t7, t0
-
-	subq	a2, 1, a2
-	stq	t0, 0(a0)
-	addq	a0, 8, a1
-	beq	a2, 1f		# loop over full words remaining
-
-	nop
-	nop
-	nop
-	blbc	a2, 0f
-
-	stq	zero, 0(a1)
-	subq	a2, 1, a2
-	addq	a1, 8, a1
-	beq	a2, 1f
-
-0:	stq	zero, 0(a1)
-	subq	a2, 2, a2
-	nop
-	nop
-
-	stq	zero, 8(a1)
-	addq	a1, 16, a1
-	nop
-	bne	a2, 0b
-
-1:	ldq	t0, 0(a1)	# clear the leading bits in the final word
-	subq	t10, 1, t7
-	addq	a0, t4, v0
-	nop
-
-	or	t7, t10, t7
-	addq	v0, t5, v0
-	zap	t0, t7, t0
-	stq	t0, 0(a1)
-
-$zerocount:
-	nop
-	nop
-	nop
-	ret
-
-	END(__stpncpy)
-
-libc_hidden_def (__stpncpy)
-weak_alias (__stpncpy, stpncpy)
diff --git a/sysdeps/alpha/alphaev67/strcat.S b/sysdeps/alpha/alphaev67/strcat.S
deleted file mode 100644
index ae7c48808a..0000000000
--- a/sysdeps/alpha/alphaev67/strcat.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-   EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Append a null-terminated string from SRC to DST.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.text
-
-ENTRY(strcat)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	mov	$16, $0		# E : set up return value
-	/* Find the end of the string.  */
-	ldq_u   $1, 0($16)	# L : load first quadword (a0 may be misaligned)
-	lda     $2, -1		# E :
-	insqh   $2, $16, $2	# U :
-
-	andnot  $16, 7, $16	# E :
-	or      $2, $1, $1	# E :
-	cmpbge  $31, $1, $2	# E : bits set iff byte == 0
-	bne     $2, $found	# U :
-
-$loop:	ldq     $1, 8($16)	# L :
-	addq    $16, 8, $16	# E :
-	cmpbge  $31, $1, $2	# E :
-	beq     $2, $loop	# U :
-
-$found:	cttz	$2, $3		# U0 :
-	addq	$16, $3, $16	# E :
-	/* Now do the append.  */
-	mov	$26, $23	# E :
-	jmp	$31, __stxcpy	# L0 :
-
-	END(strcat)
-libc_hidden_builtin_def (strcat)
diff --git a/sysdeps/alpha/alphaev67/strchr.S b/sysdeps/alpha/alphaev67/strchr.S
deleted file mode 100644
index 101c7d489a..0000000000
--- a/sysdeps/alpha/alphaev67/strchr.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-   EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return the address of a given character within a null-terminated
-   string, or null if it is not found.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(strchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	ldq_u   t0, 0(a0)	# L : load first quadword Latency=3
-	and	a1, 0xff, t3	# E : 00000000000000ch
-	insbl	a1, 1, t5	# U : 000000000000ch00
-	insbl	a1, 7, a2	# U : ch00000000000000
-
-	insbl	t3, 6, a3	# U : 00ch000000000000
-	or	t5, t3, a1	# E : 000000000000chch
-	andnot  a0, 7, v0	# E : align our loop pointer
-	lda	t4, -1		# E : build garbage mask
-
-	mskqh	t4, a0, t4	# U : only want relevant part of first quad
-	or	a2, a3, a2	# E : chch000000000000
-	inswl	a1, 2, t5	# E : 00000000chch0000
-	inswl	a1, 4, a3	# E : 0000chch00000000
-
-	or	a1, a2, a1	# E : chch00000000chch
-	or	a3, t5, t5	# E : 0000chchchch0000
-	cmpbge  zero, t0, t2	# E : bits set iff byte == zero
-	cmpbge	zero, t4, t4	# E : bits set iff byte is garbage
-
-	/* This quad is _very_ serialized.  Lots of stalling happens */
-	or	t5, a1, a1	# E : chchchchchchchch
-	xor	t0, a1, t1	# E : make bytes == c zero
-	cmpbge  zero, t1, t3	# E : bits set iff byte == c
-	or	t2, t3, t0	# E : bits set iff char match or zero match
-
-	andnot	t0, t4, t0	# E : clear garbage bits
-	cttz	t0, a2		# U0 : speculative (in case we get a match)
-	nop			# E :
-	bne	t0, $found	# U :
-
-	/*
-	 * Yuk.  This loop is going to stall like crazy waiting for the
-	 * data to be loaded.  Not much can be done about it unless it's
-	 * unrolled multiple times, which is generally unsafe.
-	 */
-$loop:
-	ldq	t0, 8(v0)	# L : Latency=3
-	addq	v0, 8, v0	# E :
-	xor	t0, a1, t1	# E :
-	cmpbge	zero, t0, t2	# E : bits set iff byte == 0
-
-	cmpbge	zero, t1, t3	# E : bits set iff byte == c
-	or	t2, t3, t0	# E :
-	cttz	t3, a2		# U0 : speculative (in case we get a match)
-	beq	t0, $loop	# U :
-
-$found:
-	negq    t0, t1		# E : clear all but least set bit
-	and     t0, t1, t0	# E :
-	and	t0, t3, t1	# E : bit set iff byte was the char
-	addq	v0, a2, v0	# E : Add in the bit number from above
-
-	cmoveq	t1, $31, v0	# E : Two mapping slots, latency = 2
-	nop
-	nop
-	ret			# L0 :
-
-	END(strchr)
-
-weak_alias (strchr, index)
-libc_hidden_builtin_def (strchr)
diff --git a/sysdeps/alpha/alphaev67/strlen.S b/sysdeps/alpha/alphaev67/strlen.S
deleted file mode 100644
index b83eacceaf..0000000000
--- a/sysdeps/alpha/alphaev67/strlen.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds length of a 0-terminated string.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(strlen)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	ldq_u	$1, 0($16)	# L : load first quadword ($16 may be misaligned)
-	lda	$2, -1($31)	# E :
-	insqh	$2, $16, $2	# U :
-	andnot	$16, 7, $0	# E :
-
-	or	$2, $1, $1	# E :
-	cmpbge	$31, $1, $2	# E : $2  <- bitmask: bit i == 1 <==> i-th byte == 0
-	nop			# E :
-	bne	$2, $found	# U :
-
-$loop:	ldq	$1, 8($0)	# L :
-	addq	$0, 8, $0	# E : addr += 8
-	cmpbge	$31, $1, $2	# E :
-	beq	$2, $loop	# U :
-
-$found:
-	cttz	$2, $3		# U0 :
-	addq	$0, $3, $0	# E :
-	subq	$0, $16, $0	# E :
-	ret	$31, ($26)	# L0 :
-
-	END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/sysdeps/alpha/alphaev67/strncat.S b/sysdeps/alpha/alphaev67/strncat.S
deleted file mode 100644
index ae3257ca42..0000000000
--- a/sysdeps/alpha/alphaev67/strncat.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-   EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Append no more than COUNT characters from the null-terminated string SRC
-   to the null-terminated string DST.  Always null-terminate the new DST.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.text
-
-ENTRY(strncat)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	mov	a0, v0		# set up return value
-	beq	a2, $zerocount	# U :
-	/* Find the end of the string.  */
-	ldq_u   t0, 0(a0)	# L : load first quadword (a0 may be misaligned)
-	lda     t1, -1		# E :
-
-	insqh   t1, v0, t1	# U :
-	andnot  a0, 7, a0	# E :
-	nop			# E :
-	or      t1, t0, t0	# E :
-
-	nop			# E :
-	nop			# E :
-	cmpbge  zero, t0, t1	# E : bits set iff byte == 0
-	bne     t1, $found	# U :
-
-$loop:	ldq     t0, 8(a0)	# L :
-	addq    a0, 8, a0	# E :
-	cmpbge  zero, t0, t1	# E :
-	beq     t1, $loop	# U :
-
-$found:	cttz	t1, t2		# U0 :
-	addq	a0, t2, a0	# E :
-	jsr	t9, __stxncpy	# L0 : Now do the append.
-
-	/* Worry about the null termination.  */
-
-	cttz	t10, t2		# U0: byte offset of end-of-count.
-	bic	a0, 7, a0	# E : word align the last write address.
-	zapnot	t0, t8, t1	# U : was last byte a null?
-	nop			# E :
-
-	bne	t1, 0f		# U :
-	nop			# E :
-	nop			# E :
-	ret			# L0 :
-
-0:	addq	t2, a0, a0	# E : address of end-of-count
-	stb	zero, 1(a0)	# L :
-	nop			# E :
-	ret			# L0 :
-
-$zerocount:
-	nop			# E :
-	nop			# E :
-	nop			# E :
-	ret			# L0 :
-
-	END(strncat)
diff --git a/sysdeps/alpha/alphaev67/strrchr.S b/sysdeps/alpha/alphaev67/strrchr.S
deleted file mode 100644
index c46a3df4f8..0000000000
--- a/sysdeps/alpha/alphaev67/strrchr.S
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-   EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return the address of the last occurrence of a given character
-   within a null-terminated string, or null if it is not found.  */
-
-#include <sysdep.h>
-
-	.arch ev6
-	.set noreorder
-	.set noat
-
-ENTRY(strrchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	and	a1, 0xff, t2	# E : 00000000000000ch
-	insbl	a1, 1, t4	# U : 000000000000ch00
-	insbl	a1, 2, t5	# U : 0000000000ch0000
-	ldq_u   t0, 0(a0)	# L : load first quadword Latency=3
-
-	mov	zero, t6	# E : t6 is last match aligned addr
-	or	t2, t4, a1	# E : 000000000000chch
-	sll	t5, 8, t3	# U : 00000000ch000000
-	mov	zero, t8	# E : t8 is last match byte compare mask
-
-	andnot  a0, 7, v0	# E : align source addr
-	or	t5, t3, t3	# E : 00000000chch0000
-	sll	a1, 32, t2	# U : 0000chch00000000
-	sll	a1, 48, t4	# U : chch000000000000
-
-	or	t4, a1, a1	# E : chch00000000chch
-	or	t2, t3, t2	# E : 0000chchchch0000
-	or	a1, t2, a1	# E : chchchchchchchch
-	lda	t5, -1		# E : build garbage mask
-
-	cmpbge  zero, t0, t1	# E : bits set iff byte == zero
-	mskqh	t5, a0, t4	# E : Complete garbage mask
-	xor	t0, a1, t2	# E : make bytes == c zero
-	cmpbge	zero, t4, t4	# E : bits set iff byte is garbage
-
-	cmpbge  zero, t2, t3	# E : bits set iff byte == c
-	andnot	t1, t4, t1	# E : clear garbage from null test
-	andnot	t3, t4, t3	# E : clear garbage from char test
-	bne	t1, $eos	# U : did we already hit the terminator?
-
-	/* Character search main loop */
-$loop:
-	ldq	t0, 8(v0)	# L : load next quadword
-	cmovne	t3, v0, t6	# E : save previous comparisons match
-	nop			#   : Latency=2, extra map slot (keep nop with cmov)
-	nop
-
-	cmovne	t3, t3, t8	# E : Latency=2, extra map slot
-	nop			#   : keep with cmovne
-	addq	v0, 8, v0	# E :
-	xor	t0, a1, t2	# E :
-
-	cmpbge	zero, t0, t1	# E : bits set iff byte == zero
-	cmpbge	zero, t2, t3	# E : bits set iff byte == c
-	beq	t1, $loop	# U : if we havnt seen a null, loop
-	nop
-
-	/* Mask out character matches after terminator */
-$eos:
-	negq	t1, t4		# E : isolate first null byte match
-	and	t1, t4, t4	# E :
-	subq	t4, 1, t5	# E : build a mask of the bytes upto...
-	or	t4, t5, t4	# E : ... and including the null
-
-	and	t3, t4, t3	# E : mask out char matches after null
-	cmovne	t3, t3, t8	# E : save it, if match found Latency=2, extra map slot
-	nop			#   : Keep with cmovne
-	nop
-
-	cmovne	t3, v0, t6	# E :
-	nop			#   : Keep with cmovne
-	/* Locate the address of the last matched character */
-	ctlz	t8, t2		# U0 : Latency=3 (0x40 for t8=0)
-	nop
-
-	cmoveq	t8, 0x3f, t2	# E : Compensate for case when no match is seen
-	nop			# E : hide the cmov latency (2) behind ctlz latency
-	lda	t5, 0x3f($31)	# E :
-	subq	t5, t2, t5	# E : Normalize leading zero count
-
-	addq	t6, t5, v0	# E : and add to quadword address
-	ret			# L0 : Latency=3
-	nop
-	nop
-
-END(strrchr)
-
-weak_alias (strrchr, rindex)
-libc_hidden_builtin_def (strrchr)
diff --git a/sysdeps/alpha/backtrace.c b/sysdeps/alpha/backtrace.c
deleted file mode 100644
index 297029456d..0000000000
--- a/sysdeps/alpha/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ia64/backtrace.c>
diff --git a/sysdeps/alpha/bb_init_func.S b/sysdeps/alpha/bb_init_func.S
deleted file mode 100644
index f711c8cb74..0000000000
--- a/sysdeps/alpha/bb_init_func.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* __bb_init_func is invoked at the beginning of each function, before
-   any registers have been saved.  It is therefore safe to use any
-   caller-saved (call-used) registers (except for argument registers
-   a1-a5). */
-
-#include <sysdep.h>
-
-/*
- * These offsets should match with "struct bb" declared in gcc/libgcc2.c.
- */
-#define	ZERO_WORD	0x00
-#define NEXT		0x20
-
-	.set	noat
-	.set	noreorder
-
-ENTRY(__bb_init_func)
-	.prologue 0
-
-	ldq	t0, ZERO_WORD(a0)	/* t0 <- blocks->zero_word */
-	beq	t0, init		/* not initialized yet -> */
-	ret
-
-END(__bb_init_func)
-
-	.ent init
-init:
-	.frame	sp, 0x38, ra, 0
-	subq	sp, 0x38, sp
-	.prologue 0
-
-	stq	pv, 0x30(sp)
-	br	pv, 1f
-1:	ldgp	gp, 0(pv)
-
-	ldiq	t1, __bb_head
-	lda	t3, _gmonparam
-	ldq	t2, 0(t1)
-	ldl	t3, 0(t3)		/* t3 = _gmonparam.state */
-	lda	t0, 1
-	stq	t0, ZERO_WORD(a0)	/* blocks->zero_word = 1 */
-	stq	t2, NEXT(a0)		/* blocks->next = __bb_head */
-	stq	a0, 0(t1)
-	bne	t2, $leave
-	beq	t3, $leave		/* t3 == GMON_PROF_ON? yes -> */
-
-	/* also need to initialize destructor: */
-	stq	ra, 0x00(sp)
-	lda	a0, __bb_exit_func
-	stq	a1, 0x08(sp)
-	lda	pv, atexit
-	stq	a2, 0x10(sp)
-	stq	a3, 0x18(sp)
-	stq	a4, 0x20(sp)
-	stq	a5, 0x28(sp)
-	jsr	ra, (pv), atexit
-	ldq	ra, 0x00(sp)
-	ldq	a1, 0x08(sp)
-	ldq	a2, 0x10(sp)
-	ldq	a3, 0x18(sp)
-	ldq	a4, 0x20(sp)
-	ldq	a5, 0x28(sp)
-
-$leave:	ldq	pv, 0x30(sp)
-	addq	sp, 0x38, sp
-	ret
-
-	.end init
diff --git a/sysdeps/alpha/bits/atomic.h b/sysdeps/alpha/bits/atomic.h
deleted file mode 100644
index 36a740c758..0000000000
--- a/sysdeps/alpha/bits/atomic.h
+++ /dev/null
@@ -1,369 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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;
-
-
-#ifdef UP
-# define __MB		/* nothing */
-#else
-# define __MB		"	mb\n"
-#endif
-
-
-/* Compare and exchange.  For all of the "xxx" routines, we expect a
-   "__prev" and a "__cmp" variable to be provided by the enclosing scope,
-   in which values are returned.  */
-
-#define __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2)	\
-({									\
-  unsigned long __tmp, __snew, __addr64;				\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"	andnot	%[__addr8],7,%[__addr64]\n"			\
-	"	insbl	%[__new],%[__addr8],%[__snew]\n"		\
-	"1:	ldq_l	%[__tmp],0(%[__addr64])\n"			\
-	"	extbl	%[__tmp],%[__addr8],%[__prev]\n"		\
-	"	cmpeq	%[__prev],%[__old],%[__cmp]\n"			\
-	"	beq	%[__cmp],2f\n"					\
-	"	mskbl	%[__tmp],%[__addr8],%[__tmp]\n"			\
-	"	or	%[__snew],%[__tmp],%[__tmp]\n"			\
-	"	stq_c	%[__tmp],0(%[__addr64])\n"			\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	"2:"								\
-	: [__prev] "=&r" (__prev),					\
-	  [__snew] "=&r" (__snew),					\
-	  [__tmp] "=&r" (__tmp),					\
-	  [__cmp] "=&r" (__cmp),					\
-	  [__addr64] "=&r" (__addr64)					\
-	: [__addr8] "r" (mem),						\
-	  [__old] "Ir" ((uint64_t)(uint8_t)(uint64_t)(old)),		\
-	  [__new] "r" (new)						\
-	: "memory");							\
-})
-
-#define __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2) \
-({									\
-  unsigned long __tmp, __snew, __addr64;				\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"	andnot	%[__addr16],7,%[__addr64]\n"			\
-	"	inswl	%[__new],%[__addr16],%[__snew]\n"		\
-	"1:	ldq_l	%[__tmp],0(%[__addr64])\n"			\
-	"	extwl	%[__tmp],%[__addr16],%[__prev]\n"		\
-	"	cmpeq	%[__prev],%[__old],%[__cmp]\n"			\
-	"	beq	%[__cmp],2f\n"					\
-	"	mskwl	%[__tmp],%[__addr16],%[__tmp]\n"		\
-	"	or	%[__snew],%[__tmp],%[__tmp]\n"			\
-	"	stq_c	%[__tmp],0(%[__addr64])\n"			\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	"2:"								\
-	: [__prev] "=&r" (__prev),					\
-	  [__snew] "=&r" (__snew),					\
-	  [__tmp] "=&r" (__tmp),					\
-	  [__cmp] "=&r" (__cmp),					\
-	  [__addr64] "=&r" (__addr64)					\
-	: [__addr16] "r" (mem),						\
-	  [__old] "Ir" ((uint64_t)(uint16_t)(uint64_t)(old)),		\
-	  [__new] "r" (new)						\
-	: "memory");							\
-})
-
-#define __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2) \
-({									\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldl_l	%[__prev],%[__mem]\n"				\
-	"	cmpeq	%[__prev],%[__old],%[__cmp]\n"			\
-	"	beq	%[__cmp],2f\n"					\
-	"	mov	%[__new],%[__cmp]\n"				\
-	"	stl_c	%[__cmp],%[__mem]\n"				\
-	"	beq	%[__cmp],1b\n"					\
-		mb2							\
-	"2:"								\
-	: [__prev] "=&r" (__prev),					\
-	  [__cmp] "=&r" (__cmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__old] "Ir" ((uint64_t)(atomic32_t)(uint64_t)(old)),		\
-	  [__new] "Ir" (new)						\
-	: "memory");							\
-})
-
-#define __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2) \
-({									\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldq_l	%[__prev],%[__mem]\n"				\
-	"	cmpeq	%[__prev],%[__old],%[__cmp]\n"			\
-	"	beq	%[__cmp],2f\n"					\
-	"	mov	%[__new],%[__cmp]\n"				\
-	"	stq_c	%[__cmp],%[__mem]\n"				\
-	"	beq	%[__cmp],1b\n"					\
-		mb2							\
-	"2:"								\
-	: [__prev] "=&r" (__prev),					\
-	  [__cmp] "=&r" (__cmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__old] "Ir" ((uint64_t)(old)),				\
-	  [__new] "Ir" (new)						\
-	: "memory");							\
-})
-
-/* For all "bool" routines, we return FALSE if exchange succesful.  */
-
-#define __arch_compare_and_exchange_bool_8_int(mem, new, old, mb1, mb2)	\
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2);	\
-   !__cmp; })
-
-#define __arch_compare_and_exchange_bool_16_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2);	\
-   !__cmp; })
-
-#define __arch_compare_and_exchange_bool_32_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2);	\
-   !__cmp; })
-
-#define __arch_compare_and_exchange_bool_64_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2);	\
-   !__cmp; })
-
-/* For all "val" routines, return the old value whether exchange
-   successful or not.  */
-
-#define __arch_compare_and_exchange_val_8_int(mem, new, old, mb1, mb2)	\
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2);	\
-   (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_16_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2);	\
-   (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_32_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2);	\
-   (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_64_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp;					\
-   __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2);	\
-   (typeof (*mem))__prev; })
-
-/* Compare and exchange with "acquire" semantics, ie barrier after.  */
-
-#define atomic_compare_and_exchange_bool_acq(mem, new, old)	\
-  __atomic_bool_bysize (__arch_compare_and_exchange_bool, int,	\
-		        mem, new, old, "", __MB)
-
-#define atomic_compare_and_exchange_val_acq(mem, new, old)	\
-  __atomic_val_bysize (__arch_compare_and_exchange_val, int,	\
-		       mem, new, old, "", __MB)
-
-/* Compare and exchange with "release" semantics, ie barrier before.  */
-
-#define atomic_compare_and_exchange_bool_rel(mem, new, old)	\
-  __atomic_bool_bysize (__arch_compare_and_exchange_bool, int,	\
-		        mem, new, old, __MB, "")
-
-#define atomic_compare_and_exchange_val_rel(mem, new, old)	\
-  __atomic_val_bysize (__arch_compare_and_exchange_val, int,	\
-		       mem, new, old, __MB, "")
-
-
-/* Atomically store value and return the previous value.  */
-
-#define __arch_exchange_8_int(mem, value, mb1, mb2)			\
-({									\
-  unsigned long __ret, __tmp, __addr64, __sval;				\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"	andnot	%[__addr8],7,%[__addr64]\n"			\
-	"	insbl	%[__value],%[__addr8],%[__sval]\n"		\
-	"1:	ldq_l	%[__tmp],0(%[__addr64])\n"			\
-	"	extbl	%[__tmp],%[__addr8],%[__ret]\n"			\
-	"	mskbl	%[__tmp],%[__addr8],%[__tmp]\n"			\
-	"	or	%[__sval],%[__tmp],%[__tmp]\n"			\
-	"	stq_c	%[__tmp],0(%[__addr64])\n"			\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__sval] "=&r" (__sval),					\
-	  [__tmp] "=&r" (__tmp),					\
-	  [__addr64] "=&r" (__addr64)					\
-	: [__addr8] "r" (mem),						\
-	  [__value] "r" (value)						\
-	: "memory");							\
-  __ret; })
-
-#define __arch_exchange_16_int(mem, value, mb1, mb2)			\
-({									\
-  unsigned long __ret, __tmp, __addr64, __sval;				\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"	andnot	%[__addr16],7,%[__addr64]\n"			\
-	"	inswl	%[__value],%[__addr16],%[__sval]\n"		\
-	"1:	ldq_l	%[__tmp],0(%[__addr64])\n"			\
-	"	extwl	%[__tmp],%[__addr16],%[__ret]\n"		\
-	"	mskwl	%[__tmp],%[__addr16],%[__tmp]\n"		\
-	"	or	%[__sval],%[__tmp],%[__tmp]\n"			\
-	"	stq_c	%[__tmp],0(%[__addr64])\n"			\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__sval] "=&r" (__sval),					\
-	  [__tmp] "=&r" (__tmp),					\
-	  [__addr64] "=&r" (__addr64)					\
-	: [__addr16] "r" (mem),						\
-	  [__value] "r" (value)						\
-	: "memory");							\
-  __ret; })
-
-#define __arch_exchange_32_int(mem, value, mb1, mb2)			\
-({									\
-  signed int __ret, __tmp;						\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldl_l	%[__ret],%[__mem]\n"				\
-	"	mov	%[__val],%[__tmp]\n"				\
-	"	stl_c	%[__tmp],%[__mem]\n"				\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__tmp] "=&r" (__tmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__val] "Ir" (value)						\
-	: "memory");							\
-  __ret; })
-
-#define __arch_exchange_64_int(mem, value, mb1, mb2)			\
-({									\
-  unsigned long __ret, __tmp;						\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldq_l	%[__ret],%[__mem]\n"				\
-	"	mov	%[__val],%[__tmp]\n"				\
-	"	stq_c	%[__tmp],%[__mem]\n"				\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__tmp] "=&r" (__tmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__val] "Ir" (value)						\
-	: "memory");							\
-  __ret; })
-
-#define atomic_exchange_acq(mem, value) \
-  __atomic_val_bysize (__arch_exchange, int, mem, value, "", __MB)
-
-#define atomic_exchange_rel(mem, value) \
-  __atomic_val_bysize (__arch_exchange, int, mem, value, __MB, "")
-
-
-/* Atomically add value and return the previous (unincremented) value.  */
-
-#define __arch_exchange_and_add_8_int(mem, value, mb1, mb2) \
-  ({ __builtin_trap (); 0; })
-
-#define __arch_exchange_and_add_16_int(mem, value, mb1, mb2) \
-  ({ __builtin_trap (); 0; })
-
-#define __arch_exchange_and_add_32_int(mem, value, mb1, mb2)		\
-({									\
-  signed int __ret, __tmp;						\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldl_l	%[__ret],%[__mem]\n"				\
-	"	addl	%[__ret],%[__val],%[__tmp]\n"			\
-	"	stl_c	%[__tmp],%[__mem]\n"				\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__tmp] "=&r" (__tmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__val] "Ir" ((signed int)(value))				\
-	: "memory");							\
-  __ret; })
-
-#define __arch_exchange_and_add_64_int(mem, value, mb1, mb2)		\
-({									\
-  unsigned long __ret, __tmp;						\
-  __asm__ __volatile__ (						\
-		mb1							\
-	"1:	ldq_l	%[__ret],%[__mem]\n"				\
-	"	addq	%[__ret],%[__val],%[__tmp]\n"			\
-	"	stq_c	%[__tmp],%[__mem]\n"				\
-	"	beq	%[__tmp],1b\n"					\
-		mb2							\
-	: [__ret] "=&r" (__ret),					\
-	  [__tmp] "=&r" (__tmp)						\
-	: [__mem] "m" (*(mem)),						\
-	  [__val] "Ir" ((unsigned long)(value))				\
-	: "memory");							\
-  __ret; })
-
-/* ??? Barrier semantics for atomic_exchange_and_add appear to be 
-   undefined.  Use full barrier for now, as that's safe.  */
-#define atomic_exchange_and_add(mem, value) \
-  __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, __MB, __MB)
-
-
-/* ??? Blah, I'm lazy.  Implement these later.  Can do better than the
-   compare-and-exchange loop provided by generic code.
-
-#define atomic_decrement_if_positive(mem)
-#define atomic_bit_test_set(mem, bit)
-
-*/
-
-#ifndef UP
-# define atomic_full_barrier()	__asm ("mb" : : : "memory");
-# define atomic_read_barrier()	__asm ("mb" : : : "memory");
-# define atomic_write_barrier()	__asm ("wmb" : : : "memory");
-#endif
diff --git a/sysdeps/alpha/bits/endian.h b/sysdeps/alpha/bits/endian.h
deleted file mode 100644
index 8a16e14e24..0000000000
--- a/sysdeps/alpha/bits/endian.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Alpha 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/sysdeps/alpha/bits/link.h b/sysdeps/alpha/bits/link.h
deleted file mode 100644
index 429faff432..0000000000
--- a/sysdeps/alpha/bits/link.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-
-/* Registers for entry into PLT on Alpha.  */
-typedef struct La_alpha_regs
-{
-  uint64_t lr_r26;
-  uint64_t lr_sp;
-  uint64_t lr_r16;
-  uint64_t lr_r17;
-  uint64_t lr_r18;
-  uint64_t lr_r19;
-  uint64_t lr_r20;
-  uint64_t lr_r21;
-  double lr_f16;
-  double lr_f17;
-  double lr_f18;
-  double lr_f19;
-  double lr_f20;
-  double lr_f21;
-} La_alpha_regs;
-
-/* Return values for calls from PLT on Alpha.  */
-typedef struct La_alpha_retval
-{
-  uint64_t lrv_r0;
-  uint64_t lrv_r1;
-  double lrv_f0;
-  double lrv_f1;
-} La_alpha_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf64_Addr la_alpha_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
-				         uintptr_t *__refcook,
-				         uintptr_t *__defcook,
-				         La_alpha_regs *__regs,
-				         unsigned int *__flags,
-				         const char *__symname,
-				         long int *__framesizep);
-extern unsigned int la_alpha_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
-					  uintptr_t *__refcook,
-					  uintptr_t *__defcook,
-					  const La_alpha_regs *__inregs,
-					  La_alpha_retval *__outregs,
-					  const char *symname);
-
-__END_DECLS
diff --git a/sysdeps/alpha/bits/mathdef.h b/sysdeps/alpha/bits/mathdef.h
deleted file mode 100644
index cbfaf68e22..0000000000
--- a/sysdeps/alpha/bits/mathdef.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006
-	Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-/* FIXME! This file describes properties of the compiler, not the machine;
-   it should not be part of libc!  */
-
-#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF	1
-
-# ifdef __GNUC__
-#  if __STDC__ == 1
-
-/* In GNU or ANSI mode, gcc leaves `float' expressions as-is.  */
-typedef float float_t;
-typedef double double_t;
-
-#  else
-
-/* For `gcc -traditional', `float' expressions are evaluated as `double'. */
-typedef double float_t;
-typedef double double_t;
-
-#  endif
-# else
-
-/* Wild guess at types for float_t and double_t. */
-typedef double float_t;
-typedef double double_t;
-
-# endif
-
-/* The values returned by `ilogb' for 0 and NaN respectively.  */
-# define FP_ILOGB0     (-2147483647)
-# define FP_ILOGBNAN   (2147483647)
-
-#endif	/* ISO C99 && MATH_H */
-
-#if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
-# define _COMPLEX_H_MATHDEF 1
-# if defined(__GNUC__) && !__GNUC_PREREQ(3,4)
-
-/* Due to an ABI change, we need to remap the complex float symbols.  */
-#  define _Mdouble_		float
-#  define __MATHCALL(function, args) \
-    __MATHDECL (_Complex float, function, args)
-#  define __MATHDECL(type, function, args) \
-    __MATHDECL_1(type, function##f, args, __c1_##function##f); \
-    __MATHDECL_1(type, __##function##f, args, __c1_##function##f)
-#  define __MATHDECL_1(type, function, args, alias) \
-    extern type function args __asm__(#alias) __THROW
-
-#  include <bits/cmathcalls.h>
-
-#  undef _Mdouble_
-#  undef __MATHCALL
-#  undef __MATHDECL
-#  undef __MATHDECL_1
-
-# endif /* GNUC before 3.4 */
-#endif /* COMPLEX_H */
diff --git a/sysdeps/alpha/bits/setjmp.h b/sysdeps/alpha/bits/setjmp.h
deleted file mode 100644
index eb0b478fb8..0000000000
--- a/sysdeps/alpha/bits/setjmp.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Define the machine-dependent type `jmp_buf'.  Alpha version.
-   Copyright (C) 1992,1997,2003,2005,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-
-/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
-   We use an array of 'long int' instead, to make writing the
-   assembler easier. Naturally, user code should not depend on
-   either representation. */
-
-/*
- * Integer registers:
- *    $0 is the return value (va);
- *    $1-$8, $22-$25, $28 are call-used (t0-t7, t8-t11, at);
- *    $9-$14 we save here (s0-s5);
- *    $15 is the FP and we save it here (fp or s6);
- *    $16-$21 are input arguments (call-used) (a0-a5);
- *    $26 is the return PC and we save it here (ra);
- *    $27 is the procedure value (i.e., the address of __setjmp) (pv or t12);
- *    $29 is the global pointer, which the caller will reconstruct
- *        from the return address restored in $26 (gp);
- *    $30 is the stack pointer and we save it here (sp);
- *    $31 is always zero (zero).
- *
- * Floating-point registers:
- *    $f0 is the floating return value;
- *    $f1, $f10-$f15, $f22-$f30 are call-used;
- *    $f2-$f9 we save here;
- *    $f16-$21 are input args (call-used);
- *    $f31 is always zero.
- *
- * Note that even on Alpha hardware that does not have an FPU (there
- * isn't such a thing currently) it is required to implement the FP
- * registers.
- */
-
-#ifndef __ASSEMBLY__
-typedef long int __jmp_buf[17];
-#endif
-
-#endif  /* bits/setjmp.h */
diff --git a/sysdeps/alpha/bsd-_setjmp.S b/sysdeps/alpha/bsd-_setjmp.S
deleted file mode 100644
index 4e6a2da560..0000000000
--- a/sysdeps/alpha/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp is in setjmp.S  */
diff --git a/sysdeps/alpha/bsd-setjmp.S b/sysdeps/alpha/bsd-setjmp.S
deleted file mode 100644
index 1da848d2f1..0000000000
--- a/sysdeps/alpha/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp is in setjmp.S  */
diff --git a/sysdeps/alpha/bzero.S b/sysdeps/alpha/bzero.S
deleted file mode 100644
index 87e575babb..0000000000
--- a/sysdeps/alpha/bzero.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Fill a block of memory with zeros.  Optimized for the Alpha architecture:
-
-   - memory accessed as aligned quadwords only
-   - destination memory not read unless needed for good cache behaviour
-   - basic blocks arranged to optimize branch prediction for full-quadword
-     aligned memory blocks.
-   - partial head and tail quadwords constructed with byte-mask instructions
-
-   This is generally scheduled for the EV5 (got to look out for my own
-   interests :-), but with EV4 needs in mind.  There *should* be no more
-   stalls for the EV4 than there are for the EV5.
-*/
-
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the main
-   loop in its own procedure descriptor.  */
-
-	/* On entry to this basic block:
-	   t3 == loop counter
-	   t4 == bytes in partial final word
-	   a0 == possibly misaligned destination pointer  */
-
-	.ent bzero_loop
-	.align 3
-bzero_loop:
-	.frame sp, 0, ra, 0
-	.prologue 0
-
-	beq	t3, $tail	#
-	blbc	t3, 0f		# skip single store if count even
-
-	stq_u	zero, 0(a0)	# e0    : store one word
-	subq	t3, 1, t3	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	beq	t3, $tail	# .. e1 :
-
-0:	stq_u	zero, 0(a0)	# e0    : store two words
-	subq	t3, 2, t3	# .. e1 :
-	stq_u	zero, 8(a0)	# e0    :
-	addq	a0, 16, a0	# .. e1 :
-	bne	t3, 0b		# e1    :
-
-$tail:	bne	t4, 1f		# is there a tail to do?
-	ret			# no
-
-1:	ldq_u	t0, 0(a0)	# yes, load original data
-	mskqh	t0, t4, t0	#
-	stq_u	t0, 0(a0)	#
-	ret			#
-
-	.end bzero_loop
-
-ENTRY(__bzero)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	mov	a0, v0		# e0    : move return value in place
-	beq	a1, $done	# .. e1 : early exit for zero-length store
-	and	a0, 7, t1	# e0    :
-	addq	a1, t1, a1	# e1    : add dest misalignment to count
-	srl	a1, 3, t3	# e0    : loop = count >> 3
-	and	a1, 7, t4	# .. e1 : find number of bytes in tail
-	unop			#       :
-	beq	t1, bzero_loop	# e1    : aligned head, jump right in
-
-	ldq_u	t0, 0(a0)	# e0    : load original data to mask into
-	cmpult	a1, 8, t2	# .. e1 : is this a sub-word set?
-	bne	t2, $oneq	# e1    :
-
-	mskql	t0, a0, t0	# e0    : we span words.  finish this partial
-	subq	t3, 1, t3	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-	stq_u	t0, -8(a0)	# e0    :
-	br 	bzero_loop	# .. e1 :
-
-	.align 3
-$oneq:
-	mskql	t0, a0, t2	# e0    :
-	mskqh	t0, a1, t3	# e0    :
-	or	t2, t3, t0	# e1    :
-	stq_u	t0, 0(a0)	# e0    :
-
-$done:	ret
-
-	END(__bzero)
-weak_alias (__bzero, bzero)
diff --git a/sysdeps/alpha/div.S b/sysdeps/alpha/div.S
deleted file mode 100644
index d1a724d375..0000000000
--- a/sysdeps/alpha/div.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 1996, 1997, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-#undef FRAME
-#ifdef __alpha_fix__
-#define FRAME 0
-#else
-#define FRAME 16
-#endif
-
-	.set noat
-
-	.align 4
-	.globl div
-	.ent div
-div:
-	.frame sp, FRAME, ra
-#if FRAME > 0
-	lda	sp, -FRAME(sp)
-#endif
-#ifdef PROF
-	.set	macro
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set	nomacro
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	beq	$18, $divbyzero
-	excb
-	mf_fpcr	$f10
-
-	_ITOFT2	$17, $f0, 0, $18, $f1, 8
-
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f10
-	_FTOIT	$f0, $0, 0
-
-	mull	$0, $18, $1
-	subl	$17, $1, $1
-
-	stl	$0, 0(a0)
-	stl	$1, 4(a0)
-	mov	a0, v0
-
-#if FRAME > 0
-	lda	sp, FRAME(sp)
-#endif
-	ret
-
-$divbyzero:
-	mov	a0, v0
-	lda	a0, GEN_INTDIV
-	call_pal PAL_gentrap
-	stl	zero, 0(v0)
-	stl	zero, 4(v0)
-
-#if FRAME > 0
-	lda	sp, FRAME(sp)
-#endif
-	ret
-
-	.end div
diff --git a/sysdeps/alpha/div_libc.h b/sysdeps/alpha/div_libc.h
deleted file mode 100644
index b731b02e25..0000000000
--- a/sysdeps/alpha/div_libc.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Common bits for implementing software divide.  */
-
-#include <sysdep.h>
-#ifdef __linux__
-# include <asm/gentrap.h>
-# include <asm/pal.h>
-#else
-# include <machine/pal.h>
-#endif
-
-/* These are not normal C functions.  Argument registers are t10 and t11;
-   the result goes in t12; the return address is in t9.  Only t12 and AT
-   may be clobbered.  */
-#define X	t10
-#define Y	t11
-#define RV	t12
-#define RA	t9
-
-/* The secureplt format does not allow the division routines to be called
-   via plt; there aren't enough registers free to be clobbered.  Avoid 
-   setting the symbol type to STT_FUNC, so that the linker won't be tempted
-   to create a plt entry.  */
-#define funcnoplt notype
-
-/* None of these functions should use implicit anything.  */
-	.set	nomacro
-	.set	noat
-
-/* Code fragment to invoke _mcount for profiling.  This should be invoked
-   directly after allocation of the stack frame.  */
-.macro CALL_MCOUNT
-#ifdef PROF
-	stq	ra, 0(sp)
-	stq	pv, 8(sp)
-	stq	gp, 16(sp)
-	cfi_rel_offset (ra, 0)
-	cfi_rel_offset (pv, 8)
-	cfi_rel_offset (gp, 16)
-	br	AT, 1f
-	.set	macro
-1:	ldgp	gp, 0(AT)
-	mov	RA, ra
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set	nomacro
-	ldq	ra, 0(sp)
-	ldq	pv, 8(sp)
-	ldq	gp, 16(sp)
-	cfi_restore (ra)
-	cfi_restore (pv)
-	cfi_restore (gp)
-	/* Realign subsequent code with what we'd have without this
-	   macro at all.  This means aligned with one arithmetic insn
-	   used within the bundle.  */
-	.align	4
-	nop
-#endif
-.endm
-
-/* In order to make the below work, all top-level divide routines must
-   use the same frame size.  */
-#define FRAME	64
-
-/* Code fragment to generate an integer divide-by-zero fault.  When
-   building libc.so, we arrange for there to be one copy of this code
-   placed late in the dso, such that all branches are forward.  When
-   building libc.a, we use multiple copies to avoid having an out of
-   range branch.  Users should jump to DIVBYZERO.  */
-
-.macro DO_DIVBYZERO
-#ifdef PIC
-#define DIVBYZERO	__divbyzero
-	.section .gnu.linkonce.t.divbyzero, "ax", @progbits
-	.globl	__divbyzero
-	.type	__divbyzero, @function
-	.usepv	__divbyzero, no
-	.hidden	__divbyzero
-#else
-#define DIVBYZERO	$divbyzero
-#endif
-
-	.align	4
-DIVBYZERO:
-	cfi_startproc
-	cfi_return_column (RA)
-	cfi_def_cfa_offset (FRAME)
-
-	mov	a0, RV
-	unop
-	lda	a0, GEN_INTDIV
-	call_pal PAL_gentrap
-
-	mov	RV, a0
-	clr	RV
-	lda	sp, FRAME(sp)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	cfi_endproc
-	.size	DIVBYZERO, .-DIVBYZERO
-.endm
-
-/* Like the ev6 instructions, but fall back to stack use on prior machines.  */
-
-	.arch	ev6
-
-.macro _ITOFS  gr, fr, slot
-#ifdef __alpha_fix__
-	itofs	\gr, \fr
-#else
-	stl	\gr, \slot(sp)
-	lds	\fr, \slot(sp)
-#endif
-.endm
-
-.macro _ITOFT  gr, fr, slot
-#ifdef __alpha_fix__
-	itoft	\gr, \fr
-#else
-	stq	\gr, \slot(sp)
-	ldt	\fr, \slot(sp)
-#endif
-.endm
-
-.macro _FTOIT  fr, gr, slot
-#ifdef __alpha_fix__
-	ftoit	\fr, \gr
-#else
-	stt	\fr, \slot(sp)
-	ldq	\gr, \slot(sp)
-#endif
-.endm
-
-/* Similarly, but move two registers.  Schedules better for pre-ev6.  */
-
-.macro _ITOFT2 gr1, fr1, slot1, gr2, fr2, slot2
-#ifdef __alpha_fix__
-	itoft	\gr1, \fr1
-	itoft	\gr2, \fr2
-#else
-	stq	\gr1, \slot1(sp)
-	stq	\gr2, \slot2(sp)
-	ldt	\fr1, \slot1(sp)
-	ldt	\fr2, \slot2(sp)
-#endif
-.endm
diff --git a/sysdeps/alpha/divl.S b/sysdeps/alpha/divl.S
deleted file mode 100644
index 9bac0450d0..0000000000
--- a/sysdeps/alpha/divl.S
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-/* 32-bit signed int divide.  This is not a normal C function.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may
-   be clobbered.
-
-   The FPU can handle all input values except zero.  Whee!
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-#ifndef EXTEND
-#define EXTEND(S,D)	sextl S, D
-#endif
-
-	.text
-	.align	4
-	.globl	__divl
-	.type	__divl, @funcnoplt
-	.usepv	__divl, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__divl:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-	stt	$f0, 0(sp)
-	excb
-	beq	Y, DIVBYZERO
-
-	stt	$f1, 8(sp)
-	stt	$f2, 16(sp)
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f2, 16)
-	mf_fpcr	$f2
-
-	EXTEND	(X, RV)
-	EXTEND	(Y, AT)
-	_ITOFT2	RV, $f0, 24, AT, $f1, 32
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f2
-	_FTOIT	$f0, RV, 24
-
-	ldt	$f0, 0(sp)
-	ldt	$f1, 8(sp)
-	ldt	$f2, 16(sp)
-	lda	sp, FRAME(sp)
-	cfi_restore ($f0)
-	cfi_restore ($f1)
-	cfi_restore ($f2)
-	cfi_def_cfa_offset (0)
-	sextl	RV, RV
-	ret	$31, (RA), 1
-
-	cfi_endproc
-	.size	__divl, .-__divl
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/divlu.S b/sysdeps/alpha/divlu.S
deleted file mode 100644
index 5c54bb54c0..0000000000
--- a/sysdeps/alpha/divlu.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#define UNSIGNED
-#define EXTEND(S,D)	zapnot S, 15, D
-#define __divl		__divlu
-#include <divl.S>
diff --git a/sysdeps/alpha/divq.S b/sysdeps/alpha/divq.S
deleted file mode 100644
index d2ed2c5af6..0000000000
--- a/sysdeps/alpha/divq.S
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-
-/* 64-bit signed long divide.  These are not normal C functions.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may
-   be clobbered.
-
-   Theory of operation here is that we can use the FPU divider for virtually
-   all operands that we see: all dividend values between -2**53 and 2**53-1
-   can be computed directly.  Note that divisor values need not be checked
-   against that range because the rounded fp value will be close enough such
-   that the quotient is < 1, which will properly be truncated to zero when we
-   convert back to integer.
-
-   When the dividend is outside the range for which we can compute exact
-   results, we use the fp quotent as an estimate from which we begin refining
-   an exact integral value.  This reduces the number of iterations in the
-   shift-and-subtract loop significantly.
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-	.text
-	.align	4
-	.globl	__divq
-	.type	__divq, @funcnoplt
-	.usepv	__divq, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__divq:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-
-	/* Get the fp divide insn issued as quickly as possible.  After
-	   that's done, we have at least 22 cycles until its results are
-	   ready -- all the time in the world to figure out how we're
-	   going to use the results.  */
-	stt	$f0, 0(sp)
-	excb
-	beq	Y, DIVBYZERO
-
-	stt	$f1, 8(sp)
-	stt	$f3, 48(sp)
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f3, 48)
-	mf_fpcr	$f3
-
-	_ITOFT2	X, $f0, 16, Y, $f1, 24
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-
-	/* Check to see if X fit in the double as an exact value.  */
-	sll	X, (64-53), AT
-	ldt	$f1, 8(sp)
-	sra	AT, (64-53), AT
-	cmpeq	X, AT, AT
-	beq	AT, $x_big
-
-	/* If we get here, we're expecting exact results from the division.
-	   Do nothing else besides convert and clean up.  */
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f3
-	_FTOIT	$f0, RV, 16
-
-	ldt	$f0, 0(sp)
-	ldt	$f3, 48(sp)
-	cfi_restore ($f1)
-	cfi_remember_state
-	cfi_restore ($f0)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	lda	sp, FRAME(sp)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-$x_big:
-	/* If we get here, X is large enough that we don't expect exact
-	   results, and neither X nor Y got mis-translated for the fp
-	   division.  Our task is to take the fp result, figure out how
-	   far it's off from the correct result and compute a fixup.  */
-	stq	t0, 16(sp)
-	stq	t1, 24(sp)
-	stq	t2, 32(sp)
-	stq	t5, 40(sp)
-	cfi_rel_offset (t0, 16)
-	cfi_rel_offset (t1, 24)
-	cfi_rel_offset (t2, 32)
-	cfi_rel_offset (t5, 40)
-
-#define Q	RV		/* quotient */
-#define R	t0		/* remainder */
-#define SY	t1		/* scaled Y */
-#define S	t2		/* scalar */
-#define QY	t3		/* Q*Y */
-
-	/* The fixup code below can only handle unsigned values.  */
-	or	X, Y, AT
-	mov	$31, t5
-	blt	AT, $fix_sign_in
-$fix_sign_in_ret1:
-	cvttq/c	$f0, $f0
-
-	_FTOIT	$f0, Q, 8
-	.align	3
-$fix_sign_in_ret2:
-	ldt	$f0, 0(sp)
-	stq	t3, 0(sp)
-	cfi_restore ($f0)
-	cfi_rel_offset (t3, 0)
-
-	mulq	Q, Y, QY
-	excb
-	stq	t4, 8(sp)
-	mt_fpcr	$f3
-	cfi_rel_offset (t4, 8)
-
-	subq	QY, X, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_high
-
-$q_high_ret:
-	subq	X, QY, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_low
-
-$q_low_ret:
-	ldq	t0, 16(sp)
-	ldq	t1, 24(sp)
-	ldq	t2, 32(sp)
-	bne	t5, $fix_sign_out
-
-$fix_sign_out_ret:
-	ldq	t3, 0(sp)
-	ldq	t4, 8(sp)
-	ldq	t5, 40(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_remember_state
-	cfi_restore (t0)
-	cfi_restore (t1)
-	cfi_restore (t2)
-	cfi_restore (t3)
-	cfi_restore (t4)
-	cfi_restore (t5)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-	/* The quotient that we computed was too large.  We need to reduce
-	   it by S such that Y*S >= R.  Obviously the closer we get to the
-	   correct value the better, but overshooting high is ok, as we'll
-	   fix that up later.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_high:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	subq	Q, S, Q
-	unop
-	subq	QY, SY, QY
-	br	$q_high_ret
-
-	.align	4
-	/* The quotient that we computed was too small.  Divide Y by the 
-	   current remainder (R) and add that to the existing quotient (Q).
-	   The expectation, of course, is that R is much smaller than X.  */
-	/* Begin with a shift-up loop.  Compute S such that Y*S >= R.  We
-	   already have a copy of Y in SY and the value 1 in S.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_low:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	/* Shift-down and subtract loop.  Each iteration compares our scaled
-	   Y (SY) with the remainder (R); if SY <= R then X is divisible by
-	   Y's scalar (S) so add it to the quotient (Q).  */
-2:	addq	Q, S, t3
-	srl	S, 1, S
-	cmpule	SY, R, AT
-	subq	R, SY, t4
-
-	cmovne	AT, t3, Q
-	cmovne	AT, t4, R
-	srl	SY, 1, SY
-	bne	S, 2b
-
-	br	$q_low_ret
-
-	.align	4
-$fix_sign_in:
-	/* If we got here, then X|Y is negative.  Need to adjust everything
-	   such that we're doing unsigned division in the fixup loop.  */
-	/* T5 records the changes we had to make:
-		bit 0:	set if result should be negative.
-		bit 2:	set if X was negated.
-		bit 3:	set if Y was negated.
-	*/
-	xor	X, Y, AT
-	cmplt	AT, 0, t5
-	cmplt	X, 0, AT
-	negq	X, t0
-
-	s4addq	AT, t5, t5
-	cmovne	AT, t0, X
-	cmplt	Y, 0, AT
-	negq	Y, t0
-
-	s8addq	AT, t5, t5
-	cmovne	AT, t0, Y
-	unop
-	blbc	t5, $fix_sign_in_ret1
-
-	cvttq/c	$f0, $f0
-	_FTOIT	$f0, Q, 8
-	.align	3
-	negq	Q, Q
-	br	$fix_sign_in_ret2
-
-	.align	4
-$fix_sign_out:
-	/* Now we get to undo what we did above.  */
-	/* ??? Is this really faster than just increasing the size of
-	   the stack frame and storing X and Y in memory?  */
-	and	t5, 8, AT
-	negq	Y, t4
-	cmovne	AT, t4, Y
-
-	and	t5, 4, AT
-	negq	X, t4
-	cmovne	AT, t4, X
-
-	negq	RV, t4
-	cmovlbs	t5, t4, RV
-
-	br	$fix_sign_out_ret
-
-	cfi_endproc
-	.size	__divq, .-__divq
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/divqu.S b/sysdeps/alpha/divqu.S
deleted file mode 100644
index ef3cdb1b2b..0000000000
--- a/sysdeps/alpha/divqu.S
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-
-/* 64-bit unsigned long divide.  These are not normal C functions.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may be
-   clobbered.
-
-   Theory of operation here is that we can use the FPU divider for virtually
-   all operands that we see: all dividend values between -2**53 and 2**53-1
-   can be computed directly.  Note that divisor values need not be checked
-   against that range because the rounded fp value will be close enough such
-   that the quotient is < 1, which will properly be truncated to zero when we
-   convert back to integer.
-
-   When the dividend is outside the range for which we can compute exact
-   results, we use the fp quotent as an estimate from which we begin refining
-   an exact integral value.  This reduces the number of iterations in the
-   shift-and-subtract loop significantly.
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-	.text
-	.align	4
-	.globl	__divqu
-	.type	__divqu, @funcnoplt
-	.usepv	__divqu, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__divqu:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-
-	/* Get the fp divide insn issued as quickly as possible.  After
-	   that's done, we have at least 22 cycles until its results are
-	   ready -- all the time in the world to figure out how we're
-	   going to use the results.  */
-	stt	$f0, 0(sp)
-	excb
-	beq	Y, DIVBYZERO
-
-	stt	$f1, 8(sp)
-	stt	$f3, 48(sp)
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f3, 48)
-	mf_fpcr	$f3
-
-	_ITOFT2	X, $f0, 16, Y, $f1, 24
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	blt	X, $x_is_neg
-	divt/c	$f0, $f1, $f0
-
-	/* Check to see if Y was mis-converted as signed value.  */
-	ldt	$f1, 8(sp)
-	blt	Y, $y_is_neg
-
-	/* Check to see if X fit in the double as an exact value.  */
-	srl	X, 53, AT
-	bne	AT, $x_big
-
-	/* If we get here, we're expecting exact results from the division.
-	   Do nothing else besides convert and clean up.  */
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f3
-	_FTOIT	$f0, RV, 16
-
-	ldt	$f0, 0(sp)
-	ldt	$f3, 48(sp)
-	cfi_remember_state
-	cfi_restore ($f0)
-	cfi_restore ($f1)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	lda	sp, FRAME(sp)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-$x_is_neg:
-	/* If we get here, X is so big that bit 63 is set, which made the
-	   conversion come out negative.  Fix it up lest we not even get
-	   a good estimate.  */
-	ldah	AT, 0x5f80		/* 2**64 as float.  */
-	stt	$f2, 24(sp)
-	cfi_rel_offset ($f2, 24)
-	_ITOFS	AT, $f2, 16
-
-	.align	4
-	addt	$f0, $f2, $f0
-	unop
-	divt/c	$f0, $f1, $f0
-	unop
-
-	/* Ok, we've now the divide issued.  Continue with other checks.  */
-	ldt	$f1, 8(sp)
-	unop
-	ldt	$f2, 24(sp)
-	blt	Y, $y_is_neg
-	cfi_restore ($f1)
-	cfi_restore ($f2)
-	cfi_remember_state	/* for y_is_neg */
-
-	.align	4
-$x_big:
-	/* If we get here, X is large enough that we don't expect exact
-	   results, and neither X nor Y got mis-translated for the fp
-	   division.  Our task is to take the fp result, figure out how
-	   far it's off from the correct result and compute a fixup.  */
-	stq	t0, 16(sp)
-	stq	t1, 24(sp)
-	stq	t2, 32(sp)
-	stq	t3, 40(sp)
-	cfi_rel_offset (t0, 16)
-	cfi_rel_offset (t1, 24)
-	cfi_rel_offset (t2, 32)
-	cfi_rel_offset (t3, 40)
-
-#define Q	RV		/* quotient */
-#define R	t0		/* remainder */
-#define SY	t1		/* scaled Y */
-#define S	t2		/* scalar */
-#define QY	t3		/* Q*Y */
-
-	cvttq/c	$f0, $f0
-	_FTOIT	$f0, Q, 8
-	mulq	Q, Y, QY
-
-	.align	4
-	stq	t4, 8(sp)
-	excb
-	ldt	$f0, 0(sp)
-	mt_fpcr	$f3
-	cfi_rel_offset (t4, 8)
-	cfi_restore ($f0)
-
-	subq	QY, X, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_high
-
-$q_high_ret:
-	subq	X, QY, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_low
-
-$q_low_ret:
-	ldq	t4, 8(sp)
-	ldq	t0, 16(sp)
-	ldq	t1, 24(sp)
-	ldq	t2, 32(sp)
-
-	ldq	t3, 40(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_remember_state
-	cfi_restore (t0)
-	cfi_restore (t1)
-	cfi_restore (t2)
-	cfi_restore (t3)
-	cfi_restore (t4)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-	/* The quotient that we computed was too large.  We need to reduce
-	   it by S such that Y*S >= R.  Obviously the closer we get to the
-	   correct value the better, but overshooting high is ok, as we'll
-	   fix that up later.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_high:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	subq	Q, S, Q
-	unop
-	subq	QY, SY, QY
-	br	$q_high_ret
-
-	.align	4
-	/* The quotient that we computed was too small.  Divide Y by the 
-	   current remainder (R) and add that to the existing quotient (Q).
-	   The expectation, of course, is that R is much smaller than X.  */
-	/* Begin with a shift-up loop.  Compute S such that Y*S >= R.  We
-	   already have a copy of Y in SY and the value 1 in S.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_low:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	/* Shift-down and subtract loop.  Each iteration compares our scaled
-	   Y (SY) with the remainder (R); if SY <= R then X is divisible by
-	   Y's scalar (S) so add it to the quotient (Q).  */
-2:	addq	Q, S, t3
-	srl	S, 1, S
-	cmpule	SY, R, AT
-	subq	R, SY, t4
-
-	cmovne	AT, t3, Q
-	cmovne	AT, t4, R
-	srl	SY, 1, SY
-	bne	S, 2b
-
-	br	$q_low_ret
-
-	.align	4
-	cfi_restore_state
-$y_is_neg:
-	/* If we get here, Y is so big that bit 63 is set.  The results
-	   from the divide will be completely wrong.  Fortunately, the
-	   quotient must be either 0 or 1, so just compute it directly.  */
-	cmpule	Y, X, RV
-	excb
-	mt_fpcr	$f3
-	ldt	$f0, 0(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_restore ($f0)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	cfi_endproc
-	.size	__divqu, .-__divqu
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/dl-dtprocnum.h b/sysdeps/alpha/dl-dtprocnum.h
deleted file mode 100644
index 67845cdd62..0000000000
--- a/sysdeps/alpha/dl-dtprocnum.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Number of extra dynamic section entries for this architecture.  By
-   default there are none.  */
-#define DT_THISPROCNUM	DT_ALPHA_NUM
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
deleted file mode 100644
index 29f500b2d0..0000000000
--- a/sysdeps/alpha/dl-machine.h
+++ /dev/null
@@ -1,522 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions.  Alpha version.
-   Copyright (C) 1996-2005, 2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This was written in the absence of an ABI -- don't expect
-   it to remain unchanged.  */
-
-#ifndef dl_machine_h
-#define dl_machine_h 1
-
-#define ELF_MACHINE_NAME "alpha"
-
-#include <string.h>
-
-
-/* Mask identifying addresses reserved for the user program,
-   where the dynamic linker should not map anything.  */
-#define ELF_MACHINE_USER_ADDRESS_MASK	0x120000000UL
-
-/* Translate a processor specific dynamic tag to the index in l_info array.  */
-#define DT_ALPHA(x) (DT_ALPHA_##x - DT_LOPROC + DT_NUM)
-
-/* Return nonzero iff ELF header is compatible with the running host.  */
-static inline int
-elf_machine_matches_host (const Elf64_Ehdr *ehdr)
-{
-  return ehdr->e_machine == EM_ALPHA;
-}
-
-/* Return the link-time address of _DYNAMIC.  The multiple-got-capable
-   linker no longer allocates the first .got entry for this.  But not to
-   worry, no special tricks are needed.  */
-static inline Elf64_Addr
-elf_machine_dynamic (void)
-{
-#ifndef NO_AXP_MULTI_GOT_LD
-  return (Elf64_Addr) &_DYNAMIC;
-#else
-  register Elf64_Addr *gp __asm__ ("$29");
-  return gp[-4096];
-#endif
-}
-
-/* Return the run-time load address of the shared object.  */
-
-static inline Elf64_Addr
-elf_machine_load_address (void)
-{
-  /* This relies on the compiler using gp-relative addresses for static symbols.  */
-  static void *dot = &dot;
-  return (void *)&dot - dot;
-}
-
-/* Set up the loaded object described by L so its unrelocated PLT
-   entries will jump to the on-demand fixup code in dl-runtime.c.  */
-
-static inline int
-elf_machine_runtime_setup (struct link_map *map, int lazy, int profile)
-{
-  extern char _dl_runtime_resolve_new[] attribute_hidden;
-  extern char _dl_runtime_profile_new[] attribute_hidden;
-  extern char _dl_runtime_resolve_old[] attribute_hidden;
-  extern char _dl_runtime_profile_old[] attribute_hidden;
-
-  struct pltgot {
-    char *resolve;
-    struct link_map *link;
-  };
-
-  struct pltgot *pg;
-  long secureplt;
-  char *resolve;
-
-  if (map->l_info[DT_JMPREL] == 0 || !lazy)
-    return lazy;
-
-  /* Check to see if we're using the read-only plt form.  */
-  secureplt = map->l_info[DT_ALPHA(PLTRO)] != 0;
-
-  /* If the binary uses the read-only secure plt format, PG points to
-     the .got.plt section, which is the right place for ld.so to place
-     its hooks.  Otherwise, PG is currently pointing at the start of
-     the plt; the hooks go at offset 16.  */
-  pg = (struct pltgot *) D_PTR (map, l_info[DT_PLTGOT]);
-  pg += !secureplt;
-
-  /* This function will be called to perform the relocation.  They're
-     not declared as functions to convince the compiler to use gp
-     relative relocations for them.  */
-  if (secureplt)
-    resolve = _dl_runtime_resolve_new;
-  else
-    resolve = _dl_runtime_resolve_old;
-
-  if (__builtin_expect (profile, 0))
-    {
-      if (secureplt)
-	resolve = _dl_runtime_profile_new;
-      else
-	resolve = _dl_runtime_profile_old;
-
-      if (GLRO(dl_profile) && _dl_name_match_p (GLRO(dl_profile), map))
-	{
-	  /* This is the object we are looking for.  Say that we really
-	     want profiling and the timers are started.  */
-	  GL(dl_profile_map) = map;
-	}
-    }
-
-  pg->resolve = resolve;
-  pg->link = map;
-
-  return lazy;
-}
-
-/* Initial entry point code for the dynamic linker.
-   The C function `_dl_start' is the real entry point;
-   its return value is the user program's entry point.  */
-
-#define RTLD_START asm ("\
-	.section .text						\n\
-	.set at							\n\
-	.globl _start						\n\
-	.ent _start						\n\
-_start:								\n\
-	.frame $31,0,$31,0					\n\
-	br	$gp, 0f						\n\
-0:	ldgp	$gp, 0($gp)					\n\
-	.prologue 0						\n\
-	/* Pass pointer to argument block to _dl_start.  */	\n\
-	mov	$sp, $16					\n\
-	bsr	$26, _dl_start		!samegp			\n\
-	.end _start						\n\
-	/* FALLTHRU */						\n\
-	.globl _dl_start_user					\n\
-	.ent _dl_start_user					\n\
-_dl_start_user:							\n\
-	.frame $31,0,$31,0					\n\
-	.prologue 0						\n\
-	/* Save the user entry point address in s0.  */		\n\
-	mov	$0, $9						\n\
-	/* See if we were run as a command with the executable	\n\
-	   file name as an extra leading argument.  */		\n\
-	ldah	$1, _dl_skip_args($gp)	!gprelhigh		\n\
-	ldl	$1, _dl_skip_args($1)	!gprellow		\n\
-	bne	$1, $fixup_stack				\n\
-$fixup_stack_ret:						\n\
-	/* The special initializer gets called with the stack	\n\
-	   just as the application's entry point will see it;	\n\
-	   it can switch stacks if it moves these contents	\n\
-	   over.  */						\n\
-" RTLD_START_SPECIAL_INIT "					\n\
-	/* Call _dl_init(_dl_loaded, argc, argv, envp) to run	\n\
-	   initializers.  */					\n\
-	ldah	$16, _rtld_local($gp)	!gprelhigh		\n\
-	ldq	$16, _rtld_local($16)	!gprellow		\n\
-	ldq	$17, 0($sp)					\n\
-	lda	$18, 8($sp)					\n\
-	s8addq	$17, 8, $19					\n\
-	addq	$19, $18, $19					\n\
-	bsr	$26, _dl_init_internal	!samegp			\n\
-	/* Pass our finalizer function to the user in $0. */	\n\
-	ldah	$0, _dl_fini($gp)	!gprelhigh		\n\
-	lda	$0, _dl_fini($0)	!gprellow		\n\
-	/* Jump to the user's entry point.  */			\n\
-	mov	$9, $27						\n\
-	jmp	($9)						\n\
-$fixup_stack:							\n\
-	/* Adjust the stack pointer to skip _dl_skip_args words.\n\
-	   This involves copying everything down, since the	\n\
-	   stack pointer must always be 16-byte aligned.  */	\n\
-	ldah	$7, _dl_argv_internal($gp) !gprelhigh		\n\
-	ldq	$2, 0($sp)					\n\
-	ldq	$5, _dl_argv_internal($7) !gprellow		\n\
-	subq	$31, $1, $6					\n\
-	subq	$2, $1, $2					\n\
-	s8addq	$6, $5, $5					\n\
-	mov	$sp, $4						\n\
-	s8addq	$1, $sp, $3					\n\
-	stq	$2, 0($sp)					\n\
-	stq	$5, _dl_argv_internal($7) !gprellow		\n\
-	/* Copy down argv.  */					\n\
-0:	ldq	$5, 8($3)					\n\
-	addq	$4, 8, $4					\n\
-	addq	$3, 8, $3					\n\
-	stq	$5, 0($4)					\n\
-	bne	$5, 0b						\n\
-	/* Copy down envp.  */					\n\
-1:	ldq	$5, 8($3)					\n\
-	addq	$4, 8, $4					\n\
-	addq	$3, 8, $3					\n\
-	stq	$5, 0($4)					\n\
-	bne	$5, 1b						\n\
-	/* Copy down auxiliary table.  */			\n\
-2:	ldq	$5, 8($3)					\n\
-	ldq	$6, 16($3)					\n\
-	addq	$4, 16, $4					\n\
-	addq	$3, 16, $3					\n\
-	stq	$5, -8($4)					\n\
-	stq	$6, 0($4)					\n\
-	bne	$5, 2b						\n\
-	br	$fixup_stack_ret				\n\
-	.end _dl_start_user					\n\
-	.set noat						\n\
-.previous");
-
-#ifndef RTLD_START_SPECIAL_INIT
-#define RTLD_START_SPECIAL_INIT /* nothing */
-#endif
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry
-   or TLS variables, so undefined references should not be allowed
-   to define the value.
-
-   ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve
-   to one of the main executable's symbols, as for a COPY reloc.
-   This is unused on Alpha.  */
-
-#if !defined RTLD_BOOTSTRAP || USE___THREAD
-# define elf_machine_type_class(type)	\
-  (((type) == R_ALPHA_JMP_SLOT		\
-    || (type) == R_ALPHA_DTPMOD64	\
-    || (type) == R_ALPHA_DTPREL64	\
-    || (type) == R_ALPHA_TPREL64) * ELF_RTYPE_CLASS_PLT)
-#else
-# define elf_machine_type_class(type)	\
-  (((type) == R_ALPHA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
-#endif
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
-#define ELF_MACHINE_JMP_SLOT	 R_ALPHA_JMP_SLOT
-
-/* The alpha never uses Elf64_Rel relocations.  */
-#define ELF_MACHINE_NO_REL 1
-
-/* Fix up the instructions of a PLT entry to invoke the function
-   rather than the dynamic linker.  */
-static inline Elf64_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
-		       const Elf64_Rela *reloc,
-		       Elf64_Addr *got_addr, Elf64_Addr value)
-{
-  const Elf64_Rela *rela_plt;
-  Elf64_Word *plte;
-  long int edisp;
-
-  /* Store the value we are going to load.  */
-  *got_addr = value;
-
-  /* If this binary uses the read-only secure plt format, we're done.  */
-  if (map->l_info[DT_ALPHA(PLTRO)])
-    return value;
-
-  /* Otherwise we have to modify the plt entry in place to do the branch.  */
-
-  /* Recover the PLT entry address by calculating reloc's index into the
-     .rela.plt, and finding that entry in the .plt.  */
-  rela_plt = (const Elf64_Rela *) D_PTR (map, l_info[DT_JMPREL]);
-  plte = (Elf64_Word *) (D_PTR (map, l_info[DT_PLTGOT]) + 32);
-  plte += 3 * (reloc - rela_plt);
-
-  /* Find the displacement from the plt entry to the function.  */
-  edisp = (long int) (value - (Elf64_Addr)&plte[3]) / 4;
-
-  if (edisp >= -0x100000 && edisp < 0x100000)
-    {
-      /* If we are in range, use br to perfect branch prediction and
-	 elide the dependency on the address load.  This case happens,
-	 e.g., when a shared library call is resolved to the same library.  */
-
-      int hi, lo;
-      hi = value - (Elf64_Addr)&plte[0];
-      lo = (short int) hi;
-      hi = (hi - lo) >> 16;
-
-      /* Emit "lda $27,lo($27)" */
-      plte[1] = 0x237b0000 | (lo & 0xffff);
-
-      /* Emit "br $31,function" */
-      plte[2] = 0xc3e00000 | (edisp & 0x1fffff);
-
-      /* Think about thread-safety -- the previous instructions must be
-	 committed to memory before the first is overwritten.  */
-      __asm__ __volatile__("wmb" : : : "memory");
-
-      /* Emit "ldah $27,hi($27)" */
-      plte[0] = 0x277b0000 | (hi & 0xffff);
-    }
-  else
-    {
-      /* Don't bother with the hint since we already know the hint is
-	 wrong.  Eliding it prevents the wrong page from getting pulled
-	 into the cache.  */
-
-      int hi, lo;
-      hi = (Elf64_Addr)got_addr - (Elf64_Addr)&plte[0];
-      lo = (short)hi;
-      hi = (hi - lo) >> 16;
-
-      /* Emit "ldq $27,lo($27)" */
-      plte[1] = 0xa77b0000 | (lo & 0xffff);
-
-      /* Emit "jmp $31,($27)" */
-      plte[2] = 0x6bfb0000;
-
-      /* Think about thread-safety -- the previous instructions must be
-	 committed to memory before the first is overwritten.  */
-      __asm__ __volatile__("wmb" : : : "memory");
-
-      /* Emit "ldah $27,hi($27)" */
-      plte[0] = 0x277b0000 | (hi & 0xffff);
-    }
-
-  /* At this point, if we've been doing runtime resolution, Icache is dirty.
-     This will be taken care of in _dl_runtime_resolve.  If instead we are
-     doing this as part of non-lazy startup relocation, that bit of code
-     hasn't made it into Icache yet, so there's nothing to clean up.  */
-
-  return value;
-}
-
-/* Return the final value of a plt relocation.  */
-static inline Elf64_Addr
-elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
-		       Elf64_Addr value)
-{
-  return value + reloc->r_addend;
-}
-
-/* Names of the architecture-specific auditing callback functions.  */
-#define ARCH_LA_PLTENTER	alpha_gnu_pltenter
-#define ARCH_LA_PLTEXIT		alpha_gnu_pltexit
-
-#endif /* !dl_machine_h */
-
-#ifdef RESOLVE_MAP
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
-   MAP is the object containing the reloc.  */
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map,
-		  const Elf64_Rela *reloc,
-		  const Elf64_Sym *sym,
-		  const struct r_found_version *version,
-		  void *const reloc_addr_arg)
-{
-  Elf64_Addr *const reloc_addr = reloc_addr_arg;
-  unsigned long int const r_type = ELF64_R_TYPE (reloc->r_info);
-
-#if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC && !defined SHARED
-  /* This is defined in rtld.c, but nowhere in the static libc.a; make the
-     reference weak so static programs can still link.  This declaration
-     cannot be done when compiling rtld.c (i.e.  #ifdef RTLD_BOOTSTRAP)
-     because rtld.c contains the common defn for _dl_rtld_map, which is
-     incompatible with a weak decl in the same file.  */
-  weak_extern (_dl_rtld_map);
-#endif
-
-  /* We cannot use a switch here because we cannot locate the switch
-     jump table until we've self-relocated.  */
-
-#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
-  if (__builtin_expect (r_type == R_ALPHA_RELATIVE, 0))
-    {
-# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
-      /* Already done in dynamic linker.  */
-      if (map != &GL(dl_rtld_map))
-# endif
-	{
-	  /* XXX Make some timings.  Maybe it's preferable to test for
-	     unaligned access and only do it the complex way if necessary.  */
-	  Elf64_Addr reloc_addr_val;
-
-	  /* Load value without causing unaligned trap. */
-	  memcpy (&reloc_addr_val, reloc_addr_arg, 8);
-	  reloc_addr_val += map->l_addr;
-
-	  /* Store value without causing unaligned trap. */
-	  memcpy (reloc_addr_arg, &reloc_addr_val, 8);
-	}
-    }
-  else
-#endif
-    if (__builtin_expect (r_type == R_ALPHA_NONE, 0))
-      return;
-  else
-    {
-      struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
-      Elf64_Addr sym_value;
-      Elf64_Addr sym_raw_value;
-
-      sym_raw_value = sym_value = reloc->r_addend;
-      if (sym_map)
-	{
-	  sym_raw_value += sym->st_value;
-	  sym_value = sym_raw_value + sym_map->l_addr;
-	}
-
-      if (r_type == R_ALPHA_GLOB_DAT)
-	*reloc_addr = sym_value;
-#ifdef RESOLVE_CONFLICT_FIND_MAP
-      /* In .gnu.conflict section, R_ALPHA_JMP_SLOT relocations have
-	 R_ALPHA_JMP_SLOT in lower 8 bits and the remaining 24 bits
-	 are .rela.plt index.  */
-      else if ((r_type & 0xff) == R_ALPHA_JMP_SLOT)
-	{
-	  /* elf_machine_fixup_plt needs the map reloc_addr points into,
-	     while in _dl_resolve_conflicts map is _dl_loaded.  */
-	  RESOLVE_CONFLICT_FIND_MAP (map, reloc_addr);
-	  reloc = ((const Elf64_Rela *) D_PTR (map, l_info[DT_JMPREL]))
-		  + (r_type >> 8);
-	  elf_machine_fixup_plt (map, 0, reloc, reloc_addr, sym_value);
-	}
-#else
-      else if (r_type == R_ALPHA_JMP_SLOT)
-	elf_machine_fixup_plt (map, 0, reloc, reloc_addr, sym_value);
-#endif
-#ifndef RTLD_BOOTSTRAP
-      else if (r_type == R_ALPHA_REFQUAD)
-	{
-	  /* Store value without causing unaligned trap.  */
-	  memcpy (reloc_addr_arg, &sym_value, 8);
-	}
-#endif
-#if !defined RTLD_BOOTSTRAP || USE___THREAD
-      else if (r_type == R_ALPHA_DTPMOD64)
-	{
-# ifdef RTLD_BOOTSTRAP
-	  /* During startup the dynamic linker is always index 1.  */
-	  *reloc_addr = 1;
-# else
-	  /* Get the information from the link map returned by the
-	     resolv function.  */
-	  if (sym_map != NULL)
-	    *reloc_addr = sym_map->l_tls_modid;
-# endif
-	}
-      else if (r_type == R_ALPHA_DTPREL64)
-	{
-# ifndef RTLD_BOOTSTRAP
-	  /* During relocation all TLS symbols are defined and used.
-	     Therefore the offset is already correct.  */
-	  *reloc_addr = sym_raw_value;
-# endif
-	}
-      else if (r_type == R_ALPHA_TPREL64)
-	{
-# ifdef RTLD_BOOTSTRAP
-	  *reloc_addr = sym_raw_value + map->l_tls_offset;
-# else
-	  if (sym_map)
-	    {
-	      CHECK_STATIC_TLS (map, sym_map);
-	      *reloc_addr = sym_raw_value + sym_map->l_tls_offset;
-	    }
-# endif
-	}
-#endif
-      else
-	_dl_reloc_bad_type (map, r_type, 0);
-    }
-}
-
-/* Let do-rel.h know that on Alpha if l_addr is 0, all RELATIVE relocs
-   can be skipped.  */
-#define ELF_MACHINE_REL_RELATIVE 1
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
-			   void *const reloc_addr_arg)
-{
-  /* XXX Make some timings.  Maybe it's preferable to test for
-     unaligned access and only do it the complex way if necessary.  */
-  Elf64_Addr reloc_addr_val;
-
-  /* Load value without causing unaligned trap. */
-  memcpy (&reloc_addr_val, reloc_addr_arg, 8);
-  reloc_addr_val += l_addr;
-
-  /* Store value without causing unaligned trap. */
-  memcpy (reloc_addr_arg, &reloc_addr_val, 8);
-}
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
-		      Elf64_Addr l_addr, const Elf64_Rela *reloc)
-{
-  Elf64_Addr * const reloc_addr = (void *)(l_addr + reloc->r_offset);
-  unsigned long int const r_type = ELF64_R_TYPE (reloc->r_info);
-
-  if (r_type == R_ALPHA_JMP_SLOT)
-    {
-      /* Perform a RELATIVE reloc on the .got entry that transfers
-	 to the .plt.  */
-      *reloc_addr += l_addr;
-    }
-  else if (r_type == R_ALPHA_NONE)
-    return;
-  else
-    _dl_reloc_bad_type (map, r_type, 1);
-}
-
-#endif /* RESOLVE_MAP */
diff --git a/sysdeps/alpha/dl-sysdep.h b/sysdeps/alpha/dl-sysdep.h
deleted file mode 100644
index cd678f4e43..0000000000
--- a/sysdeps/alpha/dl-sysdep.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* System-specific settings for dynamic linker code.  Alpha version.
-   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include_next <dl-sysdep.h>
-
-/* _dl_argv cannot be attribute_relro, because _dl_start_user
-   might write into it after _dl_start returns.  */
-#define DL_ARGV_NOT_RELRO 1
diff --git a/sysdeps/alpha/dl-tls.h b/sysdeps/alpha/dl-tls.h
deleted file mode 100644
index f81f95d75e..0000000000
--- a/sysdeps/alpha/dl-tls.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker.  Alpha version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-
-/* Type used for the representation of TLS information in the GOT.  */
-typedef struct
-{
-  unsigned long int ti_module;
-  unsigned long int ti_offset;
-} tls_index;
-
-
-extern void *__tls_get_addr (tls_index *ti);
diff --git a/sysdeps/alpha/dl-trampoline.S b/sysdeps/alpha/dl-trampoline.S
deleted file mode 100644
index c52efbb3bc..0000000000
--- a/sysdeps/alpha/dl-trampoline.S
+++ /dev/null
@@ -1,541 +0,0 @@
-/* PLT trampolines.  Alpha version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.set noat
-
-.macro savei regno, offset
-	stq	$\regno, \offset($30)
-	cfi_rel_offset(\regno, \offset)
-.endm
-
-.macro savef regno, offset
-	stt	$f\regno, \offset($30)
-	cfi_rel_offset(\regno+32, \offset)
-.endm
-
-	.align	4
-	.globl	_dl_runtime_resolve_new
-	.ent	_dl_runtime_resolve_new
-
-#undef FRAMESIZE
-#define FRAMESIZE	14*8
-
-_dl_runtime_resolve_new:
-	.frame	$30, FRAMESIZE, $26, 0
-	.mask	0x4000000, 0
-
-	ldah	$29, 0($27)		!gpdisp!1
-	lda	$30, -FRAMESIZE($30)
-	stq	$26, 0*8($30)
-	stq	$16, 2*8($30)
-
-	stq	$17, 3*8($30)
-	lda	$29, 0($29)		!gpdisp!1
-	stq	$18, 4*8($30)
-	mov	$28, $16		/* link_map from .got.plt */
-
-	stq	$19, 5*8($30)
-	mov	$25, $17		/* offset of reloc entry */
-	stq	$20, 6*8($30)
-	mov	$26, $18		/* return address */
-
-	stq	$21, 7*8($30)
-	stt	$f16, 8*8($30)
-	stt	$f17, 9*8($30)
-	stt	$f18, 10*8($30)
-
-	stt	$f19, 11*8($30)
-	stt	$f20, 12*8($30)
-	stt	$f21, 13*8($30)
-	.prologue 2
-
-	bsr	$26, _dl_fixup		!samegp
-	mov	$0, $27
-
-	ldq	$26, 0*8($30)
-	ldq	$16, 2*8($30)
-	ldq	$17, 3*8($30)
-	ldq	$18, 4*8($30)
-	ldq	$19, 5*8($30)
-	ldq	$20, 6*8($30)
-	ldq	$21, 7*8($30)
-	ldt	$f16, 8*8($30)
-	ldt	$f17, 9*8($30)
-	ldt	$f18, 10*8($30)
-	ldt	$f19, 11*8($30)
-	ldt	$f20, 12*8($30)
-	ldt	$f21, 13*8($30)
-	lda	$30, FRAMESIZE($30)
-	jmp	$31, ($27), 0
-	.end	_dl_runtime_resolve_new
-
-	.globl	_dl_runtime_profile_new
-	.type	_dl_runtime_profile_new, @function
-
-#undef FRAMESIZE
-#define FRAMESIZE	20*8
-
-	/* We save the registers in a different order than desired by
-	   .mask/.fmask, so we have to use explicit cfi directives.  */
-	cfi_startproc
-
-_dl_runtime_profile_new:
-	ldah	$29, 0($27)		!gpdisp!2
-	lda	$30, -FRAMESIZE($30)
-	savei	26, 0*8
-	stq	$16, 2*8($30)
-
-	stq	$17, 3*8($30)
-	lda	$29, 0($29)		!gpdisp!2
-	stq	$18, 4*8($30)
-	lda	$1, FRAMESIZE($30)	/* incoming sp value */
-
-	stq	$1, 1*8($30)
-	stq	$19, 5*8($30)
-	stq	$20, 6*8($30)
-	mov	$28, $16		/* link_map from .got.plt */
-
-	stq	$21, 7*8($30)
-	mov	$25, $17		/* offset of reloc entry */
-	stt	$f16, 8*8($30)
-	mov	$26, $18		/* return address */
-
-	stt	$f17, 9*8($30)
-	mov	$30, $19		/* La_alpha_regs address */
-	stt	$f18, 10*8($30)
-	lda	$20, 14*8($30)		/* framesize address */
-
-	stt	$f19, 11*8($30)
-	stt	$f20, 12*8($30)
-	stt	$f21, 13*8($30)
-	stq	$28, 16*8($30)
-	stq	$25, 17*8($30)
-
-	bsr	$26, _dl_profile_fixup	!samegp
-	mov	$0, $27
-
-	/* Discover if we're wrapping this call.  */
-	ldq	$18, 14*8($30)
-	bge	$18, 1f
-
-	ldq	$26, 0*8($30)
-	ldq	$16, 2*8($30)
-	ldq	$17, 3*8($30)
-	ldq	$18, 4*8($30)
-	ldq	$19, 5*8($30)
-	ldq	$20, 6*8($30)
-	ldq	$21, 7*8($30)
-	ldt	$f16, 8*8($30)
-	ldt	$f17, 9*8($30)
-	ldt	$f18, 10*8($30)
-	ldt	$f19, 11*8($30)
-	ldt	$f20, 12*8($30)
-	ldt	$f21, 13*8($30)
-	lda	$30, FRAMESIZE($30)
-	jmp	$31, ($27), 0
-
-1:
-	/* Create a frame pointer and allocate a new argument frame.  */
-	savei	15, 15*8
-	mov	$30, $15
-	cfi_def_cfa_register (15)
-	addq	$18, 15, $18
-	bic	$18, 15, $18
-	subq	$30, $18, $30
-
-	/* Save the call destination around memcpy.  */
-	stq	$0, 14*8($30)
-
-	/* Copy the stack arguments into place.  */
-	lda	$16, 0($30)
-	lda	$17, FRAMESIZE($15)
-	jsr	$26, memcpy
-	ldgp	$29, 0($26)
-
-	/* Reload the argument registers.  */
-	ldq	$27, 14*8($30)
-	ldq	$16, 2*8($15)
-	ldq	$17, 3*8($15)
-	ldq	$18, 4*8($15)
-	ldq	$19, 5*8($15)
-	ldq	$20, 6*8($15)
-	ldq	$21, 7*8($15)
-	ldt	$f16, 8*8($15)
-	ldt	$f17, 9*8($15)
-	ldt	$f18, 10*8($15)
-	ldt	$f19, 11*8($15)
-	ldt	$f20, 12*8($15)
-	ldt	$f21, 13*8($15)
-
-	jsr	$26, ($27), 0
-	ldgp	$29, 0($26)
-
-	/* Set up for call to _dl_call_pltexit.  */
-	ldq	$16, 16*8($15)
-	ldq	$17, 17*8($15)
-	stq	$0, 16*8($15)
-	lda	$18, 0($15)
-	stq	$1, 17*8($15)
-	lda	$19, 16*8($15)
-	stt	$f0, 18*8($15)
-	stt	$f1, 19*8($15)
-	bsr	$26, _dl_call_pltexit	!samegp
-
-	mov	$15, $30
-	cfi_def_cfa_register (30)
-	ldq	$26, 0($30)
-	ldq	$15, 15*8($30)
-	lda	$30, FRAMESIZE($30)
-	ret
-
-	cfi_endproc
-	.size	_dl_runtime_profile_new, .-_dl_runtime_profile_new
-
-	.align	4
-	.globl	_dl_runtime_resolve_old
-	.ent	_dl_runtime_resolve_old
-
-#undef FRAMESIZE
-#define FRAMESIZE	44*8
-
-_dl_runtime_resolve_old:
-	lda	$30, -FRAMESIZE($30)
-	.frame	$30, FRAMESIZE, $26
-	/* Preserve all registers that C normally doesn't.  */
-	stq	$26, 0*8($30)
-	stq	$0, 1*8($30)
-	stq	$1, 2*8($30)
-	stq	$2, 3*8($30)
-	stq	$3, 4*8($30)
-	stq	$4, 5*8($30)
-	stq	$5, 6*8($30)
-	stq	$6, 7*8($30)
-	stq	$7, 8*8($30)
-	stq	$8, 9*8($30)
-	stq	$16, 10*8($30)
-	stq	$17, 11*8($30)
-	stq	$18, 12*8($30)
-	stq	$19, 13*8($30)
-	stq	$20, 14*8($30)
-	stq	$21, 15*8($30)
-	stq	$22, 16*8($30)
-	stq	$23, 17*8($30)
-	stq	$24, 18*8($30)
-	stq	$25, 19*8($30)
-	stq	$29, 20*8($30)
-	stt	$f0, 21*8($30)
-	stt	$f1, 22*8($30)
-	stt	$f10, 23*8($30)
-	stt	$f11, 24*8($30)
-	stt	$f12, 25*8($30)
-	stt	$f13, 26*8($30)
-	stt	$f14, 27*8($30)
-	stt	$f15, 28*8($30)
-	stt	$f16, 29*8($30)
-	stt	$f17, 30*8($30)
-	stt	$f18, 31*8($30)
-	stt	$f19, 32*8($30)
-	stt	$f20, 33*8($30)
-	stt	$f21, 34*8($30)
-	stt	$f22, 35*8($30)
-	stt	$f23, 36*8($30)
-	stt	$f24, 37*8($30)
-	stt	$f25, 38*8($30)
-	stt	$f26, 39*8($30)
-	stt	$f27, 40*8($30)
-	stt	$f28, 41*8($30)
-	stt	$f29, 42*8($30)
-	stt	$f30, 43*8($30)
-	.mask	0x27ff01ff, -FRAMESIZE
-	.fmask	0xfffffc03, -FRAMESIZE+21*8
-	/* Set up our GP.  */
-	br	$29, .+4
-	ldgp	$29, 0($29)
-	.prologue 0
-	/* Set up the arguments for _dl_fixup:
-	   $16 = link_map out of plt0
-	   $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24
-	   $18 = return address
-	*/
-	subq	$28, $27, $17
-	ldq	$16, 8($27)
-	subq	$17, 20, $17
-	mov	$26, $18
-	addq	$17, $17, $17
-	bsr	$26, _dl_fixup	!samegp
-
-	/* Move the destination address into position.  */
-	mov	$0, $27
-	/* Restore program registers.  */
-	ldq	$26, 0*8($30)
-	ldq	$0, 1*8($30)
-	ldq	$1, 2*8($30)
-	ldq	$2, 3*8($30)
-	ldq	$3, 4*8($30)
-	ldq	$4, 5*8($30)
-	ldq	$5, 6*8($30)
-	ldq	$6, 7*8($30)
-	ldq	$7, 8*8($30)
-	ldq	$8, 9*8($30)
-	ldq	$16, 10*8($30)
-	ldq	$17, 11*8($30)
-	ldq	$18, 12*8($30)
-	ldq	$19, 13*8($30)
-	ldq	$20, 14*8($30)
-	ldq	$21, 15*8($30)
-	ldq	$22, 16*8($30)
-	ldq	$23, 17*8($30)
-	ldq	$24, 18*8($30)
-	ldq	$25, 19*8($30)
-	ldq	$29, 20*8($30)
-	ldt	$f0, 21*8($30)
-	ldt	$f1, 22*8($30)
-	ldt	$f10, 23*8($30)
-	ldt	$f11, 24*8($30)
-	ldt	$f12, 25*8($30)
-	ldt	$f13, 26*8($30)
-	ldt	$f14, 27*8($30)
-	ldt	$f15, 28*8($30)
-	ldt	$f16, 29*8($30)
-	ldt	$f17, 30*8($30)
-	ldt	$f18, 31*8($30)
-	ldt	$f19, 32*8($30)
-	ldt	$f20, 33*8($30)
-	ldt	$f21, 34*8($30)
-	ldt	$f22, 35*8($30)
-	ldt	$f23, 36*8($30)
-	ldt	$f24, 37*8($30)
-	ldt	$f25, 38*8($30)
-	ldt	$f26, 39*8($30)
-	ldt	$f27, 40*8($30)
-	ldt	$f28, 41*8($30)
-	ldt	$f29, 42*8($30)
-	ldt	$f30, 43*8($30)
-	/* Flush the Icache after having modified the .plt code.  */
-	imb
-	/* Clean up and turn control to the destination */
-	lda	$30, FRAMESIZE($30)
-	jmp	$31, ($27)
-
-	.end	_dl_runtime_resolve_old
-
-	.globl	_dl_runtime_profile_old
-	.usepv	_dl_runtime_profile_old, no
-	.type	_dl_runtime_profile_old, @function
-
-	/* We save the registers in a different order than desired by
-	   .mask/.fmask, so we have to use explicit cfi directives.  */
-	cfi_startproc
-
-#undef FRAMESIZE
-#define FRAMESIZE	50*8
-
-	.align	4
-_dl_runtime_profile_old:
-	lda	$30, -FRAMESIZE($30)
-	cfi_adjust_cfa_offset (FRAMESIZE)
-
-	/* Preserve all argument registers.  This also constructs the
-	   La_alpha_regs structure.  */
-	savei	26, 0*8
-	savei	16, 2*8
-	savei	17, 3*8
-	savei	18, 4*8
-	savei	19, 5*8
-	savei	20, 6*8
-	savei	21, 7*8
-	lda	$16, FRAMESIZE($30)
-	savef	16, 8*8
-	savef	17, 9*8
-	savef	18, 10*8
-	savef	19, 11*8
-	savef	20, 12*8
-	savef	21, 13*8
-	stq	$16, 1*8($30)
-
-	/* Preserve all registers that C normally doesn't.  */
-	savei	0, 14*8
-	savei	1, 15*8
-	savei	2, 16*8
-	savei	3, 17*8
-	savei	4, 18*8
-	savei	5, 19*8
-	savei	6, 20*8
-	savei	7, 21*8
-	savei	8, 22*8
-	savei	22, 23*8
-	savei	23, 24*8
-	savei	24, 25*8
-	savei	25, 26*8
-	savei	29, 27*8
-	savef	0, 28*8
-	savef	1, 29*8
-	savef	10, 30*8
-	savef	11, 31*8
-	savef	12, 32*8
-	savef	13, 33*8
-	savef	14, 34*8
-	savef	15, 35*8
-	savef	22, 36*8
-	savef	23, 37*8
-	savef	24, 38*8
-	savef	25, 39*8
-	savef	26, 40*8
-	savef	27, 41*8
-	savef	28, 42*8
-	savef	29, 43*8
-	savef	30, 44*8
-
-	/* Set up our GP.  */
-	br	$29, .+4
-	ldgp	$29, 0($29)
-
-	/* Set up the arguments for _dl_profile_fixup:
-	   $16 = link_map out of plt0
-	   $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24
-	   $18 = return address
-	   $19 = La_alpha_regs address
-	   $20 = framesize address
-	*/
-	subq	$28, $27, $17
-	ldq	$16, 8($27)
-	subq	$17, 20, $17
-	mov	$26, $18
-	addq	$17, $17, $17
-	lda	$19, 0($30)
-	lda	$20, 45*8($30)
-	stq	$16, 48*8($30)
-	stq	$17, 49*8($30)
-
-	bsr	$26, _dl_profile_fixup	!samegp
-
-	/* Discover if we're wrapping this call.  */
-	ldq	$18, 45*8($30)
-	bge	$18, 1f
-
-	/* Move the destination address into position.  */
-	mov	$0, $27
-	/* Restore program registers.  */
-	ldq	$26, 0*8($30)
-	ldq	$16, 2*8($30)
-	ldq	$17, 3*8($30)
-	ldq	$18, 4*8($30)
-	ldq	$19, 5*8($30)
-	ldq	$20, 6*8($30)
-	ldq	$21, 7*8($30)
-	ldt	$f16, 8*8($30)
-	ldt	$f17, 9*8($30)
-	ldt	$f18, 10*8($30)
-	ldt	$f19, 11*8($30)
-	ldt	$f20, 12*8($30)
-	ldt	$f21, 13*8($30)
-	ldq	$0, 14*8($30)
-	ldq	$1, 15*8($30)
-	ldq	$2, 16*8($30)
-	ldq	$3, 17*8($30)
-	ldq	$4, 18*8($30)
-	ldq	$5, 19*8($30)
-	ldq	$6, 20*8($30)
-	ldq	$7, 21*8($30)
-	ldq	$8, 22*8($30)
-	ldq	$22, 23*8($30)
-	ldq	$23, 24*8($30)
-	ldq	$24, 25*8($30)
-	ldq	$25, 26*8($30)
-	ldq	$29, 27*8($30)
-	ldt	$f0, 28*8($30)
-	ldt	$f1, 29*8($30)
-	ldt	$f10, 30*8($30)
-	ldt	$f11, 31*8($30)
-	ldt	$f12, 32*8($30)
-	ldt	$f13, 33*8($30)
-	ldt	$f14, 34*8($30)
-	ldt	$f15, 35*8($30)
-	ldt	$f22, 36*8($30)
-	ldt	$f23, 37*8($30)
-	ldt	$f24, 38*8($30)
-	ldt	$f25, 39*8($30)
-	ldt	$f26, 40*8($30)
-	ldt	$f27, 41*8($30)
-	ldt	$f28, 42*8($30)
-	ldt	$f29, 43*8($30)
-	ldt	$f30, 44*8($30)
-
-	/* Clean up and turn control to the destination.  */
-	lda	$30, FRAMESIZE($30)
-	jmp	$31, ($27)
-
-1:
-	/* Create a frame pointer and allocate a new argument frame.  */
-	savei	15, 45*8
-	mov	$30, $15
-	cfi_def_cfa_register (15)
-	addq	$18, 15, $18
-	bic	$18, 15, $18
-	subq	$30, $18, $30
-
-	/* Save the call destination around memcpy.  */
-	stq	$0, 46*8($30)
-
-	/* Copy the stack arguments into place.  */
-	lda	$16, 0($30)
-	lda	$17, FRAMESIZE($15)
-	jsr	$26, memcpy
-	ldgp	$29, 0($26)
-
-	/* Reload the argument registers.  */
-	ldq	$27, 46*8($30)
-	ldq	$16, 2*8($15)
-	ldq	$17, 3*8($15)
-	ldq	$18, 4*8($15)
-	ldq	$19, 5*8($15)
-	ldq	$20, 6*8($15)
-	ldq	$21, 7*8($15)
-	ldt	$f16, 8*8($15)
-	ldt	$f17, 9*8($15)
-	ldt	$f18, 10*8($15)
-	ldt	$f19, 11*8($15)
-	ldt	$f20, 12*8($15)
-	ldt	$f21, 13*8($15)
-
-	jsr	$26, ($27), 0
-	ldgp	$29, 0($26)
-
-	/* Set up for call to _dl_call_pltexit.  */
-	ldq	$16, 48*8($15)
-	ldq	$17, 49*8($15)
-	stq	$0, 46*8($15)
-	lda	$18, 0($15)
-	stq	$1, 47*8($15)
-	lda	$19, 46*8($15)
-	stt	$f0, 48*8($15)
-	stt	$f1, 49*8($15)
-	bsr	$26, _dl_call_pltexit	!samegp
-
-	mov	$15, $30
-	cfi_def_cfa_register (30)
-	ldq	$26, 0($30)
-	ldq	$15, 45*8($30)
-	lda	$30, FRAMESIZE($30)
-	ret
-
-	cfi_endproc
-	.size	_dl_runtime_profile_old, .-_dl_runtime_profile_old
diff --git a/sysdeps/alpha/elf/configure b/sysdeps/alpha/elf/configure
deleted file mode 100755
index ea99e35416..0000000000
--- a/sysdeps/alpha/elf/configure
+++ /dev/null
@@ -1,106 +0,0 @@
-# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/alpha/elf.
-
-if test "$usetls" != no; then
-# Check for support of thread-local storage handling in assembler and
-# linker.
-echo "$as_me:$LINENO: checking for Alpha TLS support" >&5
-echo $ECHO_N "checking for Alpha TLS support... $ECHO_C" >&6
-if test "${libc_cv_alpha_tls+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat > conftest.s <<\EOF
-	.section ".tdata", "awT", @progbits
-	.globl foo
-foo:	.quad	1
-	.section ".tbss", "awT", @nobits
-	.globl bar
-bar:	.skip	8
-	.text
-baz:
-	.set nomacro
-	ldq	$27, __tls_get_addr($29)	!literal!1
-	ldq	$16, a($29)			!tlsgd!1
-	jsr	$26, ($27), __tls_get_addr	!lituse_tlsgd!1
-
-	jsr	$26, ($27), __tls_get_addr	!lituse_tlsldm!2
-	ldq	$27, __tls_get_addr($29)	!literal!2
-	ldq	$16, b($29)			!tlsldm!2
-
-	ldq	$16, c($29)			!tlsgd
-	ldq	$16, d($29)			!tlsldm
-
-	ldq	$16, e($29)			!tlsgd!3
-	ldq	$16, f($29)			!tlsldm!4
-
-	ldq	$16, g($29)			!gotdtprel
-	ldah	$16, h($31)			!dtprelhi
-	lda	$16, i($16)			!dtprello
-	lda	$16, j($31)			!dtprel
-
-	ldq	$16, k($29)			!gottprel
-	ldah	$16, l($31)			!tprelhi
-	lda	$16, m($16)			!tprello
-	lda	$16, n($31)			!tprel
-EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  libc_cv_alpha_tls=yes
-else
-  libc_cv_alpha_tls=no
-fi
-rm -f conftest*
-fi
-echo "$as_me:$LINENO: result: $libc_cv_alpha_tls" >&5
-echo "${ECHO_T}$libc_cv_alpha_tls" >&6
-if test $libc_cv_alpha_tls = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_TLS_SUPPORT 1
-_ACEOF
-
-fi
-fi
-
-echo "$as_me:$LINENO: checking for GP relative module local relocs" >&5
-echo $ECHO_N "checking for GP relative module local relocs... $ECHO_C" >&6
-if test "${libc_cv_alpha_hidden_gprel+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat > conftest.c <<\EOF
-static int bar;
-int baz __attribute__((visibility("hidden")));
-
-int foo (void)
-{
-  return bar + baz;
-}
-EOF
-
-libc_cv_alpha_hidden_gprel=no
-if { ac_try='${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  if grep -q 'bar.*!gprel' conftest.s \
-     && grep -q 'baz.*!gprel' conftest.s \
-     && ! grep -q 'bar.*!literal' conftest.s \
-     && ! grep -q 'baz.*!literal' conftest.s; then
-    libc_cv_alpha_hidden_gprel=yes
-  fi
-fi
-rm -f conftest*
-fi
-echo "$as_me:$LINENO: result: $libc_cv_alpha_hidden_gprel" >&5
-echo "${ECHO_T}$libc_cv_alpha_hidden_gprel" >&6
-if test $libc_cv_alpha_hidden_gprel = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define PI_STATIC_AND_HIDDEN 1
-_ACEOF
-
-fi
diff --git a/sysdeps/alpha/elf/configure.in b/sysdeps/alpha/elf/configure.in
deleted file mode 100644
index 7986814548..0000000000
--- a/sysdeps/alpha/elf/configure.in
+++ /dev/null
@@ -1,78 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/alpha/elf.
-
-if test "$usetls" != no; then
-# Check for support of thread-local storage handling in assembler and
-# linker.
-AC_CACHE_CHECK(for Alpha TLS support, libc_cv_alpha_tls, [dnl
-cat > conftest.s <<\EOF
-	.section ".tdata", "awT", @progbits
-	.globl foo
-foo:	.quad	1
-	.section ".tbss", "awT", @nobits
-	.globl bar
-bar:	.skip	8
-	.text
-baz:
-	.set nomacro
-	ldq	$27, __tls_get_addr($29)	!literal!1
-	ldq	$16, a($29)			!tlsgd!1
-	jsr	$26, ($27), __tls_get_addr	!lituse_tlsgd!1
-
-	jsr	$26, ($27), __tls_get_addr	!lituse_tlsldm!2
-	ldq	$27, __tls_get_addr($29)	!literal!2
-	ldq	$16, b($29)			!tlsldm!2
-
-	ldq	$16, c($29)			!tlsgd
-	ldq	$16, d($29)			!tlsldm
-
-	ldq	$16, e($29)			!tlsgd!3
-	ldq	$16, f($29)			!tlsldm!4
-
-	ldq	$16, g($29)			!gotdtprel
-	ldah	$16, h($31)			!dtprelhi
-	lda	$16, i($16)			!dtprello
-	lda	$16, j($31)			!dtprel
-
-	ldq	$16, k($29)			!gottprel
-	ldah	$16, l($31)			!tprelhi
-	lda	$16, m($16)			!tprello
-	lda	$16, n($31)			!tprel
-EOF
-dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
-  libc_cv_alpha_tls=yes
-else
-  libc_cv_alpha_tls=no
-fi
-rm -f conftest*])
-if test $libc_cv_alpha_tls = yes; then
-  AC_DEFINE(HAVE_TLS_SUPPORT)
-fi
-fi
-
-AC_CACHE_CHECK(for GP relative module local relocs, libc_cv_alpha_hidden_gprel, [dnl
-cat > conftest.c <<\EOF
-static int bar;
-int baz __attribute__((visibility("hidden")));
-
-int foo (void)
-{
-  return bar + baz;
-}
-EOF
-dnl
-
-libc_cv_alpha_hidden_gprel=no
-if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fpic conftest.c 1>&AS_MESSAGE_LOG_FD); then
-  if grep -q 'bar.*!gprel' conftest.s \
-     && grep -q 'baz.*!gprel' conftest.s \
-     && ! grep -q 'bar.*!literal' conftest.s \
-     && ! grep -q 'baz.*!literal' conftest.s; then
-    libc_cv_alpha_hidden_gprel=yes
-  fi
-fi
-rm -f conftest*])
-if test $libc_cv_alpha_hidden_gprel = yes; then
-  AC_DEFINE(PI_STATIC_AND_HIDDEN)
-fi
diff --git a/sysdeps/alpha/elf/initfini.c b/sysdeps/alpha/elf/initfini.c
deleted file mode 100644
index 4d3342db9b..0000000000
--- a/sysdeps/alpha/elf/initfini.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Special .init and .fini section support for Alpha.
-   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * crti.s puts a function prologue at the beginning of the .init and .fini
-   sections and defines global symbols for those addresses, so they can be
-   called as functions.
-
-   * crtn.s puts the corresponding function epilogues in the .init and .fini
-   sections.
-
-   This differs from what would be generated by the generic code in that
-   we save and restore the GP within the function.  In order for linker
-   relaxation to work, the value in the GP register on exit from a function
-   must be valid for the function entry point.  Normally, a function is
-   contained within one object file and this is not an issue, provided
-   that the function reloads the gp after making any function calls.
-   However, _init and _fini are constructed from pieces of many object
-   files, all of which may have different GP values.  So we must reload
-   the GP value from crti.o in crtn.o.  */
-
-__asm__ ("						\n\
-#include \"defs.h\"					\n\
-							\n\
-/*@HEADER_ENDS*/					\n\
-							\n\
-/*@_init_PROLOG_BEGINS*/				\n\
-	.section .init, \"ax\", @progbits		\n\
-	.globl	_init					\n\
-	.type	_init, @function			\n\
-	.usepv	_init, std				\n\
-_init:							\n\
-	ldgp	$29, 0($27)				\n\
-	subq	$30, 16, $30				\n\
-	lda	$27, __gmon_start__			\n\
-	stq	$26, 0($30)				\n\
-	stq	$29, 8($30)				\n\
-	beq	$27, 1f					\n\
-	jsr	$26, ($27), __gmon_start__		\n\
-	ldq	$29, 8($30)				\n\
-	.align 3					\n\
-1:							\n\
-/*@_init_PROLOG_ENDS*/					\n\
-							\n\
-/*@_init_EPILOG_BEGINS*/				\n\
-	.section .init, \"ax\", @progbits		\n\
-	ldq	$26, 0($30)				\n\
-	ldq	$29, 8($30)				\n\
-	addq	$30, 16, $30				\n\
-	ret						\n\
-/*@_init_EPILOG_ENDS*/					\n\
-							\n\
-/*@_fini_PROLOG_BEGINS*/				\n\
-	.section .fini, \"ax\", @progbits		\n\
-	.globl	_fini					\n\
-	.type	_fini,@function				\n\
-	.usepv	_fini,std				\n\
-_fini:							\n\
-	ldgp	$29, 0($27)				\n\
-	subq	$30, 16, $30				\n\
-	stq	$26, 0($30)				\n\
-	stq	$29, 8($30)				\n\
-	.align 3					\n\
-/*@_fini_PROLOG_ENDS*/					\n\
-							\n\
-/*@_fini_EPILOG_BEGINS*/				\n\
-	.section .fini, \"ax\", @progbits		\n\
-	ldq	$26, 0($30)				\n\
-	ldq	$29, 8($30)				\n\
-	addq	$30, 16, $30				\n\
-	ret						\n\
-/*@_fini_EPILOG_ENDS*/					\n\
-							\n\
-/*@TRAILER_BEGINS*/					\n\
-");
diff --git a/sysdeps/alpha/elf/start.S b/sysdeps/alpha/elf/start.S
deleted file mode 100644
index ebe14b4c8e..0000000000
--- a/sysdeps/alpha/elf/start.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Startup code for Alpha/ELF.
-   Copyright (C) 1993, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
-   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.
-
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.text
-	.align 3
-	.globl _start
-	.ent _start, 0
-	.type _start,@function
-_start:
-	.frame	$15, 0, $15
-	br	gp, 1f
-1:	ldgp	gp, 0(gp)
-	subq	sp, 16, sp
-	mov	0, $15
-	.prologue 0
-
-  /* Load address of the user's main function.  */
-	lda	a0, main
-
-	ldl	a1, 16(sp)	/* get argc */
-	lda	a2, 24(sp)	/* get argv */
-
-  /* Load address of our own entry points to .fini and .init.  */
-	lda	a3, __libc_csu_init
-	lda	a4, __libc_csu_fini
-
-  /* Store address of the shared library termination function.  */
-	mov	v0, a5
-
-  /* Provide the highest stack address to the user code.  */
-	stq	sp, 0(sp)
-
-  /* Call the user's main function, and exit with its value.
-     But let the libc call main.  */
-	jsr	ra, __libc_start_main
-
-  /* Die very horribly if exit returns.  Call_pal hlt is callable from
-     kernel mode only; this will result in an illegal instruction trap.  */
-	call_pal 0
-	.end _start
-
-/* For ECOFF backwards compatibility. */
-weak_alias (_start, __start)
-
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.weak data_start
-	data_start = __data_start
diff --git a/sysdeps/alpha/ffs.S b/sysdeps/alpha/ffs.S
deleted file mode 100644
index 5f2074ee7c..0000000000
--- a/sysdeps/alpha/ffs.S
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 2004 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds the first bit set in an integer.  Optimized for the Alpha
-   architecture.  */
-
-#include <sysdep.h>
-
-	.set noreorder
-	.set noat
-
-
-ENTRY(__ffs)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-	zap	$16, 0xF0, $16
-	br	$ffsl..ng
-#else
-	.prologue 0
-	zap	$16, 0xF0, $16
-	# FALLTHRU
-#endif
-END(__ffs)
-
-	.align 4
-ENTRY(ffsl)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-$ffsl..ng:
-#else
-	.prologue 0
-#endif
-	not	$16, $1		# e0    :
-	ldi	$2, -1		# .. e1 :
-	cmpbge	$1, $2, $3	# e0    : bit N == 1 for byte N == 0
-	clr	$0		# .. e1 :
-	addq	$3, 1, $4	# e0    :
-	bic	$4, $3, $3	# e1    : bit N == 1 for first byte N != 0
-	and	$3, 0xF0, $4	# e0    :
-	and	$3, 0xCC, $5	# .. e1 :
-	and	$3, 0xAA, $6	# e0    :
-	cmovne	$4, 4, $0	# .. e1 :
-	cmovne	$5, 2, $5	# e0    :
-	cmovne  $6, 1, $6	# .. e1 :
-	addl	$0, $5, $0	# e0    :
-	addl	$0, $6, $0	# e1    : $0 == N
-	extbl	$16, $0, $1	# e0    : $1 == byte N
-	ldi	$2, 1		# .. e1 :
-	negq	$1, $3		# e0    :
-	and	$3, $1, $3	# e1    : bit N == least bit set of byte N
-	and	$3, 0xF0, $4	# e0    :
-	and	$3, 0xCC, $5	# .. e1 :
-	and	$3, 0xAA, $6	# e0    :
-	cmovne	$4, 5, $2	# .. e1 :
-	cmovne	$5, 2, $5	# e0    :
-	cmovne	$6, 1, $6	# .. e1 :
-	s8addl	$0, $2, $0	# e0    : mult byte ofs by 8 and sum
-	addl	$5, $6, $5	# .. e1 :
-	addl	$0, $5, $0	# e0    :
-	nop			# .. e1 :
-	cmoveq	$16, 0, $0	# e0    : trap input == 0 case.
-	ret			# .. e1 : 18
-
-END(ffsl)
-
-weak_alias (__ffs, ffs)
-libc_hidden_builtin_def (ffs)
-weak_extern (ffsl)
-weak_alias (ffsl, ffsll)
diff --git a/sysdeps/alpha/ffsll.S b/sysdeps/alpha/ffsll.S
deleted file mode 100644
index b2f46d899c..0000000000
--- a/sysdeps/alpha/ffsll.S
+++ /dev/null
@@ -1 +0,0 @@
-/* This function is defined in ffs.S.  */
diff --git a/sysdeps/alpha/fpu/Versions b/sysdeps/alpha/fpu/Versions
deleted file mode 100644
index c9b0e03a91..0000000000
--- a/sysdeps/alpha/fpu/Versions
+++ /dev/null
@@ -1,23 +0,0 @@
-libc {
-  GLIBC_2.0 {
-    # functions used in other libraries
-    __ieee_get_fp_control; __ieee_set_fp_control;
-  }
-}
-libm {
-  GLIBC_2.3.4 {
-    # functions implementing old complex float abi
-    __c1_cabsf; __c1_cacosf; __c1_cacoshf; __c1_cargf; __c1_casinf;
-    __c1_casinhf; __c1_catanf; __c1_catanhf; __c1_ccosf; __c1_ccoshf;
-    __c1_cexpf; __c1_cimagf; __c1_clog10f; __c1_clogf; __c1_conjf;
-    __c1_cpowf; __c1_cprojf; __c1_crealf; __c1_csinf; __c1_csinhf;
-    __c1_csqrtf; __c1_ctanf; __c1_ctanhf;
-
-    # functions implementing new complex float abi
-    cabsf; cacosf; cacoshf; cargf; casinf;
-    casinhf; catanf; catanhf; ccosf; ccoshf;
-    cexpf; cimagf; clog10f; clogf; conjf;
-    cpowf; cprojf; crealf; csinf; csinhf;
-    csqrtf; ctanf; ctanhf;
-  }
-}
diff --git a/sysdeps/alpha/fpu/bits/fenv.h b/sysdeps/alpha/fpu/bits/fenv.h
deleted file mode 100644
index a9e89b498e..0000000000
--- a/sysdeps/alpha/fpu/bits/fenv.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define the bits representing the exception.
-
-   Note that these are the bit positions as defined by the OSF/1
-   ieee_{get,set}_control_word interface and not by the hardware fpcr.
-
-   See the Alpha Architecture Handbook section 4.7.7.3 for details,
-   but in summary, trap shadows mean the hardware register can acquire
-   extra exception bits so for proper IEEE support the tracking has to
-   be done in software -- in this case with kernel support.
-
-   As to why the system call interface isn't in the same format as
-   the hardware register, only those crazy folks at DEC can tell you.  */
-
-enum
-  {
-#ifdef __USE_GNU
-    FE_DENORMAL =	1UL << 22,
-#define FE_DENORMAL	FE_DENORMAL
-#endif
-
-    FE_INEXACT =	1UL << 21,
-#define FE_INEXACT	FE_INEXACT
-
-    FE_UNDERFLOW =	1UL << 20,
-#define FE_UNDERFLOW	FE_UNDERFLOW
-
-    FE_OVERFLOW =	1UL << 19,
-#define FE_OVERFLOW	FE_OVERFLOW
-
-    FE_DIVBYZERO =	1UL << 18,
-#define FE_DIVBYZERO	FE_DIVBYZERO
-
-    FE_INVALID =	1UL << 17,
-#define FE_INVALID	FE_INVALID
-
-    FE_ALL_EXCEPT =	0x3f << 17
-#define FE_ALL_EXCEPT	FE_ALL_EXCEPT
-  };
-
-/* Alpha chips support all four defined rouding modes.
-
-   Note that code must be compiled to use dynamic rounding (/d) instructions
-   to see these changes.  For gcc this is -mfp-rounding-mode=d; for DEC cc
-   this is -fprm d.  The default for both is static rounding to nearest.
-
-   These are shifted down 58 bits from the hardware fpcr because the
-   functions are declared to take integers.  */
-
-enum
-  {
-    FE_TOWARDZERO =	0,
-#define FE_TOWARDZERO	FE_TOWARDZERO
-
-    FE_DOWNWARD = 	1,
-#define FE_DOWNWARD	FE_DOWNWARD
-
-    FE_TONEAREST =	2,
-#define FE_TONEAREST	FE_TONEAREST
-
-    FE_UPWARD =		3,
-#define FE_UPWARD	FE_UPWARD
-  };
-
-#ifdef __USE_GNU
-/* On later hardware, and later kernels for earlier hardware, we can forcibly
-   underflow denormal inputs and outputs.  This can speed up certain programs
-   significantly, usually without affecting accuracy.  */
-enum
-  {
-    FE_MAP_DMZ =	1UL << 12,	/* Map denorm inputs to zero */
-#define FE_MAP_DMZ	FE_MAP_DMZ
-
-    FE_MAP_UMZ =	1UL << 13,	/* Map underflowed outputs to zero */
-#define FE_MAP_UMZ	FE_MAP_UMZ
-  };
-#endif
-
-/* Type representing exception flags.  */
-typedef unsigned long int fexcept_t;
-
-/* Type representing floating-point environment.  */
-typedef unsigned long int fenv_t;
-
-/* If the default argument is used we use this value.  Note that due to
-   architecture-specified page mappings, no user-space pointer will ever
-   have its two high bits set.  Co-opt one.  */
-#define FE_DFL_ENV	((__const fenv_t *) 0x8800000000000000UL)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exceptions are masked.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) 0x880000000000003eUL)
-
-/* Floating-point environment with (processor-dependent) non-IEEE floating
-   point.  In this case, mapping denormals to zero.  */
-# define FE_NONIEEE_ENV ((__const fenv_t *) 0x8800000000003000UL)
-#endif
-
-/* The system calls to talk to the kernel's FP code.  */
-extern unsigned long int __ieee_get_fp_control (void) __THROW;
-extern void __ieee_set_fp_control (unsigned long int __value) __THROW;
diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h
deleted file mode 100644
index 5378a181c6..0000000000
--- a/sysdeps/alpha/fpu/bits/mathinline.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Inline math functions for Alpha.
-   Copyright (C) 1996, 1997, 1999-2001, 2004, 2007
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
-#endif
-
-#ifndef __extern_inline
-# define __MATH_INLINE __inline
-#else
-# define __MATH_INLINE __extern_inline
-#endif
-
-#if defined __USE_ISOC99 && defined __GNUC__ && !__GNUC_PREREQ(3,0)
-# undef isgreater
-# undef isgreaterequal
-# undef isless
-# undef islessequal
-# undef islessgreater
-# undef isunordered
-# define isunordered(u, v)				\
-  (__extension__					\
-   ({ double __r, __u = (u), __v = (v);			\
-      __asm ("cmptun/su %1,%2,%0\n\ttrapb"		\
-	     : "=&f" (__r) : "f" (__u), "f"(__v));	\
-      __r != 0; }))
-#endif /* ISO C99 */
-
-#if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
-    && defined __OPTIMIZE__
-
-#if !__GNUC_PREREQ (4, 0)
-# define __inline_copysign(NAME, TYPE)					\
-__MATH_INLINE TYPE							\
-__NTH (NAME (TYPE __x, TYPE __y))					\
-{									\
-  TYPE __z;								\
-  __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x));	\
-  return __z;								\
-}
-
-__inline_copysign (__copysignf, float)
-__inline_copysign (copysignf, float)
-__inline_copysign (__copysign, double)
-__inline_copysign (copysign, double)
-
-# undef __inline_copysign
-#endif
-
-
-#if !__GNUC_PREREQ (2, 8)
-# define __inline_fabs(NAME, TYPE)			\
-__MATH_INLINE TYPE					\
-__NTH (NAME (TYPE __x))					\
-{							\
-  TYPE __z;						\
-  __asm ("cpys $f31, %1, %0" : "=f" (__z) : "f" (__x));	\
-  return __z;						\
-}
-
-__inline_fabs (__fabsf, float)
-__inline_fabs (fabsf, float)
-__inline_fabs (__fabs, double)
-__inline_fabs (fabs, double)
-
-# undef __inline_fabs
-#endif
-
-#ifdef __USE_ISOC99
-
-/* Test for negative number.  Used in the signbit() macro.  */
-__MATH_INLINE int
-__NTH (__signbitf (float __x))
-{
-#if !__GNUC_PREREQ (4, 0)
-  __extension__ union { float __f; int __i; } __u = { __f: __x };
-  return __u.__i < 0;
-#else
-  return __builtin_signbitf (__x);
-#endif
-}
-
-__MATH_INLINE int
-__NTH (__signbit (double __x))
-{
-#if !__GNUC_PREREQ (4, 0)
-  __extension__ union { double __d; long __i; } __u = { __d: __x };
-  return __u.__i < 0;
-#else
-  return __builtin_signbit (__x);
-#endif
-}
-
-__MATH_INLINE int
-__NTH (__signbitl (long double __x))
-{
-#if !__GNUC_PREREQ (4, 0)
-  __extension__ union {
-    long double __d;
-    long __i[sizeof(long double)/sizeof(long)];
-  } __u = { __d: __x };
-  return __u.__i[sizeof(long double)/sizeof(long) - 1] < 0;
-#else
-  return __builtin_signbitl (__x);
-#endif
-}
-
-/* Test for NaN.  Used in the isnan() macro.  */
-
-__MATH_INLINE int
-__NTH (__isnanf (float __x))
-{
-  return isunordered (__x, __x);
-}
-
-__MATH_INLINE int
-__NTH (__isnan (double __x))
-{
-  return isunordered (__x, __x);
-}
-
-#ifndef __NO_LONG_DOUBLE_MATH
-__MATH_INLINE int
-__NTH (__isnanl (long double __x))
-{
-  return isunordered (__x, __x);
-}
-#endif
-
-#endif /* C99 */
-
-#endif /* __NO_MATH_INLINES */
diff --git a/sysdeps/alpha/fpu/cabsf.c b/sysdeps/alpha/fpu/cabsf.c
deleted file mode 100644
index de8e6b5548..0000000000
--- a/sysdeps/alpha/fpu/cabsf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Return the complex absolute value of float complex value.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cabsf __cabsf_not_defined
-#define cabsf cabsf_not_defined
-
-#include <complex.h>
-#include <math.h>
-#include "cfloat-compat.h"
-
-#undef __cabsf
-#undef cabsf
-
-float
-__c1_cabsf (c1_cfloat_decl (z))
-{
-  return __hypotf (c1_cfloat_real (z), c1_cfloat_imag (z));
-}
-
-float
-__c2_cabsf (c2_cfloat_decl (z))
-{
-  return __hypotf (c2_cfloat_real (z), c2_cfloat_imag (z));
-}
-
-cfloat_versions (cabsf);
diff --git a/sysdeps/alpha/fpu/cargf.c b/sysdeps/alpha/fpu/cargf.c
deleted file mode 100644
index 1d96e5897d..0000000000
--- a/sysdeps/alpha/fpu/cargf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Compute argument of complex float value.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cargf __cargf_not_defined
-#define cargf cargf_not_defined
-
-#include <complex.h>
-#include <math.h>
-#include "cfloat-compat.h"
-
-#undef __cargf
-#undef cargf
-
-float
-__c1_cargf (c1_cfloat_decl (x))
-{
-  return __atan2f (c1_cfloat_imag (x), c1_cfloat_real (x));
-}
-
-float
-__c2_cargf (c2_cfloat_decl (x))
-{
-  return __atan2f (c2_cfloat_imag (x), c2_cfloat_real (x));
-}
-
-cfloat_versions (cargf);
diff --git a/sysdeps/alpha/fpu/cfloat-compat.h b/sysdeps/alpha/fpu/cfloat-compat.h
deleted file mode 100644
index d325a7650e..0000000000
--- a/sysdeps/alpha/fpu/cfloat-compat.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Compatibility macros for old and new Alpha complex float ABI.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* The behaviour of complex float changed between GCC 3.3 and 3.4.  
-
-   In 3.3 and before (below, complex version 1, or "c1"), complex float
-   values were packed into one floating point register.
-
-   In 3.4 and later (below, complex version 2, or "c2"), GCC changed to
-   follow the official Tru64 ABI, which passes the components of a complex
-   as separate parameters.  */
-
-#if __GNUC_PREREQ(3,4)
-  typedef union { double d; _Complex float cf; } c1_compat;
-# define c1_cfloat_decl(x)	double x
-# define c1_cfloat_real(x)	__real__ c1_cfloat_value (x)
-# define c1_cfloat_imag(x)	__imag__ c1_cfloat_value (x)
-# define c1_cfloat_value(x)	(((c1_compat *)(void *)&x)->cf)
-# define c1_cfloat_rettype	double
-# define c1_cfloat_return(x)	({ c1_compat _; _.cf = (x); _.d; })
-# define c2_cfloat_decl(x)	_Complex float x
-# define c2_cfloat_real(x)	__real__ x
-# define c2_cfloat_imag(x)	__imag__ x
-# define c2_cfloat_value(x)	x
-# define c2_cfloat_rettype	_Complex float
-# define c2_cfloat_return(x)	x
-#else
-# define c1_cfloat_decl(x)	_Complex float x
-# define c1_cfloat_real(x)	__real__ x
-# define c1_cfloat_imag(x)	__imag__ x
-# define c1_cfloat_value(x)	x
-# define c1_cfloat_rettype	_Complex float
-# define c1_cfloat_return(x)	x
-# define c2_cfloat_decl(x)	float x ## r, float x ## i
-# define c2_cfloat_real(x)	x ## r
-# define c2_cfloat_imag(x)	x ## i
-# define c2_cfloat_value(x) \
-    ({ _Complex float _; __real__ _ = x##r; __imag__ _ = x##i; _; })
-# define c2_cfloat_rettype	double _Complex
-# define c2_cfloat_return(x)	x
-#endif
-
-/* Get the proper symbol versions defined for each function.  */
-
-#include <shlib-compat.h>
-
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
-#define cfloat_versions_compat(func) \
-  compat_symbol (libm, __c1_##func, func, GLIBC_2_1)
-#else
-#define cfloat_versions_compat(func)
-#endif
-
-#define cfloat_versions(func) \
-  cfloat_versions_compat(func); \
-  versioned_symbol (libm, __c2_##func, func, GLIBC_2_3_4); \
-  extern typeof(__c2_##func) __##func attribute_hidden; \
-  strong_alias (__c2_##func, __##func)
diff --git a/sysdeps/alpha/fpu/cimagf.c b/sysdeps/alpha/fpu/cimagf.c
deleted file mode 100644
index a9b351f188..0000000000
--- a/sysdeps/alpha/fpu/cimagf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Return imaginary part of complex float value.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cimagf __cimagf_not_defined
-#define cimagf cimagf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __cimagf
-#undef cimagf
-
-float
-__c1_cimagf (c1_cfloat_decl (z))
-{
-  return c1_cfloat_imag (z);
-}
-
-float
-__c2_cimagf (c2_cfloat_decl (z))
-{
-  return c2_cfloat_imag (z);
-}
-
-cfloat_versions (cimagf);
diff --git a/sysdeps/alpha/fpu/conjf.c b/sysdeps/alpha/fpu/conjf.c
deleted file mode 100644
index 6ff92b9948..0000000000
--- a/sysdeps/alpha/fpu/conjf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Return complex conjugate of complex float value.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __conjf __conjf_not_defined
-#define conjf conjf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __conjf
-#undef conjf
-
-c1_cfloat_rettype
-__c1_conjf (c1_cfloat_decl (z))
-{
-  _Complex float r = ~ c1_cfloat_value (z);
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_conjf (c2_cfloat_decl (z))
-{
-  _Complex float r = ~ c2_cfloat_value (z);
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (conjf);
diff --git a/sysdeps/alpha/fpu/crealf.c b/sysdeps/alpha/fpu/crealf.c
deleted file mode 100644
index 52ab271738..0000000000
--- a/sysdeps/alpha/fpu/crealf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Return real part of complex float value.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __crealf __crealf_not_defined
-#define crealf crealf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __crealf
-#undef crealf
-
-float
-__c1_crealf (c1_cfloat_decl (z))
-{
-  return c1_cfloat_real (z);
-}
-
-float
-__c2_crealf (c2_cfloat_decl (z))
-{
-  return c2_cfloat_real (z);
-}
-
-cfloat_versions (crealf);
diff --git a/sysdeps/alpha/fpu/e_sqrt.c b/sysdeps/alpha/fpu/e_sqrt.c
deleted file mode 100644
index c5ab25f16f..0000000000
--- a/sysdeps/alpha/fpu/e_sqrt.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright (C) 1996,1997,1998,2002,2003 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <features.h>
-
-#if !defined(_IEEE_FP_INEXACT)
-
-/*
- * This version is much faster than generic sqrt implementation, but
- * it doesn't handle the inexact flag.  It doesn't handle exceptional
- * values either, but will defer to the full ieee754_sqrt routine which
- * can.
- */
-
-/* Careful with rearranging this without consulting the assembly below.  */
-const static struct sqrt_data_struct {
-	unsigned long dn, up, half, almost_three_half;
-	unsigned long one_and_a_half, two_to_minus_30, one, nan;
-	const int T2[64];
-} sqrt_data __attribute__((used)) = {
-	0x3fefffffffffffff,	/* __dn = nextafter(1,-Inf) */
-	0x3ff0000000000001,	/* __up = nextafter(1,+Inf) */
-	0x3fe0000000000000,	/* half */
-	0x3ff7ffffffc00000,	/* almost_three_half = 1.5-2^-30 */
-	0x3ff8000000000000,	/* one_and_a_half */
-	0x3e10000000000000,	/* two_to_minus_30 */
-	0x3ff0000000000000,	/* one */
-	0xffffffffffffffff,	/* nan */
-
-	{ 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
-	0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
-	0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
-	0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
-	0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
-	0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
-	0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
-	0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd }
-};
-
-asm ("\
-  /* Define offsets into the structure defined in C above.  */		\n\
-	$DN = 0*8							\n\
-	$UP = 1*8							\n\
-	$HALF = 2*8							\n\
-	$ALMOST_THREE_HALF = 3*8					\n\
-	$NAN = 7*8							\n\
-	$T2 = 8*8							\n\
-									\n\
-  /* Stack variables.  */						\n\
-	$K = 0								\n\
-	$Y = 8								\n\
-									\n\
-	.text								\n\
-	.align	5							\n\
-	.globl	__ieee754_sqrt						\n\
-	.ent	__ieee754_sqrt						\n\
-__ieee754_sqrt:								\n\
-	ldgp	$29, 0($27)						\n\
-	subq	$sp, 16, $sp						\n\
-	.frame	$sp, 16, $26, 0\n"
-#ifdef PROF
-"	lda	$28, _mcount						\n\
-	jsr	$28, ($28), _mcount\n"
-#endif
-"	.prologue 1							\n\
-									\n\
-	.align 4							\n\
-	stt	$f16, $K($sp)		# e0    :			\n\
-	mult	$f31, $f31, $f31	# .. fm :			\n\
-	lda	$4, sqrt_data		# e0    :			\n\
-	fblt	$f16, $fixup		# .. fa :			\n\
-									\n\
-	ldah	$2, 0x5fe8		# e0    :			\n\
-	ldq	$3, $K($sp)		# .. e1 :			\n\
-	ldt	$f12, $HALF($4)		# e0    :			\n\
-	ldt	$f18, $ALMOST_THREE_HALF($4)	# .. e1 :		\n\
-									\n\
-	sll	$3, 52, $5		# e0    :			\n\
-	lda	$6, 0x7fd		# .. e1 :			\n\
-	fnop				# .. fa :			\n\
-	fnop				# .. fm :			\n\
-									\n\
-	subq	$5, 1, $5		# e1    :			\n\
-	srl	$3, 33, $1		# .. e0 :			\n\
-	cmpule	$5, $6, $5		# e0    :			\n\
-	beq	$5, $fixup		# .. e1 :			\n\
-									\n\
-	mult	$f16, $f12, $f11	# fm    : $f11 = x * 0.5	\n\
-	subl	$2, $1, $2		# .. e0 :			\n\
-	addt	$f12, $f12, $f17	# .. fa : $f17 = 1.0		\n\
-	srl	$2, 12, $1		# e0    :			\n\
-									\n\
-	and	$1, 0xfc, $1		# e0    :			\n\
-	addq	$1, $4, $1		# e1    :			\n\
-	ldl	$1, $T2($1)		# e0    :			\n\
-	addt	$f12, $f17, $f15	# .. fa : $f15 = 1.5		\n\
-									\n\
-	subl	$2, $1, $2		# e0    :			\n\
-	ldt	$f14, $DN($4)		# .. e1 :			\n\
-	sll	$2, 32, $2		# e0    :			\n\
-	stq	$2, $Y($sp)		# e0    :			\n\
-									\n\
-	ldt	$f13, $Y($sp)		# e0    :			\n\
-	mult/su	$f11, $f13, $f10	# fm   2: $f10 = (x * 0.5) * y	\n\
-	mult	$f10, $f13, $f10	# fm   4: $f10 = ((x*0.5)*y)*y	\n\
-	subt	$f15, $f10, $f1		# fa   4: $f1 = (1.5-0.5*x*y*y)	\n\
-									\n\
-	mult	$f13, $f1, $f13         # fm   4: yp = y*(1.5-0.5*x*y^2)\n\
- 	mult/su	$f11, $f13, $f1		# fm   4: $f11 = x * 0.5 * yp	\n\
-	mult	$f1, $f13, $f11		# fm   4: $f11 = (x*0.5*yp)*yp	\n\
-	subt	$f18, $f11, $f1		# fa   4: $f1=(1.5-2^-30)-x/2*yp^2\n\
-									\n\
-	mult	$f13, $f1, $f13		# fm   4: ypp = $f13 = yp*$f1	\n\
-	subt	$f15, $f12, $f1		# .. fa : $f1 = (1.5 - 0.5)	\n\
-	ldt	$f15, $UP($4)		# .. e0 :			\n\
-	mult/su	$f16, $f13, $f10	# fm   4: z = $f10 = x * ypp	\n\
-									\n\
-	mult	$f10, $f13, $f11	# fm   4: $f11 = z*ypp		\n\
-	mult	$f10, $f12, $f12	# fm    : $f12 = z*0.5		\n\
-	subt	$f1, $f11, $f1		# fa   4: $f1 = 1 - z*ypp	\n\
-	mult	$f12, $f1, $f12		# fm   4: $f12 = z/2*(1 - z*ypp)\n\
-									\n\
-	addt	$f10, $f12, $f0		# fa   4: zp=res= z+z/2*(1-z*ypp)\n\
-	mult/c	$f0, $f14, $f12		# fm   4: zmi = zp * DN		\n\
-	mult/c	$f0, $f15, $f11		# fm    : zpl = zp * UP		\n\
-	mult/c	$f0, $f12, $f1		# fm    : $f1 = zp * zmi	\n\
-									\n\
-	mult/c	$f0, $f11, $f15		# fm    : $f15 = zp * zpl	\n\
-	subt/su	$f1, $f16, $f13		# .. fa : y1 = zp*zmi - x	\n\
-	subt/su	$f15, $f16, $f14	# fa   4: y2 = zp*zpl - x	\n\
-	fcmovge	$f13, $f12, $f0		# fa   3: res = (y1>=0)?zmi:res	\n\
-									\n\
-	fcmovlt	$f14, $f11, $f0		# fa   4: res = (y2<0)?zpl:res	\n\
-	addq	$sp, 16, $sp		# .. e0 :			\n\
-	ret				# .. e1 :			\n\
-									\n\
-	.align 4							\n\
-$fixup:									\n\
-	addq	$sp, 16, $sp						\n\
-	br	__full_ieee754_sqrt	!samegp				\n\
-									\n\
-	.end	__ieee754_sqrt");
-
-static double __full_ieee754_sqrt(double) __attribute_used__;
-#define __ieee754_sqrt __full_ieee754_sqrt
-
-#endif /* _IEEE_FP_INEXACT */
-
-#include <sysdeps/ieee754/dbl-64/e_sqrt.c>
diff --git a/sysdeps/alpha/fpu/fclrexcpt.c b/sysdeps/alpha/fpu/fclrexcpt.c
deleted file mode 100644
index b7176e0979..0000000000
--- a/sysdeps/alpha/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__feclearexcept (int excepts)
-{
-  unsigned long int swcr;
-
-  /* Get the current state.  */
-  swcr = __ieee_get_fp_control ();
-
-  /* Clear the relevant bits.  */
-  swcr &= ~((unsigned long int) excepts & SWCR_STATUS_MASK);
-
-  /* Put the new state in effect.  */
-  __ieee_set_fp_control (swcr);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/fedisblxcpt.c b/sysdeps/alpha/fpu/fedisblxcpt.c
deleted file mode 100644
index 98c33ca842..0000000000
--- a/sysdeps/alpha/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Disable floating-point exceptions.
-   Copyright (C) 2000 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-fedisableexcept (int excepts)
-{
-  unsigned long int new_exc, old_exc;
-
-  new_exc = __ieee_get_fp_control ();
-
-  old_exc = (new_exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
-  new_exc &= ~((excepts >> SWCR_ENABLE_SHIFT) & SWCR_ENABLE_MASK);
-
-  __ieee_set_fp_control (new_exc);
-
-  return old_exc;
-}
diff --git a/sysdeps/alpha/fpu/feenablxcpt.c b/sysdeps/alpha/fpu/feenablxcpt.c
deleted file mode 100644
index 80d657e4bd..0000000000
--- a/sysdeps/alpha/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Enable floating-point exceptions.
-   Copyright (C) 2000 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-feenableexcept (int excepts)
-{
-  unsigned long int new_exc, old_exc;
-
-  new_exc = __ieee_get_fp_control ();
-
-  old_exc = (new_exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
-  new_exc |= (excepts >> SWCR_ENABLE_SHIFT) & SWCR_ENABLE_MASK;
-
-  __ieee_set_fp_control (new_exc);
-
-  return old_exc;
-}
diff --git a/sysdeps/alpha/fpu/fegetenv.c b/sysdeps/alpha/fpu/fegetenv.c
deleted file mode 100644
index c1950fa3b9..0000000000
--- a/sysdeps/alpha/fpu/fegetenv.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Store current floating-point environment.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
-  unsigned long int fpcr;
-  unsigned long int swcr;
-
-  /* Get status from software and hardware.  Note that we don't need an
-     excb because the callsys is an implied trap barrier.  */
-  swcr = __ieee_get_fp_control ();
-  __asm__ __volatile__ ("mf_fpcr %0" : "=f" (fpcr));
-
-  /* Merge the two bits of information.  */
-  *envp = ((fpcr & FPCR_ROUND_MASK) | (swcr & SWCR_ALL_MASK));
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/fegetexcept.c b/sysdeps/alpha/fpu/fegetexcept.c
deleted file mode 100644
index ccc79e405d..0000000000
--- a/sysdeps/alpha/fpu/fegetexcept.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Get enabled floating-point exceptions.
-   Copyright (C) 2000 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-fegetexcept (void)
-{
-  unsigned long int exc;
-
-  exc = __ieee_get_fp_control ();
-
-  return (exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
-}
diff --git a/sysdeps/alpha/fpu/fegetround.c b/sysdeps/alpha/fpu/fegetround.c
deleted file mode 100644
index 995aee80da..0000000000
--- a/sysdeps/alpha/fpu/fegetround.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Return current rounding direction.
-   Copyright (C) 1997, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-fegetround (void)
-{
-  unsigned long fpcr;
-
-  __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr));
-
-  return (fpcr >> FPCR_ROUND_SHIFT) & 3;
-}
diff --git a/sysdeps/alpha/fpu/feholdexcpt.c b/sysdeps/alpha/fpu/feholdexcpt.c
deleted file mode 100644
index 79aa970ac0..0000000000
--- a/sysdeps/alpha/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
-   Copyright (C) 1997, 2000, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
-  /* Save the current state.  */
-  fegetenv(envp);
-
-  /* Clear all exception status bits and exception enable bits.  */
-  __ieee_set_fp_control(*envp & SWCR_MAP_MASK);
-
-  return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/sysdeps/alpha/fpu/fenv_libc.h b/sysdeps/alpha/fpu/fenv_libc.h
deleted file mode 100644
index f1d187d9e2..0000000000
--- a/sysdeps/alpha/fpu/fenv_libc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
-   Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _FENV_LIBC_H
-#define _FENV_LIBC_H	1
-
-#include <fenv.h>
-
-#define FPCR_ROUND_MASK		(3UL << 58)
-#define FPCR_ROUND_SHIFT	58
-
-#define SWCR_MAP_MASK		(3UL << 12)
-#define SWCR_ENABLE_SHIFT	16
-#define SWCR_ENABLE_MASK	(FE_ALL_EXCEPT >> SWCR_ENABLE_SHIFT)
-#define SWCR_STATUS_MASK	(FE_ALL_EXCEPT)
-#define SWCR_ALL_MASK		(SWCR_ENABLE_MASK	\
-				| SWCR_MAP_MASK		\
-				| SWCR_STATUS_MASK)
-
-#endif /* fenv_libc.h */
diff --git a/sysdeps/alpha/fpu/fesetenv.c b/sysdeps/alpha/fpu/fesetenv.c
deleted file mode 100644
index c76e882891..0000000000
--- a/sysdeps/alpha/fpu/fesetenv.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Install given floating-point environment.
-   Copyright (C) 1997,99,2000,01,02 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
-  unsigned long int fpcr;
-  fenv_t env;
-
-  /* Magic encoding of default values: high bit set (never possible for a
-     user-space address) is not indirect.  And we don't even have to get
-     rid of it since we mask things around just below.  */
-  if ((long int) envp >= 0)
-    env = *envp;
-  else
-    env = (unsigned long int) envp;
-
-  /* Reset the rounding mode with the hardware fpcr.  Note that the following
-     system call is an implied trap barrier for our modification.  */
-  __asm__ __volatile__ ("excb; mf_fpcr %0" : "=f" (fpcr));
-  fpcr = (fpcr & ~FPCR_ROUND_MASK) | (env & FPCR_ROUND_MASK);
-  __asm__ __volatile__ ("mt_fpcr %0" : : "f" (fpcr));
-
-  /* Reset the exception status and mask with the kernel's FP code.  */
-  __ieee_set_fp_control (env & SWCR_ALL_MASK);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/fesetround.c b/sysdeps/alpha/fpu/fesetround.c
deleted file mode 100644
index 54b2bcf673..0000000000
--- a/sysdeps/alpha/fpu/fesetround.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Set current rounding direction.
-   Copyright (C) 1997, 2000, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-fesetround (int round)
-{
-  unsigned long fpcr;
-
-  if (round & ~3)
-    return 1;
-
-  /* Get the current state.  */
-  __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr));
-
-  /* Set the relevant bits.  */
-  fpcr = ((fpcr & ~FPCR_ROUND_MASK)
-	  | ((unsigned long)round << FPCR_ROUND_SHIFT));
-
-  /* Put the new state in effect.  */
-  __asm__ __volatile__("mt_fpcr %0; excb" : : "f"(fpcr));
-
-  return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/sysdeps/alpha/fpu/feupdateenv.c b/sysdeps/alpha/fpu/feupdateenv.c
deleted file mode 100644
index c798070bbb..0000000000
--- a/sysdeps/alpha/fpu/feupdateenv.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
-  unsigned long int tmp;
-
-  /* Get the current exception state.  */
-  tmp = __ieee_get_fp_control ();
-
-  /* Install new environment.  */
-  fesetenv (envp);
-
-  /* Raise the saved exception.  Incidently for us the implementation
-     defined format of the values in objects of type fexcept_t is the
-     same as the ones specified using the FE_* constants.  */
-  feraiseexcept (tmp & SWCR_STATUS_MASK);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/fgetexcptflg.c b/sysdeps/alpha/fpu/fgetexcptflg.c
deleted file mode 100644
index c28e913359..0000000000
--- a/sysdeps/alpha/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current representation for exceptions.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
-  unsigned long int tmp;
-
-  /* Get the current state.  */
-  tmp = __ieee_get_fp_control();
-
-  /* Return that portion that corresponds to the requested exceptions. */
-  *flagp = tmp & excepts & SWCR_STATUS_MASK;
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/fpu_control.h b/sysdeps/alpha/fpu/fpu_control.h
deleted file mode 100644
index 28acdf1704..0000000000
--- a/sysdeps/alpha/fpu/fpu_control.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* FPU control word bits.  Alpha-mapped-to-Intel version.
-   Copyright (C) 1996, 1998, 2000, 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Olaf Flebbe.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _ALPHA_FPU_CONTROL_H
-#define _ALPHA_FPU_CONTROL_H
-
-/*
- * Since many programs seem to hardcode the values passed to __setfpucw()
- * (rather than using the manifest constants) we emulate the x87 interface
- * here (at least where this makes sense).
- *
- *     15-13    12  11-10  9-8     7-6     5    4    3    2    1    0
- * | reserved | IC | RC  | PC | reserved | PM | UM | OM | ZM | DM | IM
- *
- * IM: Invalid operation mask
- * DM: Denormalized operand mask
- * ZM: Zero-divide mask
- * OM: Overflow mask
- * UM: Underflow mask
- * PM: Precision (inexact result) mask
- *
- * Mask bit is 1 means no interrupt.
- *
- * PC: Precision control
- * 11 - round to extended precision
- * 10 - round to double precision
- * 00 - round to single precision
- *
- * RC: Rounding control
- * 00 - rounding to nearest
- * 01 - rounding down (toward - infinity)
- * 10 - rounding up (toward + infinity)
- * 11 - rounding toward zero
- *
- * IC: Infinity control
- * That is for 8087 and 80287 only.
- *
- * The hardware default is 0x037f. I choose 0x1372.
- */
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_IM  0x01
-#define _FPU_MASK_DM  0x02
-#define _FPU_MASK_ZM  0x04
-#define _FPU_MASK_OM  0x08
-#define _FPU_MASK_UM  0x10
-#define _FPU_MASK_PM  0x20
-
-/* precision control -- without effect on Alpha */
-#define _FPU_EXTENDED 0x300   /* RECOMMENDED */
-#define _FPU_DOUBLE   0x200
-#define _FPU_SINGLE   0x0     /* DO NOT USE */
-
-/*
- * rounding control---notice that on the Alpha this affects only
- * instructions with the dynamic rounding mode qualifier (/d).
- */
-#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */
-#define _FPU_RC_DOWN    0x400
-#define _FPU_RC_UP      0x800
-#define _FPU_RC_ZERO    0xC00
-
-#define _FPU_RESERVED 0xF0C0  /* Reserved bits in cw */
-
-
-/* Now two recommended cw */
-
-/* Linux default:
-     - extended precision
-     - rounding to positive infinity.  There is no /p instruction
-       qualifier.  By setting the dynamic rounding mode to +infinity,
-       one can use /d to get round to +infinity with no extra overhead
-       (so long as the default isn't changed, of course...)
-     - no exceptions enabled.  */
-
-#define _FPU_DEFAULT  0x137f
-
-/* IEEE:  same as above. */
-#define _FPU_IEEE     0x137f
-
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t;
-
-/* Default control word set at startup.  */
-extern fpu_control_t __fpu_control;
-
-#endif	/* _ALPHA_FPU_CONTROL */
diff --git a/sysdeps/alpha/fpu/fsetexcptflg.c b/sysdeps/alpha/fpu/fsetexcptflg.c
deleted file mode 100644
index d198731861..0000000000
--- a/sysdeps/alpha/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Set floating-point environment exception handling.
-   Copyright (C) 1997,98,99,2000,01 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
-  unsigned long int tmp;
-
-  /* Get the current exception state.  */
-  tmp = __ieee_get_fp_control ();
-
-  /* Set all the bits that were called for.  */
-  tmp = (tmp & ~SWCR_STATUS_MASK) | (*flagp & excepts & SWCR_STATUS_MASK);
-
-  /* And store it back.  */
-  __ieee_set_fp_control (tmp);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/sysdeps/alpha/fpu/ftestexcept.c b/sysdeps/alpha/fpu/ftestexcept.c
deleted file mode 100644
index a4b3081875..0000000000
--- a/sysdeps/alpha/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
-   Copyright (C) 1997, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@tamu.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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-int
-fetestexcept (int excepts)
-{
-  unsigned long tmp;
-
-  /* Get current exceptions.  */
-  tmp = __ieee_get_fp_control();
-
-  return tmp & excepts & SWCR_STATUS_MASK;
-}
diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps
deleted file mode 100644
index d9df631d7c..0000000000
--- a/sysdeps/alpha/fpu/libm-test-ulps
+++ /dev/null
@@ -1,1245 +0,0 @@
-# Begin of automatic generation
-
-# atan2
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994379639112":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# atanh
-Test "atanh (0.75) == 0.972955074527656652552676371721589865":
-float: 1
-ifloat: 1
-
-# cacos
-Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
-ildouble: 1
-ldouble: 1
-
-# cacosh
-Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# casin
-Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
-ildouble: 1
-ldouble: 1
-
-# casinh
-Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# catan
-Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
-ildouble: 1
-ldouble: 1
-
-# catanh
-Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-double: 4
-idouble: 4
-Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
-ildouble: 1
-ldouble: 1
-
-# cbrt
-Test "cbrt (-0.001) == -0.1":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-27.0) == -3.0":
-double: 1
-idouble: 1
-Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
-double: 1
-idouble: 1
-Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
-double: 1
-idouble: 1
-
-# ccos
-Test "Real part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
-float: 1
-ifloat: 1
-
-# ccosh
-Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
-float: 1
-ifloat: 1
-
-# cexp
-Test "Real part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
-ildouble: 1
-ldouble: 1
-
-# clog
-Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + inf i) == inf + 3/4 pi*log10(e) i":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# cos
-Test "cos (M_PI_6l * 2.0) == 0.5":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos (M_PI_6l * 4.0) == -0.5":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cpow
-Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-float: 1
-ifloat: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 4
-ldouble: 4
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 10
-ldouble: 10
-Test "Real part of: cpow (2 + 0 i, 10 + 0 i) == 1024.0 + 0.0 i":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# csin
-Test "Imaginary part of: csin (-2 - 3 i) == -9.15449914691142957346729954460983256 + 4.16890695996656435075481305885375484 i":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 1.25 i) == 1.28722291002649188575873510790565441 + 1.17210635989270256101081285116138863 i":
-ildouble: 1
-ldouble: 1
-
-# csinh
-Test "Real part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
-double: 1
-idouble: 1
-Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
-float: 1
-ifloat: 1
-
-# csqrt
-Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0.75 + 1.25 i) == 1.05065169626078392338656675760808326 + 0.594868882070379067881984030639932657 i":
-ildouble: 1
-ldouble: 1
-
-# ctan
-Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
-double: 1
-idouble: 1
-
-# erf
-Test "erf (1.25) == 0.922900128256458230136523481197281140":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
-double: 1
-idouble: 1
-Test "erfc (27.0) == 0.523704892378925568501606768284954709e-318":
-ildouble: 1
-ldouble: 1
-Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
-double: 1
-idouble: 1
-
-# exp10
-Test "exp10 (-1) == 0.1":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "exp10 (3) == 1000":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# exp2
-Test "exp2 (10) == 1024":
-ildouble: 2
-ldouble: 2
-
-# expm1
-Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
-double: 1
-idouble: 1
-Test "expm1 (1) == M_El - 1.0":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# gamma
-Test "gamma (-0.5) == log(2*sqrt(pi))":
-ildouble: 1
-ldouble: 1
-
-# hypot
-Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-
-# j0
-Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (0.75) == 0.864242275166648623555731103820923211":
-float: 1
-ifloat: 1
-Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "j0 (2.0) == 0.223890779141235668051827454649948626":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (8.0) == 0.171650807137553906090869407851972001":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# j1
-Test "j1 (-1.0) == -0.440050585744933515959682203718914913":
-ildouble: 1
-ldouble: 1
-Test "j1 (0.75) == 0.349243602174862192523281016426251335":
-ildouble: 1
-ldouble: 1
-Test "j1 (1.0) == 0.440050585744933515959682203718914913":
-ildouble: 1
-ldouble: 1
-Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j1 (2.0) == 0.576724807756873387202448242269137087":
-double: 1
-idouble: 1
-Test "j1 (8.0) == 0.234636346853914624381276651590454612":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-
-# jn
-Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
-float: 1
-ifloat: 1
-Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (1, -1.0) == -0.440050585744933515959682203718914913":
-ildouble: 1
-ldouble: 1
-Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
-ildouble: 1
-ldouble: 1
-Test "jn (1, 1.0) == 0.440050585744933515959682203718914913":
-ildouble: 1
-ldouble: 1
-Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
-double: 1
-idouble: 1
-Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 1.0) == 0.263061512368745320699785368779050294e-9":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
-float: 4
-ifloat: 4
-Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# lgamma
-Test "lgamma (-0.5) == log(2*sqrt(pi))":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# log10
-Test "log10 (0.75) == -0.124938736608299953132449886193870744":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "log10 (e) == log10(e)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# log1p
-Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
-float: 1
-ifloat: 1
-
-# log2
-Test "log2 (0.75) == -.415037499278843818546261056052183492":
-ildouble: 1
-ldouble: 1
-
-# sincos
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-float: 1
-ifloat: 1
-
-# sqrt
-Test "sqrt (2) == M_SQRT2l":
-ildouble: 1
-ldouble: 1
-
-# tanh
-Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
-ildouble: 1
-ldouble: 1
-Test "tanh (-1.0) == -0.7615941559557648881194582826047935904":
-ildouble: 1
-ldouble: 1
-Test "tanh (0.75) == 0.635148952387287319214434357312496495":
-ildouble: 1
-ldouble: 1
-Test "tanh (1.0) == 0.7615941559557648881194582826047935904":
-ildouble: 1
-ldouble: 1
-
-# tgamma
-Test "tgamma (-0.5) == -2 sqrt (pi)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0.5) == sqrt (pi)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (4) == 6":
-ildouble: 1
-ldouble: 1
-
-# y0
-Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "y0 (8.0) == 0.223521489387566220527323400498620359":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-# y1
-Test "y1 (0.125) == -5.19993611253477499595928744876579921":
-double: 1
-idouble: 1
-Test "y1 (0.75) == -1.03759455076928541973767132140642198":
-ildouble: 1
-ldouble: 1
-Test "y1 (1.5) == -0.412308626973911295952829820633445323":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (10.0) == 0.249015424206953883923283474663222803":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "y1 (2.0) == -0.107032431540937546888370772277476637":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (8.0) == -0.158060461731247494255555266187483550":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# yn
-Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
-double: 1
-idouble: 1
-Test "yn (1, 0.75) == -1.03759455076928541973767132140642198":
-ildouble: 1
-ldouble: 1
-Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
-double: 1
-idouble: 1
-Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "atan2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "cacos":
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "cacosh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "casin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "casinh":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "casinh":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "catanh":
-double: 4
-idouble: 4
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catanh":
-ildouble: 1
-ldouble: 1
-
-Function: "cbrt":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccos":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccosh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cexp":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "cexp":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "clog":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "clog10":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 10
-ldouble: 10
-
-Function: Imaginary part of "cpow":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csqrt":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csqrt":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan":
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctanh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "erf":
-double: 1
-idouble: 1
-
-Function: "erfc":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "exp2":
-ildouble: 2
-ldouble: 2
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma":
-ildouble: 1
-ldouble: 1
-
-Function: "hypot":
-float: 1
-ifloat: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 4
-ldouble: 4
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-Function: "lgamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log1p":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log2":
-ildouble: 1
-ldouble: 1
-
-Function: "sincos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sqrt":
-ildouble: 1
-ldouble: 1
-
-Function: "tan":
-double: 1
-idouble: 1
-
-Function: "tanh":
-ildouble: 1
-ldouble: 1
-
-Function: "tgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 5
-ldouble: 5
-
-# end of automatic generation
diff --git a/sysdeps/alpha/fpu/s_cacosf.c b/sysdeps/alpha/fpu/s_cacosf.c
deleted file mode 100644
index 46dca5aeb8..0000000000
--- a/sysdeps/alpha/fpu/s_cacosf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc cosine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cacosf __cacosf_not_defined
-#define cacosf cacosf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cacosf
-#undef cacosf
-#define __cacosf internal_cacosf
-
-static _Complex float internal_cacosf (_Complex float x);
-
-#include <math/s_cacosf.c>
-#include "cfloat-compat.h"
-
-#undef __cacosf
-
-c1_cfloat_rettype
-__c1_cacosf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_cacosf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cacosf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_cacosf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (cacosf);
diff --git a/sysdeps/alpha/fpu/s_cacoshf.c b/sysdeps/alpha/fpu/s_cacoshf.c
deleted file mode 100644
index 6b61d1ddaa..0000000000
--- a/sysdeps/alpha/fpu/s_cacoshf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc hyperbole cosine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cacoshf __cacoshf_not_defined
-#define cacoshf cacoshf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cacoshf
-#undef cacoshf
-#define __cacoshf internal_cacoshf
-
-static _Complex float internal_cacoshf (_Complex float x);
-
-#include <math/s_cacoshf.c>
-#include "cfloat-compat.h"
-
-#undef __cacoshf
-
-c1_cfloat_rettype
-__c1_cacoshf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_cacoshf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cacoshf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_cacoshf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (cacoshf);
diff --git a/sysdeps/alpha/fpu/s_casinf.c b/sysdeps/alpha/fpu/s_casinf.c
deleted file mode 100644
index fd41042ec9..0000000000
--- a/sysdeps/alpha/fpu/s_casinf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc sine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __casinf __casinf_not_defined
-#define casinf casinf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __casinf
-#undef casinf
-#define __casinf internal_casinf
-
-static _Complex float internal_casinf (_Complex float x);
-
-#include <math/s_casinf.c>
-#include "cfloat-compat.h"
-
-#undef __casinf
-
-c1_cfloat_rettype
-__c1_casinf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_casinf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_casinf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_casinf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (casinf);
diff --git a/sysdeps/alpha/fpu/s_casinhf.c b/sysdeps/alpha/fpu/s_casinhf.c
deleted file mode 100644
index 0b72a24d5a..0000000000
--- a/sysdeps/alpha/fpu/s_casinhf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc hyperbole sine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __casinhf __casinhf_not_defined
-#define casinhf casinhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __casinhf
-#undef casinhf
-#define __casinhf internal_casinhf
-
-static _Complex float internal_casinhf (_Complex float x);
-
-#include <math/s_casinhf.c>
-#include "cfloat-compat.h"
-
-#undef __casinhf
-
-c1_cfloat_rettype
-__c1_casinhf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_casinhf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_casinhf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_casinhf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (casinhf);
diff --git a/sysdeps/alpha/fpu/s_catanf.c b/sysdeps/alpha/fpu/s_catanf.c
deleted file mode 100644
index 8f40616617..0000000000
--- a/sysdeps/alpha/fpu/s_catanf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc tangent of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __catanf __catanf_not_defined
-#define catanf catanf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __catanf
-#undef catanf
-#define __catanf internal_catanf
-
-static _Complex float internal_catanf (_Complex float x);
-
-#include <math/s_catanf.c>
-#include "cfloat-compat.h"
-
-#undef __catanf
-
-c1_cfloat_rettype
-__c1_catanf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_catanf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_catanf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_catanf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (catanf);
diff --git a/sysdeps/alpha/fpu/s_catanhf.c b/sysdeps/alpha/fpu/s_catanhf.c
deleted file mode 100644
index ac11945727..0000000000
--- a/sysdeps/alpha/fpu/s_catanhf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return arc hyperbole tangent of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __catanhf __catanhf_not_defined
-#define catanhf catanhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __catanhf
-#undef catanhf
-#define __catanhf internal_catanhf
-
-static _Complex float internal_catanhf (_Complex float x);
-
-#include <math/s_catanhf.c>
-#include "cfloat-compat.h"
-
-#undef __catanhf
-
-c1_cfloat_rettype
-__c1_catanhf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_catanhf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_catanhf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_catanhf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (catanhf);
diff --git a/sysdeps/alpha/fpu/s_ccosf.c b/sysdeps/alpha/fpu/s_ccosf.c
deleted file mode 100644
index 04036f4613..0000000000
--- a/sysdeps/alpha/fpu/s_ccosf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return cosine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ccosf __ccosf_not_defined
-#define ccosf ccosf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ccosf
-#undef ccosf
-#define __ccosf internal_ccosf
-
-static _Complex float internal_ccosf (_Complex float x);
-
-#include <math/s_ccosf.c>
-#include "cfloat-compat.h"
-
-#undef __ccosf
-
-c1_cfloat_rettype
-__c1_ccosf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_ccosf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ccosf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_ccosf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (ccosf);
diff --git a/sysdeps/alpha/fpu/s_ccoshf.c b/sysdeps/alpha/fpu/s_ccoshf.c
deleted file mode 100644
index e9fb34ce47..0000000000
--- a/sysdeps/alpha/fpu/s_ccoshf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return hyperbole cosine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ccoshf __ccoshf_not_defined
-#define ccoshf ccoshf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ccoshf
-#undef ccoshf
-#define __ccoshf internal_ccoshf
-
-static _Complex float internal_ccoshf (_Complex float x);
-
-#include <math/s_ccoshf.c>
-#include "cfloat-compat.h"
-
-#undef __ccoshf
-
-c1_cfloat_rettype
-__c1_ccoshf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_ccoshf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ccoshf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_ccoshf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (ccoshf);
diff --git a/sysdeps/alpha/fpu/s_ceil.c b/sysdeps/alpha/fpu/s_ceil.c
deleted file mode 100644
index 40c2379286..0000000000
--- a/sysdeps/alpha/fpu/s_ceil.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1998, 2000, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-/* Use the -inf rounding mode conversion instructions to implement
-   ceil, via something akin to -floor(-x).  This is much faster than
-   playing with the fpcr to achieve +inf rounding mode.  */
-
-double
-__ceil (double x)
-{
-  double two52 = copysign (0x1.0p52, x);
-  double r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "addt/suim %2, %3, %1\n\tsubt/suim %1, %3, %0"
-#else
-	 "addt/sum %2, %3, %1\n\tsubt/sum %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(-x), "f"(-two52));
-
-  /* Fix up the negation we did above, as well as handling -0 properly. */
-  return copysign (r, x);
-}
-
-weak_alias (__ceil, ceil)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__ceil, __ceill)
-weak_alias (__ceil, ceill)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __ceil, ceill, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_ceilf.c b/sysdeps/alpha/fpu/s_ceilf.c
deleted file mode 100644
index 0df651f405..0000000000
--- a/sysdeps/alpha/fpu/s_ceilf.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1998, 2000, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-/* Use the -inf rounding mode conversion instructions to implement
-   ceil, via something akin to -floor(-x).  This is much faster than
-   playing with the fpcr to achieve +inf rounding mode.  */
-
-float
-__ceilf (float x)
-{
-  float two23 = copysignf (0x1.0p23, x);
-  float r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "adds/suim %2, %3, %1\n\tsubs/suim %1, %3, %0"
-#else
-	 "adds/sum %2, %3, %1\n\tsubs/sum %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(-x), "f"(-two23));
-
-  /* Fix up the negation we did above, as well as handling -0 properly. */
-  return copysignf (r, x);
-}
-
-weak_alias (__ceilf, ceilf)
diff --git a/sysdeps/alpha/fpu/s_cexpf.c b/sysdeps/alpha/fpu/s_cexpf.c
deleted file mode 100644
index 4a28dcd9bf..0000000000
--- a/sysdeps/alpha/fpu/s_cexpf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return exponent of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cexpf __cexpf_not_defined
-#define cexpf cexpf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cexpf
-#undef cexpf
-#define __cexpf internal_cexpf
-
-static _Complex float internal_cexpf (_Complex float x);
-
-#include <math/s_cexpf.c>
-#include "cfloat-compat.h"
-
-#undef __cexpf
-
-c1_cfloat_rettype
-__c1_cexpf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_cexpf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cexpf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_cexpf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (cexpf);
diff --git a/sysdeps/alpha/fpu/s_clog10f.c b/sysdeps/alpha/fpu/s_clog10f.c
deleted file mode 100644
index e7dc7bb23f..0000000000
--- a/sysdeps/alpha/fpu/s_clog10f.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Return base 10 logarithm of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __clog10f __clog10f_not_defined
-#define clog10f clog10f_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __clog10f
-#undef clog10f
-#define __clog10f internal_clog10f
-
-static _Complex float internal_clog10f (_Complex float x);
-
-#include <math/s_clog10f.c>
-#include "cfloat-compat.h"
-
-#undef __clog10f
-
-c1_cfloat_rettype
-__c1_clog10f (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_clog10f (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_clog10f (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_clog10f (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-/* Ug.  __clog10f was exported from GLIBC_2.1.  This is the only
-   complex function whose double-underscore symbol was exported,
-   so we get to handle that specially.  */
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
-strong_alias (__c1_clog10f, __c1_clog10f_2);
-compat_symbol (libm, __c1_clog10f, clog10f, GLIBC_2_1);
-compat_symbol (libm, __c1_clog10f_2, __clog10f, GLIBC_2_1);
-#endif
-versioned_symbol (libm, __c2_clog10f, clog10f, GLIBC_2_3_4);
-extern typeof(__c2_clog10f) __clog10f attribute_hidden;
-strong_alias (__c2_clog10f, __clog10f)
diff --git a/sysdeps/alpha/fpu/s_clogf.c b/sysdeps/alpha/fpu/s_clogf.c
deleted file mode 100644
index 364dcec883..0000000000
--- a/sysdeps/alpha/fpu/s_clogf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return natural logarithm of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __clogf __clogf_not_defined
-#define clogf clogf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __clogf
-#undef clogf
-#define __clogf internal_clogf
-
-static _Complex float internal_clogf (_Complex float x);
-
-#include <math/s_clogf.c>
-#include "cfloat-compat.h"
-
-#undef __clogf
-
-c1_cfloat_rettype
-__c1_clogf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_clogf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_clogf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_clogf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (clogf);
diff --git a/sysdeps/alpha/fpu/s_copysign.c b/sysdeps/alpha/fpu/s_copysign.c
deleted file mode 100644
index 52c632ec4c..0000000000
--- a/sysdeps/alpha/fpu/s_copysign.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 2000, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-double
-__copysign (double x, double y)
-{
-  __asm ("cpys %1, %2, %0" : "=f" (x) : "f" (y), "f" (x));
-  return x;
-}
-
-weak_alias (__copysign, copysign)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__copysign, __copysignl)
-weak_alias (__copysign, copysignl)
-#endif
-#ifdef IS_IN_libm
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_copysignf.c b/sysdeps/alpha/fpu/s_copysignf.c
deleted file mode 100644
index f4b846bcbe..0000000000
--- a/sysdeps/alpha/fpu/s_copysignf.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-float
-__copysignf (float x, float y)
-{
-  __asm ("cpys %1, %2, %0" : "=f" (x) : "f" (y), "f" (x));
-  return x;
-}
-
-weak_alias (__copysignf, copysignf)
diff --git a/sysdeps/alpha/fpu/s_cpowf.c b/sysdeps/alpha/fpu/s_cpowf.c
deleted file mode 100644
index cc61b1895e..0000000000
--- a/sysdeps/alpha/fpu/s_cpowf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return power of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cpowf __cpowf_not_defined
-#define cpowf cpowf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cpowf
-#undef cpowf
-#define __cpowf internal_cpowf
-
-static _Complex float internal_cpowf (_Complex float x, _Complex float c);
-
-#include <math/s_cpowf.c>
-#include "cfloat-compat.h"
-
-#undef __cpowf
-
-c1_cfloat_rettype
-__c1_cpowf (c1_cfloat_decl (x), c1_cfloat_decl (c))
-{
-  _Complex float r = internal_cpowf (c1_cfloat_value (x), c1_cfloat_value (c));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cpowf (c2_cfloat_decl (x), c2_cfloat_decl (c))
-{
-  _Complex float r = internal_cpowf (c2_cfloat_value (x), c2_cfloat_value (c));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (cpowf);
diff --git a/sysdeps/alpha/fpu/s_cprojf.c b/sysdeps/alpha/fpu/s_cprojf.c
deleted file mode 100644
index 5cfb526679..0000000000
--- a/sysdeps/alpha/fpu/s_cprojf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return projection of complex float value to Riemann sphere.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __cprojf __cprojf_not_defined
-#define cprojf cprojf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cprojf
-#undef cprojf
-#define __cprojf internal_cprojf
-
-static _Complex float internal_cprojf (_Complex float x);
-
-#include <math/s_cprojf.c>
-#include "cfloat-compat.h"
-
-#undef __cprojf
-
-c1_cfloat_rettype
-__c1_cprojf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_cprojf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cprojf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_cprojf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (cprojf);
diff --git a/sysdeps/alpha/fpu/s_csinf.c b/sysdeps/alpha/fpu/s_csinf.c
deleted file mode 100644
index 8eb9a1019d..0000000000
--- a/sysdeps/alpha/fpu/s_csinf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return sine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __csinf __csinf_not_defined
-#define csinf csinf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csinf
-#undef csinf
-#define __csinf internal_csinf
-
-static _Complex float internal_csinf (_Complex float x);
-
-#include <math/s_csinf.c>
-#include "cfloat-compat.h"
-
-#undef __csinf
-
-c1_cfloat_rettype
-__c1_csinf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_csinf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csinf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_csinf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (csinf);
diff --git a/sysdeps/alpha/fpu/s_csinhf.c b/sysdeps/alpha/fpu/s_csinhf.c
deleted file mode 100644
index 0e2c186740..0000000000
--- a/sysdeps/alpha/fpu/s_csinhf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return hyperbole sine of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __csinhf __csinhf_not_defined
-#define csinhf csinhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csinhf
-#undef csinhf
-#define __csinhf internal_csinhf
-
-static _Complex float internal_csinhf (_Complex float x);
-
-#include <math/s_csinhf.c>
-#include "cfloat-compat.h"
-
-#undef __csinhf
-
-c1_cfloat_rettype
-__c1_csinhf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_csinhf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csinhf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_csinhf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (csinhf);
diff --git a/sysdeps/alpha/fpu/s_csqrtf.c b/sysdeps/alpha/fpu/s_csqrtf.c
deleted file mode 100644
index ebf23a828e..0000000000
--- a/sysdeps/alpha/fpu/s_csqrtf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return square root of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __csqrtf __csinhf_not_defined
-#define csqrtf csqrtf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csqrtf
-#undef csqrtf
-#define __csqrtf internal_csqrtf
-
-static _Complex float internal_csqrtf (_Complex float x);
-
-#include <math/s_csqrtf.c>
-#include "cfloat-compat.h"
-
-#undef __csqrtf
-
-c1_cfloat_rettype
-__c1_csqrtf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_csqrtf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csqrtf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_csqrtf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (csqrtf);
diff --git a/sysdeps/alpha/fpu/s_ctanf.c b/sysdeps/alpha/fpu/s_ctanf.c
deleted file mode 100644
index e26db963e4..0000000000
--- a/sysdeps/alpha/fpu/s_ctanf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return tangent of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ctanf __ctanf_not_defined
-#define ctanf ctanf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ctanf
-#undef ctanf
-#define __ctanf internal_ctanf
-
-static _Complex float internal_ctanf (_Complex float x);
-
-#include <math/s_ctanf.c>
-#include "cfloat-compat.h"
-
-#undef __ctanf
-
-c1_cfloat_rettype
-__c1_ctanf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_ctanf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ctanf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_ctanf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (ctanf);
diff --git a/sysdeps/alpha/fpu/s_ctanhf.c b/sysdeps/alpha/fpu/s_ctanhf.c
deleted file mode 100644
index 5d047bd460..0000000000
--- a/sysdeps/alpha/fpu/s_ctanhf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Return hyperbole tangent of complex float value.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ctanhf __ctanhf_not_defined
-#define ctanhf ctanhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ctanhf
-#undef ctanhf
-#define __ctanhf internal_ctanhf
-
-static _Complex float internal_ctanhf (_Complex float x);
-
-#include <math/s_ctanhf.c>
-#include "cfloat-compat.h"
-
-#undef __ctanhf
-
-c1_cfloat_rettype
-__c1_ctanhf (c1_cfloat_decl (x))
-{
-  _Complex float r = internal_ctanhf (c1_cfloat_value (x));
-  return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ctanhf (c2_cfloat_decl (x))
-{
-  _Complex float r = internal_ctanhf (c2_cfloat_value (x));
-  return c2_cfloat_return (r);
-}
-
-cfloat_versions (ctanhf);
diff --git a/sysdeps/alpha/fpu/s_fabs.c b/sysdeps/alpha/fpu/s_fabs.c
deleted file mode 100644
index 9bc42f68d0..0000000000
--- a/sysdeps/alpha/fpu/s_fabs.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 2000, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-double
-__fabs (double x)
-{
-#if __GNUC_PREREQ (2, 8)
-  return __builtin_fabs (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
-}
-
-weak_alias (__fabs, fabs)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fabs, __fabsl)
-weak_alias (__fabs, fabsl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_fabsf.c b/sysdeps/alpha/fpu/s_fabsf.c
deleted file mode 100644
index 35e16bf65d..0000000000
--- a/sysdeps/alpha/fpu/s_fabsf.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-float
-__fabsf (float x)
-{
-#if __GNUC_PREREQ (2, 8)
-  return __builtin_fabsf (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
-}
-
-weak_alias (__fabsf, fabsf)
diff --git a/sysdeps/alpha/fpu/s_floor.c b/sysdeps/alpha/fpu/s_floor.c
deleted file mode 100644
index 5af6386155..0000000000
--- a/sysdeps/alpha/fpu/s_floor.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1998, 1999, 2000, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-/* Use the -inf rounding mode conversion instructions to implement floor.  */
-
-double
-__floor (double x)
-{
-  double two52 = copysign (0x1.0p52, x);
-  double r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "addt/suim %2, %3, %1\n\tsubt/suim %1, %3, %0"
-#else
-	 "addt/sum %2, %3, %1\n\tsubt/sum %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(x), "f"(two52));
-
-  /* floor(-0) == -0, and in general we'll always have the same
-     sign as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__floor, floor)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__floor, __floorl)
-weak_alias (__floor, floorl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __floor, floorl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_floorf.c b/sysdeps/alpha/fpu/s_floorf.c
deleted file mode 100644
index 8b421705cd..0000000000
--- a/sysdeps/alpha/fpu/s_floorf.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1998, 1999, 2000, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-
-/* Use the -inf rounding mode conversion instructions to implement floor.  */
-
-float
-__floorf (float x)
-{
-  float two23 = copysignf (0x1.0p23, x);
-  float r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "adds/suim %2, %3, %1\n\tsubs/suim %1, %3, %0"
-#else
-	 "adds/sum %2, %3, %1\n\tsubs/sum %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(x), "f"(two23));
-
-  /* floor(-0) == -0, and in general we'll always have the same
-     sign as our input.  */
-  return copysignf (r, x);
-}
-
-weak_alias (__floorf, floorf)
diff --git a/sysdeps/alpha/fpu/s_fmax.S b/sysdeps/alpha/fpu/s_fmax.S
deleted file mode 100644
index d638eec805..0000000000
--- a/sysdeps/alpha/fpu/s_fmax.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
-        .set noat
-	.set noreorder
-
-	.text
-ENTRY (__fmax)
-	.prologue 0
-
-	cmptun/su	$f16, $f16, $f10
-	cmptun/su	$f17, $f17, $f11
-	fmov		$f17, $f0
-	unop
-
-	trapb
-	fbne		$f10, $ret
-	fmov		$f16, $f0
-	fbne		$f11, $ret
-
-	cmptlt/su	$f16, $f17, $f11
-	trapb
-	fcmovne		$f11, $f17, $f0
-$ret:	ret
-
-END (__fmax)
-
-/* Given the in-register format of single-precision, this works there too.  */
-strong_alias (__fmax, __fmaxf)
-weak_alias (__fmaxf, fmaxf)
-
-weak_alias (__fmax, fmax)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fmax, __fmaxl)
-weak_alias (__fmaxl, fmaxl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_fmaxf.S b/sysdeps/alpha/fpu/s_fmaxf.S
deleted file mode 100644
index 3c2d62bb81..0000000000
--- a/sysdeps/alpha/fpu/s_fmaxf.S
+++ /dev/null
@@ -1 +0,0 @@
-/* __fmaxf is in s_fmax.c  */
diff --git a/sysdeps/alpha/fpu/s_fmin.S b/sysdeps/alpha/fpu/s_fmin.S
deleted file mode 100644
index d70fab625a..0000000000
--- a/sysdeps/alpha/fpu/s_fmin.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
-        .set noat
-	.set noreorder
-
-	.text
-ENTRY (__fmin)
-	.prologue 0
-
-	cmptun/su	$f16, $f16, $f10
-	cmptun/su	$f17, $f17, $f11
-	fmov		$f17, $f0
-	unop
-
-	trapb
-	fbne		$f10, $ret
-	fmov		$f16, $f0
-	fbne		$f11, $ret
-
-	cmptlt/su	$f17, $f16, $f11
-	trapb
-	fcmovne		$f11, $f17, $f0
-$ret:	ret
-
-END (__fmin)
-
-/* Given the in-register format of single-precision, this works there too.  */
-strong_alias (__fmin, __fminf)
-weak_alias (__fminf, fminf)
-
-weak_alias (__fmin, fmin)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fmin, __fminl)
-weak_alias (__fminl, fminl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fmin, fminl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_fminf.S b/sysdeps/alpha/fpu/s_fminf.S
deleted file mode 100644
index 10ab7fe53c..0000000000
--- a/sysdeps/alpha/fpu/s_fminf.S
+++ /dev/null
@@ -1 +0,0 @@
-/* __fminf is in s_fmin.c  */
diff --git a/sysdeps/alpha/fpu/s_isnan.c b/sysdeps/alpha/fpu/s_isnan.c
deleted file mode 100644
index a9230329c5..0000000000
--- a/sysdeps/alpha/fpu/s_isnan.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Return 1 if argument is a NaN, else 0.
-   Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Ugly kludge to avoid declarations.  */
-#define __isnanf	not___isnanf
-#define isnanf		not_isnanf
-#define __GI___isnanf	not__GI___isnanf
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-#undef __isnanf
-#undef isnanf
-#undef __GI___isnanf
-
-/* The hidden_proto in include/math.h was obscured by the macro hackery.  */
-__typeof (__isnan) __isnanf;
-hidden_proto (__isnanf)
-
-
-int
-__isnan (double x)
-{
-  return isunordered (x, x);
-}
-
-hidden_def (__isnan)
-weak_alias (__isnan, isnan)
-
-/* It turns out that the 'double' version will also always work for
-   single-precision.  */
-strong_alias (__isnan, __isnanf)
-hidden_def (__isnanf)
-weak_alias (__isnanf, isnanf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__isnan, __isnanl)
-weak_alias (__isnan, isnanl)
-#endif
-#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0);
-compat_symbol (libc, isnan, isnanl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_isnanf.c b/sysdeps/alpha/fpu/s_isnanf.c
deleted file mode 100644
index af41e43850..0000000000
--- a/sysdeps/alpha/fpu/s_isnanf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_isnan.c */
diff --git a/sysdeps/alpha/fpu/s_llrint.c b/sysdeps/alpha/fpu/s_llrint.c
deleted file mode 100644
index 5db97be037..0000000000
--- a/sysdeps/alpha/fpu/s_llrint.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lrint.c */
diff --git a/sysdeps/alpha/fpu/s_llrintf.c b/sysdeps/alpha/fpu/s_llrintf.c
deleted file mode 100644
index 18f2885ef7..0000000000
--- a/sysdeps/alpha/fpu/s_llrintf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lrintf.c */
diff --git a/sysdeps/alpha/fpu/s_llround.c b/sysdeps/alpha/fpu/s_llround.c
deleted file mode 100644
index b212fbd8e5..0000000000
--- a/sysdeps/alpha/fpu/s_llround.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lround.c.  */
diff --git a/sysdeps/alpha/fpu/s_llroundf.c b/sysdeps/alpha/fpu/s_llroundf.c
deleted file mode 100644
index 73bdf3103f..0000000000
--- a/sysdeps/alpha/fpu/s_llroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lroundf.c.  */
diff --git a/sysdeps/alpha/fpu/s_lrint.c b/sysdeps/alpha/fpu/s_lrint.c
deleted file mode 100644
index 1696408705..0000000000
--- a/sysdeps/alpha/fpu/s_lrint.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __llrint	not___llrint
-#define llrint		not_llrint
-#include <math.h>
-#include <math_ldbl_opt.h>
-#undef __llrint
-#undef llrint
-
-long int
-__lrint (double x)
-{
-  long ret;
-
-  __asm ("cvttq/svd %1,%0" : "=&f"(ret) : "f"(x));
-
-  return ret;
-}
-
-strong_alias (__lrint, __llrint)
-weak_alias (__lrint, lrint)
-weak_alias (__llrint, llrint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lrint, __lrintl)
-strong_alias (__lrint, __llrintl)
-weak_alias (__lrintl, lrintl)
-weak_alias (__llrintl, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_lrintf.c b/sysdeps/alpha/fpu/s_lrintf.c
deleted file mode 100644
index 20a6a6cf82..0000000000
--- a/sysdeps/alpha/fpu/s_lrintf.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __llrintf	not___llrintf
-#define llrintf		not_llrintf
-#include <math.h>
-#undef __llrintf
-#undef llrintf
-
-long int
-__lrintf (float x)
-{
-  double tmp;
-  long ret;
-
-  __asm ("cvtst/s %2,%1\n\tcvttq/svd %1,%0"
-	 : "=&f"(ret), "=&f"(tmp) : "f"(x));
-
-  return ret;
-}
-
-strong_alias (__lrintf, __llrintf)
-weak_alias (__lrintf, lrintf)
-weak_alias (__llrintf, llrintf)
diff --git a/sysdeps/alpha/fpu/s_lround.c b/sysdeps/alpha/fpu/s_lround.c
deleted file mode 100644
index 0e0e98806c..0000000000
--- a/sysdeps/alpha/fpu/s_lround.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __llround	not___llround
-#define llround		not_llround
-#include <math.h>
-#include <math_ldbl_opt.h>
-#undef __llround
-#undef llround
-
-long int
-__lround (double x)
-{
-  double adj;
-
-  adj = 0x1.fffffffffffffp-2;	/* nextafter (0.5, 0.0) */
-  adj = copysign (adj, x);
-  return x + adj;
-}
-
-strong_alias (__lround, __llround)
-weak_alias (__lround, lround)
-weak_alias (__llround, llround)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lround, __lroundl)
-strong_alias (__lround, __llroundl)
-weak_alias (__lroundl, lroundl)
-weak_alias (__llroundl, llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_lroundf.c b/sysdeps/alpha/fpu/s_lroundf.c
deleted file mode 100644
index 16ff348b21..0000000000
--- a/sysdeps/alpha/fpu/s_lroundf.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __llroundf	not___llroundf
-#define llroundf	not_llroundf
-#include <math.h>
-#undef __llroundf
-#undef llroundf
-
-
-long int
-__lroundf (float x)
-{
-  float adj;
-
-  adj = 0x1.fffffep-2;		/* nextafterf (0.5f, 0.0f) */
-  adj = copysignf (adj, x);
-  return x + adj;
-}
-
-strong_alias (__lroundf, __llroundf)
-weak_alias (__lroundf, lroundf)
-weak_alias (__llroundf, llroundf)
diff --git a/sysdeps/alpha/fpu/s_nearbyint.c b/sysdeps/alpha/fpu/s_nearbyint.c
deleted file mode 100644
index b18db8ba79..0000000000
--- a/sysdeps/alpha/fpu/s_nearbyint.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-#ifdef _IEEE_FP_INEXACT
-#error "Don't compile with -mieee-with-inexact"
-#endif
-
-double
-__nearbyint (double x)
-{
-  double two52 = copysign (0x1.0p52, x);
-  double r;
-  
-  r = x + two52;
-  r = r - two52;
-
-  /* nearbyint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__nearbyint, nearbyint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__nearbyint, __nearbyintl)
-weak_alias (__nearbyint, nearbyintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_nearbyintf.c b/sysdeps/alpha/fpu/s_nearbyintf.c
deleted file mode 100644
index ee637982df..0000000000
--- a/sysdeps/alpha/fpu/s_nearbyintf.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-#ifdef _IEEE_FP_INEXACT
-#error "Don't compile with -mieee-with-inexact"
-#endif
-
-float
-__nearbyintf (float x)
-{
-  float two23 = copysignf (0x1.0p23, x);
-  float r;
-
-  r = x + two23;
-  r = r - two23;
-
-  /* nearbyint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__nearbyintf, nearbyintf)
diff --git a/sysdeps/alpha/fpu/s_rint.c b/sysdeps/alpha/fpu/s_rint.c
deleted file mode 100644
index e9aa028822..0000000000
--- a/sysdeps/alpha/fpu/s_rint.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2000, 2006, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-double
-__rint (double x)
-{
-  double two52 = copysign (0x1.0p52, x);
-  double r;
-  
-  r = x + two52;
-  r = r - two52;
-
-  /* rint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__rint, rint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__rint, __rintl)
-weak_alias (__rint, rintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __rint, rintl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/alpha/fpu/s_rintf.c b/sysdeps/alpha/fpu/s_rintf.c
deleted file mode 100644
index 9e4cbd1ffd..0000000000
--- a/sysdeps/alpha/fpu/s_rintf.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2000, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-
-float
-__rintf (float x)
-{
-  float two23 = copysignf (0x1.0p23, x);
-  float r;
-
-  r = x + two23;
-  r = r - two23;
-
-  /* rint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__rintf, rintf)
diff --git a/sysdeps/alpha/fpu/s_round.c b/sysdeps/alpha/fpu/s_round.c
deleted file mode 100644
index 71763cf4ab..0000000000
--- a/sysdeps/alpha/fpu/s_round.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-double
-__round (double x)
-{
-  const double almost_half = 0x1.fffffffffffffp-2;
-  const double two52 = 0x1.0p52;
-  double tmp, r;
-
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
-#else
-	 "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(fabs (x) + almost_half), "f"(two52));
-
-  return copysign (r, x);
-}
-
-weak_alias (__round, round)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__round, __roundl)
-weak_alias (__roundl, roundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __round, roundl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_roundf.c b/sysdeps/alpha/fpu/s_roundf.c
deleted file mode 100644
index 89584f062b..0000000000
--- a/sysdeps/alpha/fpu/s_roundf.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-
-float
-__roundf (float x)
-{
-  const float almost_half = 0x1.fffffep-2;
-  const float two23 = 0x1.0p23;
-  float r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
-#else
-	 "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(fabsf (x) + almost_half), "f"(two23));
-
-  /* round(-0) == -0, and in general we'll always have the same
-     sign as our input.  */
-  return copysignf (r, x);
-}
-
-weak_alias (__roundf, roundf)
diff --git a/sysdeps/alpha/fpu/s_trunc.c b/sysdeps/alpha/fpu/s_trunc.c
deleted file mode 100644
index 11a279a53f..0000000000
--- a/sysdeps/alpha/fpu/s_trunc.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-/* Use the chopped rounding mode conversion instructions to implement trunc. */
-
-double
-__trunc (double x)
-{
-  double two52 = copysign (0x1.0p52, x);
-  double r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
-#else
-	 "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(x), "f"(two52));
-
-  /* trunc(-0) == -0, and in general we'll always have the same
-     sign as our input.  */
-  return copysign (r, x);
-}
-
-weak_alias (__trunc, trunc)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__trunc, __truncl)
-weak_alias (__trunc, truncl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __trunc, truncl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/alpha/fpu/s_truncf.c b/sysdeps/alpha/fpu/s_truncf.c
deleted file mode 100644
index 094997b433..0000000000
--- a/sysdeps/alpha/fpu/s_truncf.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <math.h>
-
-
-/* Use the chopped rounding mode conversion instructions to implement trunc. */
-
-float
-__truncf (float x)
-{
-  float two23 = copysignf (0x1.0p23, x);
-  float r, tmp;
-  
-  __asm (
-#ifdef _IEEE_FP_INEXACT
-	 "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
-#else
-	 "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
-#endif
-	 : "=&f"(r), "=&f"(tmp)
-	 : "f"(x), "f"(two23));
-
-  /* trunc(-0) == -0, and in general we'll always have the same
-     sign as our input.  */
-  return copysignf (r, x);
-}
-
-weak_alias (__truncf, truncf)
diff --git a/sysdeps/alpha/gccframe.h b/sysdeps/alpha/gccframe.h
deleted file mode 100644
index b67022548f..0000000000
--- a/sysdeps/alpha/gccframe.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Definition of object in frame unwind info.  alpha version.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define FIRST_PSEUDO_REGISTER 64
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/alpha/hp-timing.h b/sysdeps/alpha/hp-timing.h
deleted file mode 100644
index ccae06b487..0000000000
--- a/sysdeps/alpha/hp-timing.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* High precision, low overhead timing functions.  Alpha version.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson <rth@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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _HP_TIMING_H
-#define _HP_TIMING_H	1
-
-#include <string.h>
-#include <sys/param.h>
-#include <stdio-common/_itoa.h>
-
-/* The macros defined here use the timestamp counter in IA-64.  They
-   provide a very accurate way to measure the time with very little
-   overhead.  The time values themself have no real meaning, only
-   differences are interesting.
-
-   The list of macros we need includes the following:
-
-   - HP_TIMING_AVAIL: test for availability.
-
-   - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
-     implemented using function calls but instead uses some inlined code
-     which might simply consist of a few assembler instructions.  We have to
-     know this since we might want to use the macros here in places where we
-     cannot make function calls.
-
-   - hp_timing_t: This is the type for variables used to store the time
-     values.
-
-   - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
-   - HP_TIMING_NOW: place timestamp for current time in variable given as
-     parameter.
-
-   - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
-     HP_TIMING_DIFF macro.
-
-   - HP_TIMING_DIFF: compute difference between two times and store it
-     in a third.  Source and destination might overlap.
-
-   - HP_TIMING_ACCUM: add time difference to another variable.  This might
-     be a bit more complicated to implement for some platforms as the
-     operation should be thread-safe and 64bit arithmetic on 32bit platforms
-     is not.
-
-   - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
-     there are no threads involved.
-
-   - HP_TIMING_PRINT: write decimal representation of the timing value into
-     the given string.  This operation need not be inline even though
-     HP_TIMING_INLINE is specified.
-*/
-
-/* We always have the timestamp register, but it's got only a 4 second
-   range.  Use it for ld.so profiling only.  */
-#define HP_TIMING_AVAIL		(0)
-#define HP_SMALL_TIMING_AVAIL	(1)
-
-/* We indeed have inlined functions.  */
-#define HP_TIMING_INLINE	(1)
-
-/* We use 32 bit values for the times.  */
-typedef unsigned int hp_timing_t;
-
-/* Set timestamp value to zero.  */
-#define HP_TIMING_ZERO(VAR)	(VAR) = (0)
-
-/* The "rpcc" instruction returns a 32-bit counting half and a 32-bit
-   "virtual cycle counter displacement".  Subtracting the two gives us
-   a virtual cycle count.  */
-#define HP_TIMING_NOW(VAR) \
-  do {									      \
-    unsigned long int x_;						      \
-    asm volatile ("rpcc %0" : "=r"(x_));				      \
-    (VAR) = (int) (x_) - (int) (x_ >> 32);				      \
-  } while (0)
-
-/* ??? Two rpcc instructions can be scheduled simultaneously.  */
-#define HP_TIMING_DIFF_INIT() do { } while (0)
-
-/* It's simple arithmetic for us.  */
-#define HP_TIMING_DIFF(Diff, Start, End)	(Diff) = ((End) - (Start))
-
-/* ??? Don't bother, since we're only used for ld.so.  */
-#define HP_TIMING_ACCUM(Sum, Diff)  not implemented
-
-/* No threads, no extra work.  */
-#define HP_TIMING_ACCUM_NT(Sum, Diff)	(Sum) += (Diff)
-
-/* Print the time value.  */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
-  do {									      \
-    char __buf[20];							      \
-    char *__cp = _itoa_word (Val, __buf + sizeof (__buf), 10, 0);	      \
-    int __len = (Len);							      \
-    char *__dest = (Buf);						      \
-    while (__len-- > 0 && __cp < __buf + sizeof (__buf))		      \
-      *__dest++ = *__cp++;						      \
-    memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles")));  \
-  } while (0)
-
-#endif	/* hp-timing.h */
diff --git a/sysdeps/alpha/htonl.S b/sysdeps/alpha/htonl.S
deleted file mode 100644
index ef2a575995..0000000000
--- a/sysdeps/alpha/htonl.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-ENTRY(htonl)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	inslh	a0, 7, t0	# t0 = 0000000000AABBCC
-	inswl	a0, 3, t1	# t1 = 000000CCDD000000
-	or	t1, t0, t1	# t1 = 000000CCDDAABBCC
-	srl	t1, 16, t2	# t2 = 0000000000CCDDAA
-	zapnot	t1, 0x0A, t0	# t0 = 00000000DD00BB00
-	zapnot	t2, 0x05, t3	# t3 = 0000000000CC00AA
-	addl	t0, t3, v0	# v0 = ssssssssDDCCBBAA
-	ret
-
-	END(htonl)
-
-weak_alias (htonl, ntohl)
diff --git a/sysdeps/alpha/htons.S b/sysdeps/alpha/htons.S
deleted file mode 100644
index 7c6270226d..0000000000
--- a/sysdeps/alpha/htons.S
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-ENTRY(htons)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	extwh	a0, 7, t1	# t1 = bb00
-	extbl	a0, 1, v0	# v0 = 00aa
-	bis	v0, t1, v0	# v0 = bbaa
-	ret
-
-	END(htons)
-
-weak_alias (htons, ntohs)
diff --git a/sysdeps/alpha/jmpbuf-offsets.h b/sysdeps/alpha/jmpbuf-offsets.h
deleted file mode 100644
index c2503d442a..0000000000
--- a/sysdeps/alpha/jmpbuf-offsets.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Private macros for accessing __jmp_buf contents.  Alpha version.
-   Copyright (C) 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define JB_S0  0
-#define JB_S1  1
-#define JB_S2  2
-#define JB_S3  3
-#define JB_S4  4
-#define JB_S5  5
-#define JB_PC  6
-#define JB_FP  7
-#define JB_SP  8
-#define JB_F2  9
-#define JB_F3  10
-#define JB_F4  11
-#define JB_F5  12
-#define JB_F6  13
-#define JB_F7  14
-#define JB_F8  15
-#define JB_F9  16
diff --git a/sysdeps/alpha/jmpbuf-unwind.h b/sysdeps/alpha/jmpbuf-unwind.h
deleted file mode 100644
index ca5f693d5d..0000000000
--- a/sysdeps/alpha/jmpbuf-unwind.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2003, 2004, 2005, 2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-#include <stdint.h>
-#include <unwind.h>
-#include <sysdep.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame containing a local
-   variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(_jmpbuf, _address, _demangle) \
-  ((void *)(_address) < (void *) _demangle ((_jmpbuf)[JB_SP]))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
-  _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf regs)
-{
-  uintptr_t sp = regs[JB_SP];
-#ifdef PTR_DEMANGLE
-  PTR_DEMANGLE (sp);
-#endif
-  return sp;
-}
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
-  ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj))
-
-/* We use the normal longjmp for unwinding.  */
-#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S
deleted file mode 100644
index 0a971a7ed0..0000000000
--- a/sysdeps/alpha/ldiv.S
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Copyright (C) 1996, 1997, 2001, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-#undef FRAME
-#ifdef __alpha_fix__
-#define FRAME 0
-#else
-#define FRAME 16
-#endif
-
-#undef X
-#undef Y
-#define X $17
-#define Y $18
-
-	.set noat
-
-	.align 4
-	.globl ldiv
-	.ent ldiv
-ldiv:
-	.frame sp, FRAME, ra
-#if FRAME > 0
-	lda	sp, -FRAME(sp)
-#endif
-#ifdef PROF
-	.set	macro
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set	nomacro
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	beq	Y, $divbyzero
-	excb
-	mf_fpcr	$f10
-
-	_ITOFT2	X, $f0, 0, Y, $f1, 8
-
-	.align	4
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-	unop
-
-	/* Check to see if X fit in the double as an exact value.  */
-	sll	X, (64-53), AT
-	sra	AT, (64-53), AT
-	cmpeq	X, AT, AT
-	beq	AT, $x_big
-
-	/* If we get here, we're expecting exact results from the division.
-	   Do nothing else besides convert and clean up.  */
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f10
-	_FTOIT	$f0, $0, 0
-
-$egress:
-	mulq	$0, Y, $1
-	subq	X, $1, $1
-
-	stq	$0, 0($16)
-	stq	$1, 8($16)
-	mov	$16, $0
-
-#if FRAME > 0
-	lda	sp, FRAME(sp)
-#endif
-	ret
-
-	.align	4
-$x_big:
-	/* If we get here, X is large enough that we don't expect exact
-	   results, and neither X nor Y got mis-translated for the fp
-	   division.  Our task is to take the fp result, figure out how
-	   far it's off from the correct result and compute a fixup.  */
-
-#define Q	v0		/* quotient */
-#define R	t0		/* remainder */
-#define SY	t1		/* scaled Y */
-#define S	t2		/* scalar */
-#define QY	t3		/* Q*Y */
-
-	/* The fixup code below can only handle unsigned values.  */
-	or	X, Y, AT
-	mov	$31, t5
-	blt	AT, $fix_sign_in
-$fix_sign_in_ret1:
-	cvttq/c	$f0, $f0
-
-	_FTOIT	$f0, Q, 8
-$fix_sign_in_ret2:
-	mulq	Q, Y, QY
-	excb
-	mt_fpcr	$f10
-
-	.align	4
-	subq	QY, X, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_high
-
-$q_high_ret:
-	subq	X, QY, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_low
-
-$q_low_ret:
-	negq	Q, t4
-	cmovlbs	t5, t4, Q
-	br	$egress
-
-	.align	4
-	/* The quotient that we computed was too large.  We need to reduce
-	   it by S such that Y*S >= R.  Obviously the closer we get to the
-	   correct value the better, but overshooting high is ok, as we'll
-	   fix that up later.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_high:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	subq	Q, S, Q
-	unop
-	subq	QY, SY, QY
-	br	$q_high_ret
-
-	.align	4
-	/* The quotient that we computed was too small.  Divide Y by the 
-	   current remainder (R) and add that to the existing quotient (Q).
-	   The expectation, of course, is that R is much smaller than X.  */
-	/* Begin with a shift-up loop.  Compute S such that Y*S >= R.  We
-	   already have a copy of Y in SY and the value 1 in S.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_low:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	/* Shift-down and subtract loop.  Each iteration compares our scaled
-	   Y (SY) with the remainder (R); if SY <= R then X is divisible by
-	   Y's scalar (S) so add it to the quotient (Q).  */
-2:	addq	Q, S, t3
-	srl	S, 1, S
-	cmpule	SY, R, AT
-	subq	R, SY, t4
-
-	cmovne	AT, t3, Q
-	cmovne	AT, t4, R
-	srl	SY, 1, SY
-	bne	S, 2b
-
-	br	$q_low_ret
-
-	.align	4
-$fix_sign_in:
-	/* If we got here, then X|Y is negative.  Need to adjust everything
-	   such that we're doing unsigned division in the fixup loop.  */
-	/* T5 is true if result should be negative.  */
-	xor	X, Y, AT
-	cmplt	AT, 0, t5
-	cmplt	X, 0, AT
-	negq	X, t0
-
-	cmovne	AT, t0, X
-	cmplt	Y, 0, AT
-	negq	Y, t0
-
-	cmovne	AT, t0, Y
-	blbc	t5, $fix_sign_in_ret1
-
-	cvttq/c	$f0, $f0
-	_FTOIT	$f0, Q, 8
-	.align	3
-	negq	Q, Q
-	br	$fix_sign_in_ret2
-
-$divbyzero:
-	mov	a0, v0
-	lda	a0, GEN_INTDIV
-	call_pal PAL_gentrap
-	stq	zero, 0(v0)
-	stq	zero, 8(v0)
-
-#if FRAME > 0
-	lda	sp, FRAME(sp)
-#endif
-	ret
-
-	.end	ldiv
-
-weak_alias (ldiv, lldiv)
diff --git a/sysdeps/alpha/libc-tls.c b/sysdeps/alpha/libc-tls.c
deleted file mode 100644
index 7e02769171..0000000000
--- a/sysdeps/alpha/libc-tls.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker.  Alpha version.
-   Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <csu/libc-tls.c>
-#include <dl-tls.h>
-
-/* On Alpha, linker optimizations are not required, so __tls_get_addr
-   can be called even in statically linked binaries.  In this case module
-   must be always 1 and PT_TLS segment exist in the binary, otherwise it
-   would not link.  */
-
-void *
-__tls_get_addr (tls_index *ti)
-{
-  dtv_t *dtv = THREAD_DTV ();
-  return (char *) dtv[1].pointer.val + ti->ti_offset;
-}
diff --git a/sysdeps/alpha/lldiv.S b/sysdeps/alpha/lldiv.S
deleted file mode 100644
index 80c450a3fc..0000000000
--- a/sysdeps/alpha/lldiv.S
+++ /dev/null
@@ -1 +0,0 @@
-/* lldiv is the same as ldiv on the Alpha.  */
diff --git a/sysdeps/alpha/lshift.s b/sysdeps/alpha/lshift.s
deleted file mode 100644
index 42fb430dd4..0000000000
--- a/sysdeps/alpha/lshift.s
+++ /dev/null
@@ -1,109 +0,0 @@
- # Alpha 21064 __mpn_lshift --
-
- # Copyright (C) 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # cnt		r19
-
- # This code runs at 4.8 cycles/limb on the 21064.  With infinite unrolling,
- # it would take 4 cycles/limb.  It should be possible to get down to 3
- # cycles/limb since both ldq and stq can be paired with the other used
- # instructions.  But there are many restrictions in the 21064 pipeline that
- # makes it hard, if not impossible, to get down to 3 cycles/limb:
-
- # 1. ldq has a 3 cycle delay, srl and sll have a 2 cycle delay.
- # 2. Only aligned instruction pairs can be paired.
- # 3. The store buffer or silo might not be able to deal with the bandwidth.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_lshift
-	.ent	__mpn_lshift
-__mpn_lshift:
-	.frame	$30,0,$26,0
-
-	s8addq	$18,$17,$17	# make r17 point at end of s1
-	ldq	$4,-8($17)	# load first limb
-	subq	$17,8,$17
-	subq	$31,$19,$7
-	s8addq	$18,$16,$16	# make r16 point at end of RES
-	subq	$18,1,$18
-	and	$18,4-1,$20	# number of limbs in first loop
-	srl	$4,$7,$0	# compute function result
-
-	beq	$20,.L0
-	subq	$18,$20,$18
-
-	.align	3
-.Loop0:
-	ldq	$3,-8($17)
-	subq	$16,8,$16
-	subq	$17,8,$17
-	subq	$20,1,$20
-	sll	$4,$19,$5
-	srl	$3,$7,$6
-	bis	$3,$3,$4
-	bis	$5,$6,$8
-	stq	$8,0($16)
-	bne	$20,.Loop0
-
-.L0:	beq	$18,.Lend
-
-	.align	3
-.Loop:	ldq	$3,-8($17)
-	subq	$16,32,$16
-	subq	$18,4,$18
-	sll	$4,$19,$5
-	srl	$3,$7,$6
-
-	ldq	$4,-16($17)
-	sll	$3,$19,$1
-	bis	$5,$6,$8
-	stq	$8,24($16)
-	srl	$4,$7,$2
-
-	ldq	$3,-24($17)
-	sll	$4,$19,$5
-	bis	$1,$2,$8
-	stq	$8,16($16)
-	srl	$3,$7,$6
-
-	ldq	$4,-32($17)
-	sll	$3,$19,$1
-	bis	$5,$6,$8
-	stq	$8,8($16)
-	srl	$4,$7,$2
-
-	subq	$17,32,$17
-	bis	$1,$2,$8
-	stq	$8,0($16)
-
-	bgt	$18,.Loop
-
-.Lend:	sll	$4,$19,$8
-	stq	$8,-8($16)
-	ret	$31,($26),1
-	.end	__mpn_lshift
diff --git a/sysdeps/alpha/machine-gmon.h b/sysdeps/alpha/machine-gmon.h
deleted file mode 100644
index 5f5522c0b4..0000000000
--- a/sysdeps/alpha/machine-gmon.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Machine-specific calling sequence for `mcount' profiling function.  alpha
-   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define _MCOUNT_DECL(from, self) \
- void __mcount (u_long from, u_long self)
-
-/* Call __mcount with our the return PC for our caller, and the return
-   PC our caller will return to.  Empty since we use an assembly stub
-   instead. */
-#define MCOUNT
diff --git a/sysdeps/alpha/memchr.S b/sysdeps/alpha/memchr.S
deleted file mode 100644
index 5d713d53ba..0000000000
--- a/sysdeps/alpha/memchr.S
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 1996, 2000, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds characters in a memory area.  Optimized for the Alpha:
-
-      - memory accessed as aligned quadwords only
-      - uses cmpbge to compare 8 bytes in parallel
-      - does binary search to find 0 byte in last
-        quadword (HAKMEM needed 12 instructions to
-        do this instead of the 9 instructions that
-        binary search needs).
-
-For correctness consider that:
-
-      - only minimum number of quadwords may be accessed
-      - the third argument is an unsigned long
-*/
-
-#include <sysdep.h>
-
-        .set noreorder
-        .set noat
-
-ENTRY(__memchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	# Hack -- if someone passes in (size_t)-1, hoping to just
-	# search til the end of the address space, we will overflow
-	# below when we find the address of the last byte.  Given
-	# that we will never have a 56-bit address space, cropping
-	# the length is the easiest way to avoid trouble.
-	zap	a2, 0x80, t4	#-e0	:
-
-	beq	a2, $not_found	# .. e1 :
-        ldq_u   t0, 0(a0)       # e1	: load first quadword
-	insbl	a1, 1, t1	# .. e0 : t1 = 000000000000ch00
-	and	a1, 0xff, a1	#-e0    : a1 = 00000000000000ch
-	cmpult	a2, 9, t3	# .. e1 :
-	or	t1, a1, a1	# e0    : a1 = 000000000000chch
-        lda     t2, -1(zero)	# .. e1 :
-	sll	a1, 16, t1	#-e0    : t1 = 00000000chch0000
-	addq	a0, t4, t4	# .. e1 :
-	or	t1, a1, a1	# e1    : a1 = 00000000chchchch
-	unop			#	:
-	sll	a1, 32, t1	#-e0    : t1 = chchchch00000000
-	or	t1, a1, a1	# e1	: a1 = chchchchchchchch
-	extql	t0, a0, t6	# e0    :
-	beq	t3, $first_quad	# .. e1 :
-
-	ldq_u	t5, -1(t4)	#-e1	: eight or less bytes to search
-	extqh	t5, a0, t5	# .. e0 :
-	mov	a0, v0		# e0	:
-	or	t6, t5, t0	# .. e1 : t0 = quadword starting at a0
-
-	# Deal with the case where at most 8 bytes remain to be searched
-	# in t0.  E.g.:
-	#	a2 = 6
-	#	t0 = ????c6c5c4c3c2c1
-$last_quad:
-	negq	a2, t5		#-e0	:
-        xor	a1, t0, t0	# .. e1 :
-	srl	t2, t5, t5	# e0    : t5 = mask of a2 bits set
-        cmpbge  zero, t0, t1	# .. e1 :
-	and	t1, t5, t1	#-e0	:
-        beq     t1, $not_found	# .. e1 :
-
-$found_it:
-	# Now, determine which byte matched:
-        negq    t1, t2		# e0	:
-        and     t1, t2, t1	# e1	:
-
-        and     t1, 0x0f, t0	#-e0	:
-        addq    v0, 4, t2	# .. e1 :
-        cmoveq  t0, t2, v0	# e0	:
-
-        addq    v0, 2, t2	# .. e1 :
-        and     t1, 0x33, t0	#-e0	:
-        cmoveq  t0, t2, v0	# .. e1 :
-
-        and     t1, 0x55, t0	# e0	:
-        addq    v0, 1, t2	# .. e1 :
-        cmoveq  t0, t2, v0	#-e0	:
-
-$done:	ret			# .. e1 :
-
-	# Deal with the case where a2 > 8 bytes remain to be
-	# searched.  a0 may not be aligned.
-	.align 4
-$first_quad:
-	andnot	a0, 0x7, v0	#-e1	:
-        insqh   t2, a0, t1	# .. e0	: t1 = 0000ffffffffffff (a0<0:2> ff)
-        xor	t0, a1, t0	# e0	:
-	or	t0, t1, t0	# e1	: t0 = ====ffffffffffff
-        cmpbge  zero, t0, t1	#-e0	:
-        bne     t1, $found_it	# .. e1 :
-
-	# At least one byte left to process.
-
-	ldq	t0, 8(v0)	# e0	:
-	subq	t4, 1, a2	# .. e1 :
-	addq	v0, 8, v0	#-e0	:
-
-	# Make a2 point to last quad to be accessed (the
-	# last quad may or may not be partial).
-
-	andnot	a2, 0x7, a2	# .. e1 :
-	cmpult	v0, a2, t1	# e0	:
-	beq	t1, $final	# .. e1 :
-
-	# At least two quads remain to be accessed.
-
-	subq	a2, v0, t3	#-e0	: t3 <- nr quads to be processed
-	and	t3, 8, t3	# e1	: odd number of quads?
-	bne	t3, $odd_quad_count # e1 :
-
-	# At least three quads remain to be accessed
-
-	mov	t0, t3		# e0	: move prefetched value to correct reg
-
-	.align	4
-$unrolled_loop:
-	ldq	t0, 8(v0)	#-e0	: prefetch t0
-	xor	a1, t3, t1	# .. e1 :
-	cmpbge	zero, t1, t1	# e0	:
-	bne	t1, $found_it	# .. e1 :
-
-	addq	v0, 8, v0	#-e0	:
-$odd_quad_count:
-	xor	a1, t0, t1	# .. e1 :
-	ldq	t3, 8(v0)	# e0	: prefetch t3
-	cmpbge	zero, t1, t1	# .. e1 :
-	addq	v0, 8, t5	#-e0	:
-	bne	t1, $found_it	# .. e1	:
-
-	cmpult	t5, a2, t5	# e0	:
-	addq	v0, 8, v0	# .. e1 :
-	bne	t5, $unrolled_loop #-e1 :
-
-	mov	t3, t0		# e0	: move prefetched value into t0
-$final:	subq	t4, v0, a2	# .. e1	: a2 <- number of bytes left to do
-	bne	a2, $last_quad	# e1	:
-
-$not_found:
-	mov	zero, v0	#-e0	:
-	ret			# .. e1 :
-
-        END(__memchr)
-
-weak_alias (__memchr, memchr)
-#if !__BOUNDED_POINTERS__
-weak_alias (__memchr, __ubp_memchr)
-#endif
-libc_hidden_builtin_def (memchr)
diff --git a/sysdeps/alpha/memset.S b/sysdeps/alpha/memset.S
deleted file mode 100644
index e34af2b314..0000000000
--- a/sysdeps/alpha/memset.S
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Fill a block of memory with a character.  Optimized for the Alpha
-   architecture:
-
-   - memory accessed as aligned quadwords only
-   - destination memory not read unless needed for good cache behaviour
-   - basic blocks arranged to optimize branch prediction for full-quadword
-     aligned memory blocks.
-   - partial head and tail quadwords constructed with byte-mask instructions
-
-   This is generally scheduled for the EV5 (got to look out for my own
-   interests :-), but with EV4 needs in mind.  There *should* be no more
-   stalls for the EV4 than there are for the EV5.
-*/
-
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the main
-   loop in its own procedure descriptor.  */
-
-	/* On entry to this basic block:
-	   t3 == loop counter
-	   t4 == bytes in partial final word
-	   a0 == possibly misaligned destination pointer
-	   a1 == replicated source character  */
-
-	.ent memset_loop
-	.align 3
-memset_loop:
-	.frame sp, 0, ra, 0
-	.prologue 0
-
-	beq	t3, $tail
-	blbc	t3, 0f		# skip single store if count even
-
-	stq_u	a1, 0(a0)	# e0    : store one word
-	subq	t3, 1, t3	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	beq	t3, $tail	# .. e1 :
-
-0:	stq_u	a1, 0(a0)	# e0    : store two words
-	subq	t3, 2, t3	# .. e1 :
-	stq_u	a1, 8(a0)	# e0    :
-	addq	a0, 16, a0	# .. e1 :
-	bne	t3, 0b		# e1    :
-
-$tail:	bne	t4, 1f		# is there a tail to do?
-	ret			# no
-
-	.align 3
-1:	ldq_u	t0, 0(a0)	# e1    : yes, load original data
-	mskql	a1, t4, t1	# .. e0 :
-	mskqh	t0, t4, t0	# e0    :
-	or	t0, t1, t0	# e1 (stall)
-	stq_u	t0, 0(a0)	# e0    :
-	ret			# .. e1 :
-
-	.end memset_loop
-
-ENTRY(memset)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	zapnot	a1, 1, a1	# e0    : zero extend input character
-	mov	a0, v0		# .. e1 : move return value in place
-	sll	a1, 8, t0	# e0    : begin replicating the char
-	beq	a2, $done	# .. e1 : early exit for zero-length store
-	or	t0, a1, a1	# e0    :
-	and	a0, 7, t1	# .. e1 : dest misalignment
-	sll	a1, 16, t0	# e0    :
-	addq	a2, t1, a2	# .. e1 : add dest misalignment to count
-	or	t0, a1, a1	# e0    :
-	srl	a2, 3, t3	# .. e1 : loop = count >> 3
-	sll	a1, 32, t0	# e0    :
-	and	a2, 7, t4	# .. e1 : find number of bytes in tail
-	or	t0, a1, a1	# e0    : character replication done
-
-	beq	t1, memset_loop	# .. e1 : aligned head, jump right in
-
-	ldq_u	t0, 0(a0)	# e1    : load original data to mask into
-	mskqh	a1, a0, t1	# .. e0 :
-
-	cmpult	a2, 8, t2	# e0    : is this a sub-word set?
-	bne	t2, $oneq	# .. e1 (zdb)
-
-	mskql	t0, a0, t0	# e0    : we span words.  finish this partial
-	subq	t3, 1, t3	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	or	t0, t1, t0	# .. e1 :
-	stq_u	t0, -8(a0)	# e0    :
-	br 	memset_loop	# .. e1 :
-
-	.align 3
-$oneq:
-	mskql	t1, a2, t1	# e0    : entire operation within one word
-	mskql	t0, a0, t2	# e0    :
-	mskqh	t0, a2, t3	# e0    :
-	or	t1, t2, t0	# .. e1 :
-	or	t0, t3, t0	# e1    :
-	stq_u	t0, 0(a0)	# e0 (stall)
-
-$done:	ret
-
-	END(memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/alpha/memusage.h b/sysdeps/alpha/memusage.h
deleted file mode 100644
index 3d84160338..0000000000
--- a/sysdeps/alpha/memusage.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define GETSP() ({ register uintptr_t stack_ptr asm ("$30"); stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/alpha/mul_1.s b/sysdeps/alpha/mul_1.s
deleted file mode 100644
index 165c281ac6..0000000000
--- a/sysdeps/alpha/mul_1.s
+++ /dev/null
@@ -1,85 +0,0 @@
- # Alpha 21064 __mpn_mul_1 -- Multiply a limb vector with a limb and store
- # the result in a second limb vector.
-
- # Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # s2_limb	r19
-
- # This code runs at 42 cycles/limb on the EV4 and 18 cycles/limb on the EV5.
-
- # To improve performance for long multiplications, we would use
- # 'fetch' for S1 and 'fetch_m' for RES.  It's not obvious how to use
- # these instructions without slowing down the general code: 1. We can
- # only have two prefetches in operation at any time in the Alpha
- # architecture.  2. There will seldom be any special alignment
- # between RES_PTR and S1_PTR.  Maybe we can simply divide the current
- # loop into an inner and outer loop, having the inner loop handle
- # exactly one prefetch block?
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_mul_1
-	.ent	__mpn_mul_1 2
-__mpn_mul_1:
-	.frame	$30,0,$26
-
-	ldq	$2,0($17)	# $2 = s1_limb
-	subq	$18,1,$18	# size--
-	mulq	$2,$19,$3	# $3 = prod_low
-	bic	$31,$31,$4	# clear cy_limb
-	umulh	$2,$19,$0	# $0 = prod_high
-	beq	$18,Lend1	# jump if size was == 1
-	ldq	$2,8($17)	# $2 = s1_limb
-	subq	$18,1,$18	# size--
-	stq	$3,0($16)
-	beq	$18,Lend2	# jump if size was == 2
-
-	.align	3
-Loop:	mulq	$2,$19,$3	# $3 = prod_low
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	subq	$18,1,$18	# size--
-	umulh	$2,$19,$4	# $4 = cy_limb
-	ldq	$2,16($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	stq	$3,8($16)
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	addq	$16,8,$16	# res_ptr++
-	bne	$18,Loop
-
-Lend2:	mulq	$2,$19,$3	# $3 = prod_low
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	umulh	$2,$19,$4	# $4 = cy_limb
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	stq	$3,8($16)
-	addq	$4,$0,$0	# cy_limb = prod_high + cy
-	ret	$31,($26),1
-Lend1:	stq	$3,0($16)
-	ret	$31,($26),1
-
-	.end	__mpn_mul_1
diff --git a/sysdeps/alpha/nscd-types.h b/sysdeps/alpha/nscd-types.h
deleted file mode 100644
index 957edaf297..0000000000
--- a/sysdeps/alpha/nscd-types.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Types for the NSCD implementation.  Alpha version.
-   Copyright (c) 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdint.h>
-
-typedef int64_t nscd_ssize_t;
diff --git a/sysdeps/alpha/rawmemchr.S b/sysdeps/alpha/rawmemchr.S
deleted file mode 100644
index d3a69fa63c..0000000000
--- a/sysdeps/alpha/rawmemchr.S
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return pointer to first occurrence of CH in STR.  */
-
-#include <sysdep.h>
-
-	.set noreorder
-	.set noat
-
-ENTRY(__rawmemchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	zapnot	a1, 1, a1	# e0    : zero extend the search character
-	ldq_u   t0, 0(a0)	# .. e1 : load first quadword
-	sll	a1, 8, t5	# e0    : replicate the search character
-	andnot  a0, 7, v0	# .. e1 : align our loop pointer
-
-	or	t5, a1, a1	# e0    :
-	lda	t4, -1		# .. e1 : build garbage mask
-	sll	a1, 16, t5	# e0    :
-	unop			#	:
-
-	mskqh	t4, a0, t4	# e0    :
-	or	t5, a1, a1	# .. e1 :
-	sll	a1, 32, t5	# e0    :
-	cmpbge	zero, t4, t4	# .. e1 : bits set iff byte is garbage
-
-	or	t5, a1, a1	# e0    :
-	xor	t0, a1, t1	# .. e1 : make bytes == c zero
-	cmpbge  zero, t1, t3	# e0    : bits set iff byte == c
-	unop			#	:
-
-	andnot	t3, t4, t0	# e0    : clear garbage bits
-	fnop			# .. fa :
-	unop			#	:
-	bne	t0, $found	# .. e1 (zdb)
-
-	.align 4
-$loop:
-	ldq	t0, 8(v0)	# e0    :
-	addq	v0, 8, v0	# .. e1 :
-	nop			# e0    :
-	xor	t0, a1, t1	# .. e1 (ev5 data stall)
-
-	cmpbge	zero, t1, t0	# e0	: bits set iff byte == c
-	beq	t0, $loop	# .. e1 (zdb)
-
-$found:
-	negq    t0, t1		# e0    : clear all but least set bit
-	and     t0, t1, t0	# e1 (stall)
-	and     t0, 0xf0, t2	# e0    : binary search for that set bit
-	and	t0, 0xcc, t3	# .. e1 :
-
-	and	t0, 0xaa, t4	# e0    :
-	cmovne	t2, 4, t2	# .. e1 :
-	cmovne	t3, 2, t3	# e0    :
-	cmovne	t4, 1, t4	# .. e1 :
-
-	addq	t2, t3, t2	# e0    :
-	addq	v0, t4, v0	# .. e1 :
-	addq	v0, t2, v0	# e0    :
-	ret			# .. e1 :
-
-	END(__rawmemchr)
-
-libc_hidden_def (__rawmemchr)
-weak_alias (__rawmemchr, rawmemchr)
diff --git a/sysdeps/alpha/reml.S b/sysdeps/alpha/reml.S
deleted file mode 100644
index ae291b0505..0000000000
--- a/sysdeps/alpha/reml.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   Contributed by Richard Henderson  <rth@twiddle.net>
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-/* 32-bit signed int remainder.  This is not a normal C function.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may
-   be clobbered.
-
-   The FPU can handle the division for all input values except zero.
-   All we have to do is compute the remainder via multiply-and-subtract.
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-#ifndef EXTEND
-#define EXTEND(S,D)	sextl S, D
-#endif
-
-	.text
-	.align	4
-	.globl	__reml
-	.type	__reml, @funcnoplt
-	.usepv	__reml, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__reml:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-	stt	$f0, 0(sp)
-	excb
-	beq	Y, DIVBYZERO
-
-	stt	$f1, 8(sp)
-	stt	$f2, 16(sp)
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f2, 16)
-	mf_fpcr	$f2
-
-	EXTEND	(X, RV)
-	EXTEND	(Y, AT)
-	_ITOFT2	RV, $f0, 24, AT, $f1, 32
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f2
-	_FTOIT	$f0, RV, 24
-
-	ldt	$f0, 0(sp)
-	mull	RV, Y, RV
-	ldt	$f1, 8(sp)
-	ldt	$f2, 16(sp)
-	lda	sp, FRAME(sp)
-	cfi_restore ($f0)
-	cfi_restore ($f1)
-	cfi_restore ($f2)
-	cfi_def_cfa_offset (0)
-	subl	X, RV, RV
-	ret	$31, (RA), 1
-
-	cfi_endproc
-	.size	__reml, .-__reml
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/remlu.S b/sysdeps/alpha/remlu.S
deleted file mode 100644
index f8691e19a4..0000000000
--- a/sysdeps/alpha/remlu.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#define UNSIGNED
-#define EXTEND(S,D)	zapnot S, 15, D
-#define __reml		__remlu
-#include <reml.S>
diff --git a/sysdeps/alpha/remq.S b/sysdeps/alpha/remq.S
deleted file mode 100644
index 64e958bb95..0000000000
--- a/sysdeps/alpha/remq.S
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-
-/* 64-bit signed long remainder.  These are not normal C functions.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may
-   be clobbered.
-
-   Theory of operation here is that we can use the FPU divider for virtually
-   all operands that we see: all dividend values between -2**53 and 2**53-1
-   can be computed directly.  Note that divisor values need not be checked
-   against that range because the rounded fp value will be close enough such
-   that the quotient is < 1, which will properly be truncated to zero when we
-   convert back to integer.
-
-   When the dividend is outside the range for which we can compute exact
-   results, we use the fp quotent as an estimate from which we begin refining
-   an exact integral value.  This reduces the number of iterations in the
-   shift-and-subtract loop significantly.
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-	.text
-	.align	4
-	.globl	__remq
-	.type	__remq, @funcnoplt
-	.usepv	__remq, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__remq:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-
-	/* Get the fp divide insn issued as quickly as possible.  After
-	   that's done, we have at least 22 cycles until its results are
-	   ready -- all the time in the world to figure out how we're
-	   going to use the results.  */
-	stt	$f0, 0(sp)
-	excb
-	beq	Y, DIVBYZERO
-
-	stt	$f1, 8(sp)
-	stt	$f3, 48(sp)
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f3, 48)
-	mf_fpcr	$f3
-
-	_ITOFT2	X, $f0, 16, Y, $f1, 24
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-	divt/c	$f0, $f1, $f0
-
-	/* Check to see if X fit in the double as an exact value.  */
-	sll	X, (64-53), AT
-	ldt	$f1, 8(sp)
-	sra	AT, (64-53), AT
-	cmpeq	X, AT, AT
-	beq	AT, $x_big
-
-	/* If we get here, we're expecting exact results from the division.
-	   Do nothing else besides convert, compute remainder, clean up.  */
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f3
-	_FTOIT	$f0, AT, 16
-	mulq	AT, Y, AT
-	ldt	$f0, 0(sp)
-	ldt	$f3, 48(sp)
-	cfi_restore ($f1)
-	cfi_remember_state
-	cfi_restore ($f0)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	lda	sp, FRAME(sp)
-	subq	X, AT, RV
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-$x_big:
-	/* If we get here, X is large enough that we don't expect exact
-	   results, and neither X nor Y got mis-translated for the fp
-	   division.  Our task is to take the fp result, figure out how
-	   far it's off from the correct result and compute a fixup.  */
-	stq	t0, 16(sp)
-	stq	t1, 24(sp)
-	stq	t2, 32(sp)
-	stq	t5, 40(sp)
-	cfi_rel_offset (t0, 16)
-	cfi_rel_offset (t1, 24)
-	cfi_rel_offset (t2, 32)
-	cfi_rel_offset (t5, 40)
-
-#define Q	t0		/* quotient */
-#define R	RV		/* remainder */
-#define SY	t1		/* scaled Y */
-#define S	t2		/* scalar */
-#define QY	t3		/* Q*Y */
-
-	/* The fixup code below can only handle unsigned values.  */
-	or	X, Y, AT
-	mov	$31, t5
-	blt	AT, $fix_sign_in
-$fix_sign_in_ret1:
-	cvttq/c	$f0, $f0
-
-	_FTOIT	$f0, Q, 8
-	.align	3
-$fix_sign_in_ret2:
-	ldt	$f0, 0(sp)
-	stq	t3, 0(sp)
-	cfi_restore ($f0)
-	cfi_rel_offset (t3, 0)
-
-	mulq	Q, Y, QY
-	excb
-	stq	t4, 8(sp)
-	mt_fpcr	$f3
-	cfi_rel_offset (t4, 8)
-
-	subq	QY, X, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_high
-
-$q_high_ret:
-	subq	X, QY, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_low
-
-$q_low_ret:
-	ldq	t0, 16(sp)
-	ldq	t1, 24(sp)
-	ldq	t2, 32(sp)
-	bne	t5, $fix_sign_out
-
-$fix_sign_out_ret:
-	ldq	t3, 0(sp)
-	ldq	t4, 8(sp)
-	ldq	t5, 40(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_remember_state
-	cfi_restore (t0)
-	cfi_restore (t1)
-	cfi_restore (t2)
-	cfi_restore (t3)
-	cfi_restore (t4)
-	cfi_restore (t5)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-	/* The quotient that we computed was too large.  We need to reduce
-	   it by S such that Y*S >= R.  Obviously the closer we get to the
-	   correct value the better, but overshooting high is ok, as we'll
-	   fix that up later.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_high:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	subq	Q, S, Q
-	unop
-	subq	QY, SY, QY
-	br	$q_high_ret
-
-	.align	4
-	/* The quotient that we computed was too small.  Divide Y by the 
-	   current remainder (R) and add that to the existing quotient (Q).
-	   The expectation, of course, is that R is much smaller than X.  */
-	/* Begin with a shift-up loop.  Compute S such that Y*S >= R.  We
-	   already have a copy of Y in SY and the value 1 in S.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_low:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	/* Shift-down and subtract loop.  Each iteration compares our scaled
-	   Y (SY) with the remainder (R); if SY <= R then X is divisible by
-	   Y's scalar (S) so add it to the quotient (Q).  */
-2:	addq	Q, S, t3
-	srl	S, 1, S
-	cmpule	SY, R, AT
-	subq	R, SY, t4
-
-	cmovne	AT, t3, Q
-	cmovne	AT, t4, R
-	srl	SY, 1, SY
-	bne	S, 2b
-
-	br	$q_low_ret
-
-	.align	4
-$fix_sign_in:
-	/* If we got here, then X|Y is negative.  Need to adjust everything
-	   such that we're doing unsigned division in the fixup loop.  */
-	/* T5 records the changes we had to make:
-		bit 0:	set if X was negated.  Note that the sign of the
-			remainder follows the sign of the divisor.
-		bit 2:	set if Y was negated.
-	*/
-	xor	X, Y, t1
-	cmplt	X, 0, t5
-	negq	X, t0
-	cmovne	t5, t0, X
-
-	cmplt	Y, 0, AT
-	negq	Y, t0
-	s4addq	AT, t5, t5
-	cmovne	AT, t0, Y
-
-	bge	t1, $fix_sign_in_ret1
-	cvttq/c	$f0, $f0
-	_FTOIT	$f0, Q, 8
-	.align	3
-	negq	Q, Q
-	br	$fix_sign_in_ret2
-
-	.align	4
-$fix_sign_out:
-	/* Now we get to undo what we did above.  */
-	/* ??? Is this really faster than just increasing the size of
-	   the stack frame and storing X and Y in memory?  */
-	and	t5, 4, AT
-	negq	Y, t4
-	cmovne	AT, t4, Y
-
-	negq	X, t4
-	cmovlbs	t5, t4, X
-	negq	RV, t4
-	cmovlbs	t5, t4, RV
-
-	br	$fix_sign_out_ret
-
-	cfi_endproc
-	.size	__remq, .-__remq
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/remqu.S b/sysdeps/alpha/remqu.S
deleted file mode 100644
index 398a345a18..0000000000
--- a/sysdeps/alpha/remqu.S
+++ /dev/null
@@ -1,272 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "div_libc.h"
-
-
-/* 64-bit unsigned long remainder.  These are not normal C functions.  Argument
-   registers are t10 and t11, the result goes in t12.  Only t12 and AT may be
-   clobbered.
-
-   Theory of operation here is that we can use the FPU divider for virtually
-   all operands that we see: all dividend values between -2**53 and 2**53-1
-   can be computed directly.  Note that divisor values need not be checked
-   against that range because the rounded fp value will be close enough such
-   that the quotient is < 1, which will properly be truncated to zero when we
-   convert back to integer.
-
-   When the dividend is outside the range for which we can compute exact
-   results, we use the fp quotent as an estimate from which we begin refining
-   an exact integral value.  This reduces the number of iterations in the
-   shift-and-subtract loop significantly.
-
-   The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
-   for cvttq/c even without /sui being set.  It will not, however, properly
-   raise the exception, so we don't have to worry about FPCR_INED being clear
-   and so dying by SIGFPE.  */
-
-	.text
-	.align	4
-	.globl	__remqu
-	.type	__remqu, @funcnoplt
-	.usepv	__remqu, no
-
-	cfi_startproc
-	cfi_return_column (RA)
-__remqu:
-	lda	sp, -FRAME(sp)
-	cfi_def_cfa_offset (FRAME)
-	CALL_MCOUNT
-
-	/* Get the fp divide insn issued as quickly as possible.  After
-	   that's done, we have at least 22 cycles until its results are
-	   ready -- all the time in the world to figure out how we're
-	   going to use the results.  */
-	subq	Y, 1, AT
-	stt	$f0, 0(sp)
-	and	Y, AT, AT
-
-	stt	$f1, 8(sp)
-	excb
-	stt	$f3, 48(sp)
-	beq	AT, $powerof2
-	cfi_rel_offset ($f0, 0)
-	cfi_rel_offset ($f1, 8)
-	cfi_rel_offset ($f3, 48)
-
-	_ITOFT2	X, $f0, 16, Y, $f1, 24
-	mf_fpcr	$f3
-	cvtqt	$f0, $f0
-	cvtqt	$f1, $f1
-
-	blt	X, $x_is_neg
-	divt/c	$f0, $f1, $f0
-
-	/* Check to see if Y was mis-converted as signed value.  */
-	ldt	$f1, 8(sp)
-	blt	Y, $y_is_neg
-
-	/* Check to see if X fit in the double as an exact value.  */
-	srl	X, 53, AT
-	bne	AT, $x_big
-
-	/* If we get here, we're expecting exact results from the division.
-	   Do nothing else besides convert, compute remainder, clean up.  */
-	cvttq/c	$f0, $f0
-	excb
-	mt_fpcr	$f3
-	_FTOIT	$f0, AT, 16
-
-	mulq	AT, Y, AT
-	ldt	$f0, 0(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_remember_state
-	cfi_restore ($f0)
-	cfi_restore ($f1)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-
-	.align	4
-	subq	X, AT, RV
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-$x_is_neg:
-	/* If we get here, X is so big that bit 63 is set, which made the
-	   conversion come out negative.  Fix it up lest we not even get
-	   a good estimate.  */
-	ldah	AT, 0x5f80		/* 2**64 as float.  */
-	stt	$f2, 24(sp)
-	cfi_rel_offset ($f2, 24)
-	_ITOFS	AT, $f2, 16
-
-	addt	$f0, $f2, $f0
-	divt/c	$f0, $f1, $f0
-
-	/* Ok, we've now the divide issued.  Continue with other checks.  */
-	.align	4
-	ldt	$f1, 8(sp)
-	unop
-	ldt	$f2, 24(sp)
-	blt	Y, $y_is_neg
-	cfi_restore ($f1)
-	cfi_restore ($f2)
-	cfi_remember_state	/* for y_is_neg */
-
-	.align	4
-$x_big:
-	/* If we get here, X is large enough that we don't expect exact
-	   results, and neither X nor Y got mis-translated for the fp
-	   division.  Our task is to take the fp result, figure out how
-	   far it's off from the correct result and compute a fixup.  */
-	stq	t0, 16(sp)
-	stq	t1, 24(sp)
-	stq	t2, 32(sp)
-	stq	t3, 40(sp)
-	cfi_rel_offset (t0, 16)
-	cfi_rel_offset (t1, 24)
-	cfi_rel_offset (t2, 32)
-	cfi_rel_offset (t3, 40)
-
-#define Q	t0		/* quotient */
-#define R	RV		/* remainder */
-#define SY	t1		/* scaled Y */
-#define S	t2		/* scalar */
-#define QY	t3		/* Q*Y */
-
-	cvttq/c	$f0, $f0
-	_FTOIT	$f0, Q, 8
-	mulq	Q, Y, QY
-
-	.align	4
-	stq	t4, 8(sp)
-	excb
-	ldt	$f0, 0(sp)
-	mt_fpcr	$f3
-	cfi_rel_offset (t4, 8)
-	cfi_restore ($f0)
-
-	subq	QY, X, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_high
-
-$q_high_ret:
-	subq	X, QY, R
-	mov	Y, SY
-	mov	1, S
-	bgt	R, $q_low
-
-$q_low_ret:
-	ldq	t4, 8(sp)
-	ldq	t0, 16(sp)
-	ldq	t1, 24(sp)
-	ldq	t2, 32(sp)
-
-	ldq	t3, 40(sp)
-	ldt	$f3, 48(sp)
-	lda	sp, FRAME(sp)
-	cfi_remember_state
-	cfi_restore (t0)
-	cfi_restore (t1)
-	cfi_restore (t2)
-	cfi_restore (t3)
-	cfi_restore (t4)
-	cfi_restore ($f3)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_restore_state
-	/* The quotient that we computed was too large.  We need to reduce
-	   it by S such that Y*S >= R.  Obviously the closer we get to the
-	   correct value the better, but overshooting high is ok, as we'll
-	   fix that up later.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_high:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	subq	Q, S, Q
-	unop
-	subq	QY, SY, QY
-	br	$q_high_ret
-
-	.align	4
-	/* The quotient that we computed was too small.  Divide Y by the 
-	   current remainder (R) and add that to the existing quotient (Q).
-	   The expectation, of course, is that R is much smaller than X.  */
-	/* Begin with a shift-up loop.  Compute S such that Y*S >= R.  We
-	   already have a copy of Y in SY and the value 1 in S.  */
-0:
-	addq	SY, SY, SY
-	addq	S, S, S
-$q_low:
-	cmpult	SY, R, AT
-	bne	AT, 0b
-
-	/* Shift-down and subtract loop.  Each iteration compares our scaled
-	   Y (SY) with the remainder (R); if SY <= R then X is divisible by
-	   Y's scalar (S) so add it to the quotient (Q).  */
-2:	addq	Q, S, t3
-	srl	S, 1, S
-	cmpule	SY, R, AT
-	subq	R, SY, t4
-
-	cmovne	AT, t3, Q
-	cmovne	AT, t4, R
-	srl	SY, 1, SY
-	bne	S, 2b
-
-	br	$q_low_ret
-
-	.align	4
-	cfi_restore_state
-$y_is_neg:
-	/* If we get here, Y is so big that bit 63 is set.  The results
-	   from the divide will be completely wrong.  Fortunately, the
-	   quotient must be either 0 or 1, so the remainder must be X
-	   or X-Y, so just compute it directly.  */
-	cmpule	Y, X, AT
-	subq	X, Y, RV
-	ldt	$f0, 0(sp)
-	cmoveq	AT, X, RV
-
-	lda	sp, FRAME(sp)
-	cfi_restore ($f0)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	.align	4
-	cfi_def_cfa_offset (FRAME)
-$powerof2:
-	subq	Y, 1, AT
-	beq	Y, DIVBYZERO
-	and	X, AT, RV
-	lda	sp, FRAME(sp)
-	cfi_def_cfa_offset (0)
-	ret	$31, (RA), 1
-
-	cfi_endproc
-	.size	__remqu, .-__remqu
-
-	DO_DIVBYZERO
diff --git a/sysdeps/alpha/rshift.s b/sysdeps/alpha/rshift.s
deleted file mode 100644
index 7c230f1933..0000000000
--- a/sysdeps/alpha/rshift.s
+++ /dev/null
@@ -1,107 +0,0 @@
- # Alpha 21064 __mpn_rshift --
-
- # Copyright (C) 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # cnt		r19
-
- # This code runs at 4.8 cycles/limb on the 21064.  With infinite unrolling,
- # it would take 4 cycles/limb.  It should be possible to get down to 3
- # cycles/limb since both ldq and stq can be paired with the other used
- # instructions.  But there are many restrictions in the 21064 pipeline that
- # makes it hard, if not impossible, to get down to 3 cycles/limb:
-
- # 1. ldq has a 3 cycle delay, srl and sll have a 2 cycle delay.
- # 2. Only aligned instruction pairs can be paired.
- # 3. The store buffer or silo might not be able to deal with the bandwidth.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_rshift
-	.ent	__mpn_rshift
-__mpn_rshift:
-	.frame	$30,0,$26,0
-
-	ldq	$4,0($17)	# load first limb
-	addq	$17,8,$17
-	subq	$31,$19,$7
-	subq	$18,1,$18
-	and	$18,4-1,$20	# number of limbs in first loop
-	sll	$4,$7,$0	# compute function result
-
-	beq	$20,.L0
-	subq	$18,$20,$18
-
-	.align	3
-.Loop0:
-	ldq	$3,0($17)
-	addq	$16,8,$16
-	addq	$17,8,$17
-	subq	$20,1,$20
-	srl	$4,$19,$5
-	sll	$3,$7,$6
-	bis	$3,$3,$4
-	bis	$5,$6,$8
-	stq	$8,-8($16)
-	bne	$20,.Loop0
-
-.L0:	beq	$18,.Lend
-
-	.align	3
-.Loop:	ldq	$3,0($17)
-	addq	$16,32,$16
-	subq	$18,4,$18
-	srl	$4,$19,$5
-	sll	$3,$7,$6
-
-	ldq	$4,8($17)
-	srl	$3,$19,$1
-	bis	$5,$6,$8
-	stq	$8,-32($16)
-	sll	$4,$7,$2
-
-	ldq	$3,16($17)
-	srl	$4,$19,$5
-	bis	$1,$2,$8
-	stq	$8,-24($16)
-	sll	$3,$7,$6
-
-	ldq	$4,24($17)
-	srl	$3,$19,$1
-	bis	$5,$6,$8
-	stq	$8,-16($16)
-	sll	$4,$7,$2
-
-	addq	$17,32,$17
-	bis	$1,$2,$8
-	stq	$8,-8($16)
-
-	bgt	$18,.Loop
-
-.Lend:	srl	$4,$19,$8
-	stq	$8,0($16)
-	ret	$31,($26),1
-	.end	__mpn_rshift
diff --git a/sysdeps/alpha/setjmp.S b/sysdeps/alpha/setjmp.S
deleted file mode 100644
index bc5da0f5bc..0000000000
--- a/sysdeps/alpha/setjmp.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1992,1994,1996,1997,2002,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __ASSEMBLY__
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
-	.ent __sigsetjmp
-	.global __sigsetjmp
-__sigsetjmp:
-	ldgp    gp, 0(pv)
-
-$sigsetjmp_local:
-#ifndef PIC
-#define FRAME	16
-	subq    sp, FRAME, sp
-	.frame  sp, FRAME, ra, 0
-	stq     ra, 0(sp)
-	.mask   0x04000000, -FRAME
-#else
-#define FRAME	0
-	.frame	sp, FRAME, ra, 0
-#endif
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	stq	s0, JB_S0*8(a0)
-	stq	s1, JB_S1*8(a0)
-	stq	s2, JB_S2*8(a0)
-	stq	s3, JB_S3*8(a0)
-	stq	s4, JB_S4*8(a0)
-	stq	s5, JB_S5*8(a0)
-#ifdef PTR_MANGLE
-	PTR_MANGLE(t1, ra, t0)
-	stq	t1, JB_PC*8(a0)
-#else
-	stq	ra, JB_PC*8(a0)
-#endif
-#if defined(PTR_MANGLE) && FRAME == 0
-	PTR_MANGLE2(t1, sp, t0)
-#else
-	addq	sp, FRAME, t1
-# ifdef PTR_MANGLE
-	PTR_MANGLE2(t1, t1, t0)
-# endif
-#endif
-	stq	t1, JB_SP*8(a0)
-#ifdef PTR_MANGLE
-	PTR_MANGLE2(t1, fp, t0)
-	stq	t1, JB_FP*8(a0)
-#else
-	stq	fp, JB_FP*8(a0)
-#endif
-	stt	$f2, JB_F2*8(a0)
-	stt	$f3, JB_F3*8(a0)
-	stt	$f4, JB_F4*8(a0)
-	stt	$f5, JB_F5*8(a0)
-	stt	$f6, JB_F6*8(a0)
-	stt	$f7, JB_F7*8(a0)
-	stt	$f8, JB_F8*8(a0)
-	stt	$f9, JB_F9*8(a0)
-
-#ifndef PIC
-	/* Call to C to (potentially) save our signal mask.  */
-	jsr	ra, __sigjmp_save
-	ldq	ra, 0(sp)
-	addq	sp, 16, sp
-	ret
-#elif defined NOT_IN_libc && defined IS_IN_rtld
-	/* In ld.so we never save the signal mask.  */
-	mov	0, v0
-	ret
-#else
-	/* Tailcall to save the signal mask.  */
-	br	$31, __sigjmp_save	!samegp
-#endif
-
-END(__sigsetjmp)
-
-/* Put these traditional entry points in the same file so that we can
-   elide much of the nonsense in trying to jmp to the real function.  */
-
-ENTRY(_setjmp)
-	ldgp	gp, 0(pv)
-	.prologue 1
-	mov	0, a1
-	br	$sigsetjmp_local
-END(_setjmp)
-libc_hidden_def (_setjmp)
-
-ENTRY(setjmp)
-	ldgp	gp, 0(pv)
-	.prologue 1
-	mov	1, a1
-	br	$sigsetjmp_local
-END(setjmp)
-
-weak_extern(_setjmp)
-weak_extern(setjmp)
diff --git a/sysdeps/alpha/soft-fp/Makefile b/sysdeps/alpha/soft-fp/Makefile
deleted file mode 100644
index 5410a78984..0000000000
--- a/sysdeps/alpha/soft-fp/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-#  Software floating-point emulation.
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += ots_add ots_sub ots_mul ots_div ots_cmp ots_cmpe	\
-	ots_cvtxq ots_cvtqx ots_cvtqux ots_cvttx ots_cvtxt ots_nintxq
-endif
-
-ifeq ($(subdir),math)
-CPPFLAGS += -I../soft-fp
-endif
diff --git a/sysdeps/alpha/soft-fp/Versions b/sysdeps/alpha/soft-fp/Versions
deleted file mode 100644
index 3901287115..0000000000
--- a/sysdeps/alpha/soft-fp/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
-  GLIBC_2.3.4 {
-    _OtsAddX; _OtsSubX; _OtsMulX; _OtsDivX;
-    _OtsEqlX; _OtsNeqX; _OtsLssX; _OtsLeqX; _OtsGtrX; _OtsGeqX;
-    _OtsCvtQX; _OtsCvtQUX; _OtsCvtXQ; _OtsNintXQ;
-    _OtsConvertFloatTX; _OtsConvertFloatXT;
-  }
-}
diff --git a/sysdeps/alpha/soft-fp/e_sqrtl.c b/sysdeps/alpha/soft-fp/e_sqrtl.c
deleted file mode 100644
index 717d170127..0000000000
--- a/sysdeps/alpha/soft-fp/e_sqrtl.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* long double square root in software floating-point emulation.
-   Copyright (C) 1997, 1999, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdlib.h>
-#include <soft-fp.h>
-#include <quad.h>
-
-long double
-__ieee754_sqrtl (const long double a)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(C);
-  long double c;
-  long _round = 4;	/* dynamic rounding */
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_Q(A, a);
-  FP_SQRT_Q(C, A);
-  FP_PACK_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-  return c;
-}
diff --git a/sysdeps/alpha/soft-fp/local-soft-fp.h b/sysdeps/alpha/soft-fp/local-soft-fp.h
deleted file mode 100644
index e93a2ad064..0000000000
--- a/sysdeps/alpha/soft-fp/local-soft-fp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdlib.h>
-#include <soft-fp.h>
-#include <quad.h>
-
-/* Helpers for the Ots functions which receive long double arguments
-   in two integer registers, and return values in $16+$17.  */
-
-#undef _FP_UNPACK_RAW_2
-#define _FP_UNPACK_RAW_2(fs, X, val)                    \
-  do {                                                  \
-    union _FP_UNION_##fs _flo;				\
-    _flo.longs.a = val##l;				\
-    _flo.longs.b = val##h;				\
-    X##_f0 = _flo.bits.frac0;				\
-    X##_f1 = _flo.bits.frac1;				\
-    X##_e  = _flo.bits.exp;				\
-    X##_s  = _flo.bits.sign;				\
-  } while (0)
-
-#undef _FP_PACK_RAW_2
-#define _FP_PACK_RAW_2(fs, val, X)                      \
-  do {                                                  \
-    union _FP_UNION_##fs _flo;				\
-    _flo.bits.frac0 = X##_f0;				\
-    _flo.bits.frac1 = X##_f1;				\
-    _flo.bits.exp   = X##_e;				\
-    _flo.bits.sign  = X##_s;				\
-    val##l = _flo.longs.a;				\
-    val##h = _flo.longs.b;				\
-  } while (0)
-
-#define FP_DECL_RETURN(X) \
-  long X##l, X##h
-
-/* ??? We don't have a real way to tell the compiler that we're wanting
-   to return values in $16+$17.  Instead use a volatile asm to make sure
-   that the values are live, and just hope that nothing kills the values
-   in between here and the end of the function.  */
-#define FP_RETURN(X)				\
-do {						\
-  register long r16 __asm__("16") = X##l;	\
-  register long r17 __asm__("17") = X##h;	\
-  asm volatile ("" : : "r"(r16), "r"(r17));	\
-} while (0)
diff --git a/sysdeps/alpha/soft-fp/ots_add.c b/sysdeps/alpha/soft-fp/ots_add.c
deleted file mode 100644
index acf66f316b..0000000000
--- a/sysdeps/alpha/soft-fp/ots_add.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: addition.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-void
-_OtsAddX(long al, long ah, long bl, long bh, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_SEMIRAW_Q(A, a);
-  FP_UNPACK_SEMIRAW_Q(B, b);
-  FP_ADD_Q(C, A, B);
-  FP_PACK_SEMIRAW_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cmp.c b/sysdeps/alpha/soft-fp/ots_cmp.c
deleted file mode 100644
index c356b4848e..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cmp.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Software floating-point emulation: comparison.
-   Copyright (C) 1997,1999,2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-static long
-internal_equality (long al, long ah, long bl, long bh, long neq)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B);
-  long r;
-
-  FP_UNPACK_RAW_Q(A, a);
-  FP_UNPACK_RAW_Q(B, b);
-
-  if ((A_e == _FP_EXPMAX_Q && !_FP_FRAC_ZEROP_2(A))
-       || (B_e == _FP_EXPMAX_Q && !_FP_FRAC_ZEROP_2(B)))
-    {
-      /* EQ and NE signal invalid operation only if either operand is SNaN.  */
-      if (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))
-	{
-	  FP_SET_EXCEPTION(FP_EX_INVALID);
-	  FP_HANDLE_EXCEPTIONS;
-	}
-      return -1;
-    }
-
-  r = (A_e == B_e
-       && _FP_FRAC_EQ_2 (A, B)
-       && (A_s == B_s || (!A_e && _FP_FRAC_ZEROP_2(A))));
-  r ^= neq;
-
-  return r;
-}
-
-long
-_OtsEqlX (long al, long ah, long bl, long bh)
-{
-  return internal_equality (al, ah, bl, bh, 0);
-}
-
-long
-_OtsNeqX (long al, long ah, long bl, long bh)
-{
-  return internal_equality (al, ah, bl, bh, 1);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cmpe.c b/sysdeps/alpha/soft-fp/ots_cmpe.c
deleted file mode 100644
index 001eb75a9b..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cmpe.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Software floating-point emulation: comparison.
-   Copyright (C) 1997,1999,2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-static long
-internal_compare (long al, long ah, long bl, long bh)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B);
-  long r;
-
-  FP_UNPACK_RAW_Q(A, a);
-  FP_UNPACK_RAW_Q(B, b);
-  FP_CMP_Q (r, A, B, 2);
-
-  /* Relative comparisons signal invalid operation if either operand is NaN. */
-  if (r == 2)
-    {
-      FP_SET_EXCEPTION(FP_EX_INVALID);
-      FP_HANDLE_EXCEPTIONS;
-    }
-
-  return r;
-}
-
-long
-_OtsLssX (long al, long ah, long bl, long bh)
-{
-  long r = internal_compare (al, ah, bl, bh);
-  if (r == 2)
-    return -1;
-  else
-    return r < 0;
-}
-
-long
-_OtsLeqX (long al, long ah, long bl, long bh)
-{
-  long r = internal_compare (al, ah, bl, bh);
-  if (r == 2)
-    return -1;
-  else
-    return r <= 0;
-}
-
-long
-_OtsGtrX (long al, long ah, long bl, long bh)
-{
-  long r = internal_compare (al, ah, bl, bh);
-  if (r == 2)
-    return -1;
-  else
-    return r > 0;
-}
-
-long
-_OtsGeqX (long al, long ah, long bl, long bh)
-{
-  long r = internal_compare (al, ah, bl, bh);
-  if (r == 2)
-    return -1;
-  else
-    return r >= 0;
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cvtqux.c b/sysdeps/alpha/soft-fp/ots_cvtqux.c
deleted file mode 100644
index 82c50806c4..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cvtqux.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Software floating-point emulation: unsigned integer to float conversion.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-/* Should never actually be used, since we've more bits of precision
-   than the incomming long, but needed for linkage.  */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE  FP_RND_ZERO
-
-void
-_OtsCvtQUX (unsigned long a)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_FROM_INT_Q(C, a, 64, unsigned long);
-  FP_PACK_RAW_Q(c, C);
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cvtqx.c b/sysdeps/alpha/soft-fp/ots_cvtqx.c
deleted file mode 100644
index dc80291506..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cvtqx.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: signed integer to float conversion.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-/* Should never actually be used, since we've more bits of precision
-   than the incomming long, but needed for linkage.  */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE  FP_RND_ZERO
-
-void
-_OtsCvtQX (long a)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_FROM_INT_Q(C, a, 64, unsigned long);
-  FP_PACK_RAW_Q(c, C);
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cvttx.c b/sysdeps/alpha/soft-fp/ots_cvttx.c
deleted file mode 100644
index 2d0bc9bca9..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cvttx.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Software floating-point emulation: floating point extension.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-#include "double.h"
-
-/* Should never actually be used, since we're extending, but needed
-   for linkage.  */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE  FP_RND_ZERO
-
-void
-_OtsConvertFloatTX(double a)
-{
-  FP_DECL_EX;
-  FP_DECL_D(A);
-  FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_UNPACK_RAW_D(A, a);
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
-  FP_EXTEND(Q,D,4,2,C,A);
-#else
-  FP_EXTEND(Q,D,2,1,C,A);
-#endif
-  FP_PACK_RAW_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cvtxq.c b/sysdeps/alpha/soft-fp/ots_cvtxq.c
deleted file mode 100644
index 2c9df529d5..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cvtxq.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Software floating-point emulation: float to integer conversion.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-long
-_OtsCvtXQ (long al, long ah, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A);
-  unsigned long r;
-  long s;
-
-  /* If bit 3 is set, then integer overflow detection is requested.  */
-  s = _round & 8 ? 1 : -1;
-  _round = _round & 3;
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_RAW_Q(A, a);
-  FP_TO_INT_Q(r, A, 64, s);
-
-  if (s > 0 && (_fex &= FP_EX_INVALID))
-    FP_HANDLE_EXCEPTIONS;
-
-  return r;
-}
diff --git a/sysdeps/alpha/soft-fp/ots_cvtxt.c b/sysdeps/alpha/soft-fp/ots_cvtxt.c
deleted file mode 100644
index 6221a2365c..0000000000
--- a/sysdeps/alpha/soft-fp/ots_cvtxt.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Software floating-point emulation: floating point truncation.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-#include "double.h"
-
-double
-_OtsConvertFloatXT (long al, long ah, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A);
-  FP_DECL_D(R);
-  double r;
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_SEMIRAW_Q(A, a);
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
-  FP_TRUNC(D,Q,2,4,R,A);
-#else
-  FP_TRUNC(D,Q,1,2,R,A);
-#endif
-  FP_PACK_SEMIRAW_D(r, R);
-  FP_HANDLE_EXCEPTIONS;
-
-  return r;
-}
diff --git a/sysdeps/alpha/soft-fp/ots_div.c b/sysdeps/alpha/soft-fp/ots_div.c
deleted file mode 100644
index eb07489284..0000000000
--- a/sysdeps/alpha/soft-fp/ots_div.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: division.
-   Copyright (C) 1997,1999,2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-void
-_OtsDivX(long al, long ah, long bl, long bh, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_Q(A, a);
-  FP_UNPACK_Q(B, b);
-  FP_DIV_Q(C, A, B);
-  FP_PACK_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_mul.c b/sysdeps/alpha/soft-fp/ots_mul.c
deleted file mode 100644
index f88ee33fbc..0000000000
--- a/sysdeps/alpha/soft-fp/ots_mul.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: multiplication.
-   Copyright (C) 1997,1999,2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-void
-_OtsMulX(long al, long ah, long bl, long bh, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_Q(A, a);
-  FP_UNPACK_Q(B, b);
-  FP_MUL_Q(C, A, B);
-  FP_PACK_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/ots_nintxq.c b/sysdeps/alpha/soft-fp/ots_nintxq.c
deleted file mode 100644
index a718372af7..0000000000
--- a/sysdeps/alpha/soft-fp/ots_nintxq.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Software floating-point emulation: convert to fortran nearest.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-long
-_OtsNintXQ (long al, long ah, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
-  unsigned long r;
-  long s;
-
-  /* If bit 3 is set, then integer overflow detection is requested.  */
-  s = _round & 8 ? 1 : -1;
-  _round = _round & 3;
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_SEMIRAW_Q(A, a);
-
-  /* Build 0.5 * sign(A) */
-  B_e = _FP_EXPBIAS_Q;
-  __FP_FRAC_SET_2 (B, 0, 0);
-  B_s = A_s;
-
-  FP_ADD_Q(C, A, B);
-  _FP_FRAC_SRL_2(C, _FP_WORKBITS);
-  _FP_FRAC_HIGH_RAW_Q(C) &= ~(_FP_W_TYPE)_FP_IMPLBIT_Q;
-  FP_TO_INT_Q(r, C, 64, s);
-  if (s > 0 && (_fex &= FP_EX_INVALID))
-    FP_HANDLE_EXCEPTIONS;
-
-  return r;
-}
diff --git a/sysdeps/alpha/soft-fp/ots_sub.c b/sysdeps/alpha/soft-fp/ots_sub.c
deleted file mode 100644
index 5147266a04..0000000000
--- a/sysdeps/alpha/soft-fp/ots_sub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: subtraction.
-   Copyright (C) 1997,1999,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com) 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include "local-soft-fp.h"
-
-void
-_OtsSubX(long al, long ah, long bl, long bh, long _round)
-{
-  FP_DECL_EX;
-  FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
-  FP_DECL_RETURN(c);
-
-  FP_INIT_ROUNDMODE;
-  FP_UNPACK_SEMIRAW_Q(A, a);
-  FP_UNPACK_SEMIRAW_Q(B, b);
-  FP_SUB_Q(C, A, B);
-  FP_PACK_SEMIRAW_Q(c, C);
-  FP_HANDLE_EXCEPTIONS;
-
-  FP_RETURN(c);
-}
diff --git a/sysdeps/alpha/soft-fp/sfp-machine.h b/sysdeps/alpha/soft-fp/sfp-machine.h
deleted file mode 100644
index 2bad4e9dc6..0000000000
--- a/sysdeps/alpha/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Machine-dependent software floating-point definitions.
-   Alpha userland IEEE 128-bit version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@cygnus.com),
-		  Jakub Jelinek (jj@ultra.linux.cz) and
-		  David S. Miller (davem@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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-
-#define _FP_W_TYPE_SIZE		64
-#define _FP_W_TYPE		unsigned long
-#define _FP_WS_TYPE		signed long
-#define _FP_I_TYPE		long
-
-#define _FP_MUL_MEAT_S(R,X,Y)					\
-  _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y)
-#define _FP_MUL_MEAT_D(R,X,Y)					\
-  _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y)					\
-  _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y)	_FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm)
-#define _FP_DIV_MEAT_D(R,X,Y)	_FP_DIV_MEAT_1_udiv_norm(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y)	_FP_DIV_MEAT_2_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S		((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D		((_FP_QNANBIT_D << 1) - 1)
-#define _FP_NANFRAC_Q		((_FP_QNANBIT_Q << 1) - 1), -1
-#define _FP_NANSIGN_S		0
-#define _FP_NANSIGN_D		0
-#define _FP_NANSIGN_Q		0
-
-#define _FP_KEEPNANFRACP 1
-
-/* Alpha Architecture Handbook, 4.7.10.4 sez that we should prefer any
-   type of NaN in Fb, then Fa.  */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)                      \
-  do {                                                          \
-    R##_s = Y##_s;                                              \
-    _FP_FRAC_COPY_##wc(R,X);                                    \
-    R##_c = FP_CLS_NAN;                                         \
-  } while (0)
-
-/* Rounding mode settings.  */
-#define FP_RND_NEAREST		FE_TONEAREST
-#define FP_RND_ZERO		FE_TOWARDZERO
-#define FP_RND_PINF		FE_UPWARD
-#define FP_RND_MINF		FE_DOWNWARD
-
-/* Obtain the current rounding mode.  It's given as an argument to
-   all the Ots functions, with 4 meaning "dynamic".  */
-#define FP_ROUNDMODE		_round
-
-/* Exception flags. */
-#define FP_EX_INVALID		FE_INVALID
-#define FP_EX_OVERFLOW		FE_OVERFLOW
-#define FP_EX_UNDERFLOW		FE_UNDERFLOW
-#define FP_EX_DIVZERO		FE_DIVBYZERO
-#define FP_EX_INEXACT		FE_INEXACT
-
-#define FP_INIT_ROUNDMODE					\
-do {								\
-  if (__builtin_expect (_round == 4, 0))			\
-    {								\
-      unsigned long t;						\
-      __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(t));	\
-      _round = (t >> FPCR_ROUND_SHIFT) & 3;			\
-    }								\
-} while (0)
-
-#define FP_HANDLE_EXCEPTIONS					\
-do {								\
-  if (__builtin_expect (_fex, 0))				\
-    {								\
-      unsigned long t = __ieee_get_fp_control ();		\
-      __ieee_set_fp_control (t | _fex);				\
-    }								\
-} while (0)
diff --git a/sysdeps/alpha/stackinfo.h b/sysdeps/alpha/stackinfo.h
deleted file mode 100644
index 0a281bd435..0000000000
--- a/sysdeps/alpha/stackinfo.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-/* On Alpha the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif	/* stackinfo.h */
diff --git a/sysdeps/alpha/stpcpy.S b/sysdeps/alpha/stpcpy.S
deleted file mode 100644
index b73e85f217..0000000000
--- a/sysdeps/alpha/stpcpy.S
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1996, 2002, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy a null-terminated string from SRC to DST.  Return a pointer
-   to the null-terminator in the source.  */
-
-#include <sysdep.h>
-
-	.text
-
-ENTRY(__stpcpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	jsr	t9, __stxcpy	# do the work of the copy
-
-	and	t8, 0xf0, t2	# binary search for byte offset of the
-	and	t8, 0xcc, t1	# last byte written.
-	and	t8, 0xaa, t0
-	andnot	a0, 7, a0
-	cmovne	t2, 4, t2
-	cmovne	t1, 2, t1
-	cmovne	t0, 1, t0
-	addq	a0, t2, v0
-	addq	t0, t1, t0
-	addq	v0, t0, v0
-
-	ret
-
-	END(__stpcpy)
-
-weak_alias (__stpcpy, stpcpy)
-libc_hidden_def (__stpcpy)
-libc_hidden_builtin_def (stpcpy)
diff --git a/sysdeps/alpha/stpncpy.S b/sysdeps/alpha/stpncpy.S
deleted file mode 100644
index e877cf176a..0000000000
--- a/sysdeps/alpha/stpncpy.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright (C) 1996, 2002 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
-   SRC to DST.  If SRC does not cover all of COUNT, the balance is
-   zeroed.  Return the address of the terminating null in DEST, if
-   any, else DEST + COUNT.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-ENTRY(__stpncpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-#endif
-	.prologue 1
-
-	beq	a2, $zerocount
-	jsr	t9, __stxncpy	# do the work of the copy
-
-	and	t8, 0xf0, t3	# binary search for byte offset of the
-	and	t8, 0xcc, t2	# last byte written.
-	and	t8, 0xaa, t1
-	andnot	a0, 7, v0
-	cmovne	t3, 4, t3
-	cmovne	t2, 2, t2
-	cmovne	t1, 1, t1
-	addq	v0, t3, v0
-	addq	t1, t2, t1
-	addq	v0, t1, v0
-
-	bne	a2, $multiword	# do we have full words left?
-
-	.align 3
-	zapnot	t0, t8, t4	# e0    : was last byte a null?
-	subq	t8, 1, t2	# .. e1 :
-	addq	v0, 1, t5	# e0    :
-	subq	t10, 1, t3	# .. e1 :
-	or	t2, t8, t2	# e0    : clear the bits between the last
-	or	t3, t10, t3	# .. e1 : written byte and the last byte in
-	andnot	t3, t2, t3	# e0    : COUNT
-	cmovne	t4, t5, v0	# .. e1 : if last written wasnt null, inc v0
-	zap	t0, t3, t0	# e0    :
-	stq_u	t0, 0(a0)	# e1    :
-	ret			# .. e1 :
-
-	.align 3
-$multiword:
-	subq	t8, 1, t7	# e0    : clear the final bits in the prev
-	or	t7, t8, t7	# e1    : word
-	zapnot	t0, t7, t0	# e0    :
-	subq	a2, 1, a2	# .. e1 :
-	stq_u	t0, 0(a0)	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-
-	beq	a2, 1f		# e1    :
-	blbc	a2, 0f		# e1    :
-
-	stq_u	zero, 0(a0)	# e0    : zero one word
-	subq	a2, 1, a2	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	beq	a2, 1f		# .. e1 :
-
-0:	stq_u	zero, 0(a0)	# e0    : zero two words
-	subq	a2, 2, a2	# .. e1 :
-	stq_u	zero, 8(a0)	# e0    :
-	addq	a0, 16, a0	# .. e1 :
-	bne	a2, 0b		# e1    :
-	unop
-
-1:	ldq_u	t0, 0(a0)	# e0    : clear the leading bits in the final
-	subq	t10, 1, t7	# .. e1 : word
-	or	t7, t10, t7	# e0    :
-	zap	t0, t7, t0	# e1 (stall)
-	stq_u	t0, 0(a0)	# e0    :
-	ret			# .. e1 :
-
-$zerocount:
-	mov	a0, v0
-	ret
-
-	END(__stpncpy)
-
-libc_hidden_def (__stpncpy)
-weak_alias (__stpncpy, stpncpy)
diff --git a/sysdeps/alpha/strcat.S b/sysdeps/alpha/strcat.S
deleted file mode 100644
index d8ef8f1546..0000000000
--- a/sysdeps/alpha/strcat.S
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1996, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Append a null-terminated string from SRC to DST.  */
-
-#include <sysdep.h>
-
-	.text
-
-ENTRY(strcat)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	mov	a0, v0		# set up return value
-
-	/* Find the end of the string.  */
-
-	ldq_u   t0, 0(a0)	# load first quadword (a0 may be misaligned)
-	lda     t1, -1(zero)
-	insqh   t1, a0, t1
-	andnot  a0, 7, a0
-	or      t1, t0, t0
-	cmpbge  zero, t0, t1	# t1 <- bitmask: bit i == 1 <==> i-th byte == 0
-	bne     t1, $found
-
-$loop:	ldq     t0, 8(a0)
-	addq    a0, 8, a0	# addr += 8
-	cmpbge  zero, t0, t1
-	beq     t1, $loop
-
-$found:	negq    t1, t2		# clear all but least set bit
-	and     t1, t2, t1
-
-	and     t1, 0xf0, t2	# binary search for that set bit
-	and	t1, 0xcc, t3
-	and	t1, 0xaa, t4
-	cmovne	t2, 4, t2
-	cmovne	t3, 2, t3
-	cmovne	t4, 1, t4
-	addq	t2, t3, t2
-	addq	a0, t4, a0
-	addq	a0, t2, a0
-
-	/* Now do the append.  */
-
-	mov	ra, t9
-	jmp	$31, __stxcpy
-
-	END(strcat)
-libc_hidden_builtin_def (strcat)
diff --git a/sysdeps/alpha/strchr.S b/sysdeps/alpha/strchr.S
deleted file mode 100644
index e0b17415ac..0000000000
--- a/sysdeps/alpha/strchr.S
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1996, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return the address of a given character within a null-terminated
-   string, or null if it is not found.
-
-   This is generally scheduled for the EV5 (got to look out for my own
-   interests :-), but with EV4 needs in mind.  There *should* be no more
-   stalls for the EV4 than there are for the EV5.
-*/
-
-#include <sysdep.h>
-
-	.set noreorder
-	.set noat
-
-ENTRY(strchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	zapnot	a1, 1, a1	# e0    : zero extend the search character
-	ldq_u   t0, 0(a0)	# .. e1 : load first quadword
-	sll	a1, 8, t5	# e0    : replicate the search character
-	andnot  a0, 7, v0	# .. e1 : align our loop pointer
-	or	t5, a1, a1	# e0    :
-	lda	t4, -1		# .. e1 : build garbage mask
-	sll	a1, 16, t5	# e0    :
-	cmpbge  zero, t0, t2	# .. e1 : bits set iff byte == zero
-	mskqh	t4, a0, t4	# e0    :
-	or	t5, a1, a1	# .. e1 :
-	sll	a1, 32, t5	# e0    :
-	cmpbge	zero, t4, t4	# .. e1 : bits set iff byte is garbage
-	or	t5, a1, a1	# e0    :
-	xor	t0, a1, t1	# .. e1 : make bytes == c zero
-	cmpbge  zero, t1, t3	# e0    : bits set iff byte == c
-	or	t2, t3, t0	# e1    : bits set iff char match or zero match
-	andnot	t0, t4, t0	# e0    : clear garbage bits
-	bne	t0, $found	# .. e1 (zdb)
-
-$loop:	ldq	t0, 8(v0)	# e0    :
-	addq	v0, 8, v0	# .. e1 :
-	nop			# e0    :
-	xor	t0, a1, t1	# .. e1 (ev5 data stall)
-	cmpbge	zero, t0, t2	# e0    : bits set iff byte == 0
-	cmpbge	zero, t1, t3	# .. e1 : bits set iff byte == c
-	or	t2, t3, t0	# e0    :
-	beq	t0, $loop	# .. e1 (zdb)
-
-$found:	negq    t0, t1		# e0    : clear all but least set bit
-	and     t0, t1, t0	# e1 (stall)
-
-	and	t0, t3, t1	# e0    : bit set iff byte was the char
-	beq	t1, $retnull	# .. e1 (zdb)
-
-	and     t0, 0xf0, t2	# e0    : binary search for that set bit
-	and	t0, 0xcc, t3	# .. e1 :
-	and	t0, 0xaa, t4	# e0    :
-	cmovne	t2, 4, t2	# .. e1 :
-	cmovne	t3, 2, t3	# e0    :
-	cmovne	t4, 1, t4	# .. e1 :
-	addq	t2, t3, t2	# e0    :
-	addq	v0, t4, v0	# .. e1 :
-	addq	v0, t2, v0	# e0    :
-	ret			# .. e1 :
-
-$retnull:
-	mov	zero, v0	# e0    :
-	ret			# .. e1 :
-
-	END(strchr)
-
-weak_alias (strchr, index)
-libc_hidden_builtin_def (strchr)
diff --git a/sysdeps/alpha/strcmp.S b/sysdeps/alpha/strcmp.S
deleted file mode 100644
index 9196be2ce3..0000000000
--- a/sysdeps/alpha/strcmp.S
+++ /dev/null
@@ -1,195 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Bytewise compare two null-terminated strings.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-ENTRY(strcmp)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jmp	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	ldq_u	t0, 0(a0)	# e0    : give cache time to catch up
-	xor	a0, a1, t2	# .. e1 : are s1 and s2 co-aligned?
-	ldq_u	t1, 0(a1)	# e0    :
-	and	t2, 7, t2	# .. e1 :
-	lda	t3, -1		# e0    :
-	bne	t2, $unaligned	# .. e1 :
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == the first source word.
-	   t3 == -1.  */
-
-$aligned:
-	mskqh	t3, a0, t3	# e0    :
-	nop			# .. e1 :
-	ornot	t1, t3, t1	# e0    :
-	ornot	t0, t3, t0	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    : bits set iff null found
-	bne	t7, $eos	# e1 (zdb)
-
-	/* Aligned compare main loop.
-	   On entry to this basic block:
-	   t0 == an s1 word.
-	   t1 == an s2 word not containing a null.  */
-
-$a_loop:
-	xor	t0, t1, t2	# e0	:
-	bne	t2, $wordcmp	# .. e1 (zdb)
-	ldq_u	t1, 8(a1)	# e0    :
-	ldq_u	t0, 8(a0)	# .. e1 :
-	addq	a1, 8, a1	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    :
-	beq	t7, $a_loop	# .. e1 (zdb)
-	br	$eos		# e1    :
-
-	/* The two strings are not co-aligned.  Align s1 and cope.  */
-
-$unaligned:
-	and	a0, 7, t4	# e0    : find s1 misalignment
-	and	a1, 7, t5	# .. e1 : find s2 misalignment
-	subq	a1, t4, a1	# e0    :
-
-	/* If s2 misalignment is larger than s2 misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-
-	cmplt	t4, t5, t8	# .. e1 :
-	beq	t8, $u_head	# e1    :
-
-	mskqh	t3, t5, t3	# e0    :
-	ornot	t1, t3, t3	# e0    :
-	cmpbge	zero, t3, t7	# e1    : is there a zero?
-	beq	t7, $u_head	# e1    :
-
-	/* We've found a zero in the first partial word of s2.  Align
-	   our current s1 and s2 words and compare what we've got.  */
-
-	extql	t1, t5, t1	# e0    :
-	extql	t0, a0, t0	# e0    :
-	cmpbge	zero, t1, t7	# .. e1 : find that zero again
-	br	$eos		# e1    : and finish up
-
-	.align 3
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full word of s2.  We can still find a zero at the end of it.
-
-	   On entry to this basic block:
-	   t0 == first word of s1
-	   t1 == first partial word of s2.  */
-
-	ldq_u	t2, 8(a1)	# e0    : load second partial s2 word
-	lda	t3, -1		# .. e1 : create leading garbage mask
-	extql	t1, a1, t1	# e0    : create first s2 word
-	mskqh	t3, a0, t3	# e0    :
-	extqh	t2, a1, t4	# e0    :
-	ornot	t0, t3, t0	# .. e1 : kill s1 garbage
-	or	t1, t4, t1	# e0    : s2 word now complete
-	cmpbge	zero, t0, t7	# .. e1 : find zero in first s1 word
-	ornot	t1, t3, t1	# e0    : kill s2 garbage
-	lda	t3, -1		# .. e1 :
-	mskql	t3, a1, t3	# e0    : mask for s2[1] bits we have seen
-	bne	t7, $eos	# .. e1 :
-	xor	t0, t1, t4	# e0    : compare aligned words
-	bne	t4, $wordcmp	# .. e1 (zdb)
-	or	t2, t3, t3	# e0    :
-	cmpbge	zero, t3, t7	# e1    :
-	bne	t7, $u_final	# e1    :
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned words from s2.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t2 == the unshifted low-bits from the next s2 word.  */
-
-	.align 3
-$u_loop:
-	extql	t2, a1, t3	# e0    :
-	ldq_u	t2, 16(a1)	# .. e1 : load next s2 high bits
-	ldq_u	t0, 8(a0)	# e0    : load next s1 word
-	addq	a1, 8, a1	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	nop			# .. e1 :
-	extqh	t2, a1, t1	# e0    :
-	cmpbge	zero, t0, t7	# .. e1 : find zero in current s1 word
-	or	t1, t3, t1	# e0    :
-	bne	t7, $eos	# .. e1 :
-	xor	t0, t1, t4	# e0    : compare the words
-	bne	t4, $wordcmp	# .. e1 (zdb)
-	cmpbge	zero, t2, t4	# e0    : find zero in next low bits
-	beq	t4, $u_loop	# .. e1 (zdb)
-
-	/* We've found a zero in the low bits of the last s2 word.  Get
-	   the next s1 word and align them.  */
-$u_final:
-	ldq_u	t0, 8(a0)	# e1    :
-	extql	t2, a1, t1	# .. e0 :
-	cmpbge	zero, t1, t7	# e0    :
-
-	/* We've found a zero somewhere in a word we just read.
-	   On entry to this basic block:
-	   t0 == s1 word
-	   t1 == s2 word
-	   t7 == cmpbge mask containing the zero.  */
-
-	.align 3
-$eos:
-	negq	t7, t6		# e0    : create bytemask of valid data
-	and	t6, t7, t8	# e1    :
-	subq	t8, 1, t6	# e0    :
-	or	t6, t8, t7	# e1    :
-	zapnot	t0, t7, t0	# e0    : kill the garbage
-	zapnot	t1, t7, t1	# .. e1 :
-	xor	t0, t1, v0	# e0    : and compare
-	beq	v0, $done	# .. e1 :
-
-	/* Here we have two differing co-aligned words in t0 & t1.
-	   Bytewise compare them and return (t0 > t1 ? 1 : -1).  */
-$wordcmp:
-	cmpbge	t0, t1, t2	# e0    : comparison yields bit mask of ge
-	cmpbge	t1, t0, t3	# .. e1 :
-	xor	t2, t3, t0	# e0    : bits set iff t0/t1 bytes differ
-	negq	t0, t1		# e1    : clear all but least bit
-	and	t0, t1, t0	# e0    :
-	lda	v0, -1		# .. e1 :
-	and	t0, t2, t1	# e0    : was bit set in t0 > t1?
-	cmovne	t1, 1, v0	# .. e1 (zdb)
-
-$done:
-	ret			# e1    :
-
-	END(strcmp)
-libc_hidden_builtin_def (strcmp)
diff --git a/sysdeps/alpha/strcpy.S b/sysdeps/alpha/strcpy.S
deleted file mode 100644
index 02bfe52400..0000000000
--- a/sysdeps/alpha/strcpy.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1996, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy a null-terminated string from SRC to DST.  Return a pointer
-   to the null-terminator in the source.  */
-
-#include <sysdep.h>
-
-	.text
-
-ENTRY(strcpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	mov	a0, v0		# set up return value
-	mov	ra, t9
-	jmp	$31, __stxcpy	# do the copy
-
-	END(strcpy)
-libc_hidden_builtin_def (strcpy)
diff --git a/sysdeps/alpha/strlen.S b/sysdeps/alpha/strlen.S
deleted file mode 100644
index 2560b973c7..0000000000
--- a/sysdeps/alpha/strlen.S
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   Contributed by David Mosberger (davidm@cs.arizona.edu).
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Finds length of a 0-terminated string.  Optimized for the Alpha
-   architecture:
-
-      - memory accessed as aligned quadwords only
-      - uses cmpbge to compare 8 bytes in parallel
-      - does binary search to find 0 byte in last quadword (HAKMEM
-	needed 12 instructions to do this instead of the 8 instructions
-	that the binary search needs).
-*/
-
-#include <sysdep.h>
-
-	.set noreorder
-	.set noat
-
-ENTRY(strlen)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	ldq_u   t0, 0(a0)	# load first quadword (a0 may be misaligned)
-	lda     t1, -1(zero)
-	insqh   t1, a0, t1
-	andnot  a0, 7, v0
-	or      t1, t0, t0
-	nop			# dual issue the next two on ev5
-	cmpbge  zero, t0, t1	# t1 <- bitmask: bit i == 1 <==> i-th byte == 0
-	bne     t1, $found
-
-$loop:	ldq     t0, 8(v0)
-	addq    v0, 8, v0	# addr += 8
-	cmpbge  zero, t0, t1
-	beq     t1, $loop
-
-$found:	negq    t1, t2		# clear all but least set bit
-	and     t1, t2, t1
-
-	and     t1, 0xf0, t2	# binary search for that set bit
-	and	t1, 0xcc, t3
-	and	t1, 0xaa, t4
-	cmovne	t2, 4, t2
-	cmovne	t3, 2, t3
-	cmovne	t4, 1, t4
-	addq	t2, t3, t2
-	addq	v0, t4, v0
-	addq	v0, t2, v0
-	nop			# dual issue next two on ev4 and ev5
-
-	subq    v0, a0, v0
-	ret
-
-	END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/sysdeps/alpha/strncat.S b/sysdeps/alpha/strncat.S
deleted file mode 100644
index ddf686f578..0000000000
--- a/sysdeps/alpha/strncat.S
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1996 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Append no more than COUNT characters from the null-terminated string SRC
-   to the null-terminated string DST.  Always null-terminate the new DST.  */
-
-#include <sysdep.h>
-
-	.text
-
-ENTRY(strncat)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	mov	a0, v0		# set up return value
-	beq	a2, $zerocount
-
-	/* Find the end of the string.  */
-
-	ldq_u   t0, 0(a0)	# load first quadword (a0 may be misaligned)
-	lda     t1, -1(zero)
-	insqh   t1, a0, t1
-	andnot  a0, 7, a0
-	or      t1, t0, t0
-	cmpbge  zero, t0, t1	# t1 <- bitmask: bit i == 1 <==> i-th byte == 0
-	bne     t1, $found
-
-$loop:	ldq     t0, 8(a0)
-	addq    a0, 8, a0	# addr += 8
-	cmpbge  zero, t0, t1
-	beq     t1, $loop
-
-$found:	negq    t1, t2		# clear all but least set bit
-	and     t1, t2, t1
-
-	and     t1, 0xf0, t2	# binary search for that set bit
-	and	t1, 0xcc, t3
-	and	t1, 0xaa, t4
-	cmovne	t2, 4, t2
-	cmovne	t3, 2, t3
-	cmovne	t4, 1, t4
-	addq	t2, t3, t2
-	addq	a0, t4, a0
-	addq	a0, t2, a0
-
-	/* Now do the append.  */
-
-	jsr	t9, __stxncpy
-
-	/* Worry about the null termination.  */
-
-	zapnot	t0, t8, t1	# was last byte a null?
-	bne	t1, 0f
-	ret
-
-0:	and	t10, 0x80, t1
-	bne	t1, 1f
-
-	/* Here there are bytes left in the current word.  Clear one.  */
-	addq	t10, t10, t10	# end-of-count bit <<= 1
-	zap	t0, t10, t0
-	stq_u	t0, 0(a0)
-	ret
-
-1:	/* Here we must read the next DST word and clear the first byte.  */
-	ldq_u	t0, 8(a0)
-	zap	t0, 1, t0
-	stq_u	t0, 8(a0)
-
-$zerocount:
-	ret
-
-	END(strncat)
diff --git a/sysdeps/alpha/strncmp.S b/sysdeps/alpha/strncmp.S
deleted file mode 100644
index ff199eb743..0000000000
--- a/sysdeps/alpha/strncmp.S
+++ /dev/null
@@ -1,247 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Bytewise compare two null-terminated strings of length no longer than N.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-ENTRY(strncmp)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	xor	a0, a1, t2	# e0    : are s1 and s2 co-aligned?
-	beq	a2, $zerolength	# .. e1 :
-	ldq_u	t0, 0(a0)	# e0    : give cache time to catch up
-	ldq_u	t1, 0(a1)	# .. e1 :
-	and	t2, 7, t2	# e0    :
-	and	a0, 7, t4	# .. e1 : find s1 misalignment
-	lda	t3, -1		# e0    :
-	addq	a2, t4, a2	# .. e1 : bias count by s1 misalignment
-	and	a2, 7, t10	# e1    : ofs of last byte in last word
-	srl	a2, 3, a2	# .. e0 : remaining full words in count
-	and	a1, 7, t5	# e0    : find s2 misalignment
-	bne	t2, $unaligned	# .. e1 :
-
-	/* On entry to this basic block:
-	   t0 == the first word of s1.
-	   t1 == the first word of s2.
-	   t3 == -1.  */
-
-$aligned:
-	mskqh	t3, a1, t3	# e0    : mask off leading garbage
-	nop			# .. e1 :
-	ornot	t1, t3, t1	# e0    :
-	ornot	t0, t3, t0	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    : bits set iff null found
-	beq	a2, $eoc	# .. e1 : check end of count
-	unop			# e0    :
-	bne	t7, $eos	# .. e1 :
-	unop			# e0    :
-	beq	t10, $ant_loop	# .. e1 :
-
-	/* Aligned compare main loop.
-	   On entry to this basic block:
-	   t0 == an s1 word.
-	   t1 == an s2 word not containing a null.  */
-
-$a_loop:
-	xor	t0, t1, t2	# e0	:
-	bne	t2, $wordcmp	# .. e1 (zdb)
-	ldq_u	t1, 8(a1)	# e0    :
-	ldq_u	t0, 8(a0)	# .. e1 :
-	subq	a2, 1, a2	# e0    :
-	addq	a1, 8, a1	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	beq	a2, $eoc	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    :
-	beq	t7, $a_loop	# .. e1 :
-	unop			# e0    :
-	br	$eos		# .. e1 :
-
-	/* Alternate aligned compare loop, for when there's no trailing
-	   bytes on the count.  We have to avoid reading too much data.  */
-$ant_loop:
-	xor	t0, t1, t2	# e0	:
-	bne	t2, $wordcmp	# .. e1 (zdb)
-	subq	a2, 1, a2	# e0    :
-	beq	a2, $zerolength	# .. e1 :
-	ldq_u	t1, 8(a1)	# e0    :
-	ldq_u	t0, 8(a0)	# .. e1 :
-	addq	a1, 8, a1	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    :
-	beq	t7, $ant_loop	# .. e1 :
-	unop			# e0	:
-	br	$eos		# .. e1 :
-
-	/* The two strings are not co-aligned.  Align s1 and cope.  */
-$unaligned:
-	subq	a1, t4, a1	# e0	 :
-	unop			#        :
-
-	/* If s2 misalignment is larger than s2 misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-
-	cmplt	t4, t5, t8	# .. e1 :
-	beq	t8, $u_head	# e1    :
-
-	mskqh	t3, t5, t3	# e0    :
-	ornot	t1, t3, t3	# e0    :
-	cmpbge	zero, t3, t7	# e1    : is there a zero?
-	beq	t7, $u_head	# e1    :
-
-	/* We've found a zero in the first partial word of s2.  Align
-	   our current s1 and s2 words and compare what we've got.  */
-
-	extql	t1, t5, t1	# e0    :
-	lda	t3, -1		# .. e1 :
-	insql	t1, a0, t1	# e0    :
-	mskqh	t3, a0, t3	# e0    :
-	ornot	t1, t3, t1	# e0    :
-	ornot	t0, t3, t0	# .. e1 :
-	cmpbge	zero, t1, t7	# e0    : find that zero again
-	beq	a2, $eoc	# .. e1 : and finish up
-	br	$eos		# e1    :
-
-	.align 3
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full word of s2.  We can still find a zero at the end of it.
-
-	   On entry to this basic block:
-	   t0 == first word of s1
-	   t1 == first partial word of s2.  */
-
-	ldq_u	t2, 8(a1)	# e0    : load second partial s2 word
-	lda	t3, -1		# .. e1 : create leading garbage mask
-	extql	t1, a1, t1	# e0    : create first s2 word
-	mskqh	t3, a0, t3	# e0    :
-	extqh	t2, a1, t4	# e0    :
-	ornot	t0, t3, t0	# .. e1 : kill s1 garbage
-	or	t1, t4, t1	# e0    : s2 word now complete
-	ornot	t1, t3, t1	# e1    : kill s2 garbage
-	cmpbge	zero, t0, t7	# e0    : find zero in first s1 word
-	beq	a2, $eoc	# .. e1 :
-	lda	t3, -1		# e0    :
-	bne	t7, $eos	# .. e1 :
-	subq	a2, 1, a2	# e0    :
-	xor	t0, t1, t4	# .. e1 : compare aligned words
-	mskql	t3, a1, t3	# e0    : mask out s2[1] bits we have seen
-	bne	t4, $wordcmp	# .. e1 :
-	or	t2, t3, t3	# e0    :
-	cmpbge	zero, t3, t7	# e1    : find zero in high bits of s2[1]
-	bne	t7, $u_final	# e1    :
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned words from s2.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t2 == the unshifted low-bits from the next s2 word.  */
-
-	.align 3
-$u_loop:
-	extql	t2, a1, t3	# e0    :
-	ldq_u	t2, 16(a1)	# .. e1 : load next s2 high bits
-	ldq_u	t0, 8(a0)	# e0    : load next s1 word
-	addq	a1, 8, a1	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	nop			# .. e1 :
-	extqh	t2, a1, t1	# e0    :
-	cmpbge	zero, t0, t7	# .. e1 : find zero in current s1 word
-	or	t1, t3, t1	# e0    :
-	beq	a2, $eoc	# .. e1 : check for end of count
-	subq	a2, 1, a2	# e0    :
-	bne	t7, $eos	# .. e1 :
-	xor	t0, t1, t4	# e0    : compare the words
-	bne	t4, $wordcmp	# .. e1 (zdb)
-	cmpbge	zero, t2, t4	# e0    : find zero in next low bits
-	beq	t4, $u_loop	# .. e1 (zdb)
-
-	/* We've found a zero in the low bits of the last s2 word.  Get
-	   the next s1 word and align them.  */
-$u_final:
-	ldq_u	t0, 8(a0)	# e1    :
-	extql	t2, a1, t1	# .. e0 :
-	cmpbge	zero, t1, t7	# e0    :
-	bne	a2, $eos	# .. e1 :
-
-	/* We've hit end of count.  Zero everything after the count
-	   and compare whats left.  */
-
-	.align 3
-$eoc:
-	mskql	t0, t10, t0
-	mskql	t1, t10, t1
-	unop
-	cmpbge	zero, t1, t7
-
-	/* We've found a zero somewhere in a word we just read.
-	   On entry to this basic block:
-	   t0 == s1 word
-	   t1 == s2 word
-	   t7 == cmpbge mask containing the zero.  */
-
-$eos:
-	negq	t7, t6		# e0    : create bytemask of valid data
-	and	t6, t7, t8	# e1    :
-	subq	t8, 1, t6	# e0    :
-	or	t6, t8, t7	# e1    :
-	zapnot	t0, t7, t0	# e0    : kill the garbage
-	zapnot	t1, t7, t1	# .. e1 :
-	xor	t0, t1, v0	# e0    : and compare
-	beq	v0, $done	# .. e1 :
-
-	/* Here we have two differing co-aligned words in t0 & t1.
-	   Bytewise compare them and return (t0 > t1 ? 1 : -1).  */
-	.align 3
-$wordcmp:
-	cmpbge	t0, t1, t2	# e0    : comparison yields bit mask of ge
-	cmpbge	t1, t0, t3	# .. e1 :
-	xor	t2, t3, t0	# e0    : bits set iff t0/t1 bytes differ
-	negq	t0, t1		# e1    : clear all but least bit
-	and	t0, t1, t0	# e0    :
-	lda	v0, -1		# .. e1 :
-	and	t0, t2, t1	# e0    : was bit set in t0 > t1?
-	cmovne	t1, 1, v0	# .. e1 (zdb)
-
-$done:
-	ret			# e1    :
-
-	.align 3
-$zerolength:
-	clr	v0
-	ret
-
-	END(strncmp)
-libc_hidden_builtin_def (strncmp)
diff --git a/sysdeps/alpha/strncpy.S b/sysdeps/alpha/strncpy.S
deleted file mode 100644
index 5d3e72e280..0000000000
--- a/sysdeps/alpha/strncpy.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
-   SRC to DST.  If SRC does not cover all of COUNT, the balance is
-   zeroed.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-ENTRY(strncpy)
-	ldgp	gp, 0(pv)
-#ifdef PROF
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-#endif
-	.prologue 1
-
-	mov	a0, v0		# set return value now
-	beq	a2, $zerocount
-	jsr	t9, __stxncpy	# do the work of the copy
-
-	bne	a2, $multiword	# do we have full words left?
-
-	.align 3
-	subq	t8, 1, t2	# e0    : guess not
-	subq	t10, 1, t3	# .. e1 :
-	or	t2, t8, t2	# e0    : clear the bits between the last
-	or	t3, t10, t3	# .. e1 : written byte and the last byte in
-	andnot	t3, t2, t3	# e0    : COUNT
-	zap	t0, t3, t0	# e1    :
-	stq_u	t0, 0(a0)	# e0    :
-	ret			# .. e1 :
-
-$multiword:
-	subq	t8, 1, t7	# e0    : clear the final bits in the prev
-	or	t7, t8, t7	# e1    : word
-	zapnot	t0, t7, t0	# e0    :
-	subq	a2, 1, a2	# .. e1 :
-	stq_u	t0, 0(a0)	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-
-	beq	a2, 1f		# e1    :
-	blbc	a2, 0f		# e1    :
-
-	stq_u	zero, 0(a0)	# e0    : zero one word
-	subq	a2, 1, a2	# .. e1 :
-	addq	a0, 8, a0	# e0    :
-	beq	a2, 1f		# .. e1 :
-
-0:	stq_u	zero, 0(a0)	# e0    : zero two words
-	subq	a2, 2, a2	# .. e1 :
-	stq_u	zero, 8(a0)	# e0    :
-	addq	a0, 16, a0	# .. e1 :
-	bne	a2, 0b		# e1    :
-	unop
-
-1:	ldq_u	t0, 0(a0)	# e0    : clear the leading bits in the final
-	subq	t10, 1, t7	# .. e1 : word
-	or	t7, t10, t7	# e0    :
-	zap	t0, t7, t0	# e1 (stall)
-	stq_u	t0, 0(a0)	# e0    :
-
-$zerocount:
-	ret			# .. e1 :
-
-	END(strncpy)
-libc_hidden_builtin_def (strncpy)
diff --git a/sysdeps/alpha/strrchr.S b/sysdeps/alpha/strrchr.S
deleted file mode 100644
index 248181f702..0000000000
--- a/sysdeps/alpha/strrchr.S
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Return the address of the last occurrence of a given character
-   within a null-terminated string, or null if it is not found.
-
-   This is generally scheduled for the EV5 (got to look out for my own
-   interests :-), but with EV4 needs in mind.  There are, in fact, fewer
-   stalls on the EV4 than there are on the EV5.
-*/
-
-#include <sysdep.h>
-
-	.set noreorder
-	.set noat
-
-ENTRY(strrchr)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	and	a1, 0xff, a1	# e0    : zero extend our test character
-	mov	zero, t6	# .. e1 : t6 is last match aligned addr
-	sll	a1, 8, t5	# e0    : replicate our test character
-	mov	zero, t7	# .. e1 : t7 is last match byte compare mask
-	or	t5, a1, a1	# e0    :
-	ldq_u   t0, 0(a0)	# .. e1 : load first quadword
-	sll	a1, 16, t5	# e0    :
-	andnot  a0, 7, v0	# .. e1 : align source addr
-	or	t5, a1, a1	# e0    :
-	lda	t4, -1		# .. e1 : build garbage mask
-	sll	a1, 32, t5	# e0    :
-	cmpbge  zero, t0, t1	# .. e1 : bits set iff byte == zero
-	mskqh	t4, a0, t4	# e0    :
-	or	t5, a1, a1	# .. e1 : character replication complete
-	xor	t0, a1, t2	# e0    : make bytes == c zero
-	cmpbge	zero, t4, t4	# .. e1 : bits set iff byte is garbage
-	cmpbge  zero, t2, t3	# e0    : bits set iff byte == c
-	andnot	t1, t4, t1	# .. e1 : clear garbage from null test
-	andnot	t3, t4, t3	# e0    : clear garbage from char test
-	bne	t1, $eos	# .. e1 : did we already hit the terminator?
-
-	/* Character search main loop */
-$loop:
-	ldq	t0, 8(v0)	# e0    : load next quadword
-	cmovne	t3, v0, t6	# .. e1 : save previous comparisons match
-	cmovne	t3, t3, t7	# e0    :
-	addq	v0, 8, v0	# .. e1 :
-	xor	t0, a1, t2	# e0    :
-	cmpbge	zero, t0, t1	# .. e1 : bits set iff byte == zero
-	cmpbge	zero, t2, t3	# e0    : bits set iff byte == c
-	beq	t1, $loop	# .. e1 : if we havnt seen a null, loop
-
-	/* Mask out character matches after terminator */
-$eos:
-	negq	t1, t4		# e0    : isolate first null byte match
-	and	t1, t4, t4	# e1    :
-	subq	t4, 1, t5	# e0    : build a mask of the bytes upto...
-	or	t4, t5, t4	# e1    : ... and including the null
-
-	and	t3, t4, t3	# e0    : mask out char matches after null
-	cmovne	t3, t3, t7	# .. e1 : save it, if match found
-	cmovne	t3, v0, t6	# e0    :
-
-	/* Locate the address of the last matched character */
-
-	/* Retain the early exit for the ev4 -- the ev5 mispredict penalty
-	   is 5 cycles -- the same as just falling through.  */
-	beq	t7, $retnull	# .. e1 :
-
-	and	t7, 0xf0, t2	# e0    : binary search for the high bit set
-	cmovne	t2, t2, t7	# .. e1 (zdb)
-	cmovne	t2, 4, t2	# e0    :
-	and	t7, 0xcc, t1	# .. e1 :
-	cmovne	t1, t1, t7	# e0    :
-	cmovne	t1, 2, t1	# .. e1 :
-	and	t7, 0xaa, t0	# e0    :
-	cmovne	t0, 1, t0	# .. e1 (zdb)
-	addq	t2, t1, t1	# e0    :
-	addq	t6, t0, v0	# .. e1 : add our aligned base ptr to the mix
-	addq	v0, t1, v0	# e0    :
-	ret			# .. e1 :
-
-$retnull:
-	mov	zero, v0	# e0    :
-	ret			# .. e1 :
-
-	END(strrchr)
-
-weak_alias (strrchr, rindex)
-libc_hidden_builtin_def (strrchr)
diff --git a/sysdeps/alpha/stxcpy.S b/sysdeps/alpha/stxcpy.S
deleted file mode 100644
index 5ba2d43e54..0000000000
--- a/sysdeps/alpha/stxcpy.S
+++ /dev/null
@@ -1,307 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy a null-terminated string from SRC to DST.
-
-   This is an internal routine used by strcpy, stpcpy, and strcat.
-   As such, it uses special linkage conventions to make implementation
-   of these public functions more efficient.
-
-   On input:
-	t9 = return address
-	a0 = DST
-	a1 = SRC
-
-   On output:
-	t8  = bitmask (with one bit set) indicating the last byte written
-	a0  = unaligned address of the last *word* written
-
-   Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-/* This is generally scheduled for the EV5, but should still be pretty
-   good for the EV4 too.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the
-   aligned copy in its own procedure descriptor */
-
-	.ent stxcpy_aligned
-	.align 3
-stxcpy_aligned:
-	.frame sp, 0, t9
-	.prologue 0
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == the first source word.  */
-
-	/* Create the 1st output word and detect 0's in the 1st input word.  */
-	lda	t2, -1		# e1    : build a mask against false zero
-	mskqh	t2, a1, t2	# e0    :   detection in the src word
-	mskqh	t1, a1, t3	# e0    :
-	ornot	t1, t2, t2	# .. e1 :
-	mskql	t0, a1, t0	# e0    : assemble the first output word
-	cmpbge	zero, t2, t7	# .. e1 : bits set iff null found
-	or	t0, t3, t1	# e0    :
-	bne	t7, $a_eos	# .. e1 :
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == a source word not containing a null.  */
-
-$a_loop:
-	stq_u	t1, 0(a0)	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-	ldq_u	t1, 0(a1)	# e0    :
-	addq	a1, 8, a1	# .. e1 :
-	cmpbge	zero, t1, t7	# e0 (stall)
-	beq	t7, $a_loop	# .. e1 (zdb)
-
-	/* Take care of the final (partial) word store.
-	   On entry to this basic block we have:
-	   t1 == the source word containing the null
-	   t7 == the cmpbge mask that found it.  */
-$a_eos:
-	negq	t7, t6		# e0    : find low bit set
-	and	t7, t6, t8	# e1 (stall)
-
-	/* For the sake of the cache, don't read a destination word
-	   if we're not going to need it.  */
-	and	t8, 0x80, t6	# e0    :
-	bne	t6, 1f		# .. e1 (zdb)
-
-	/* We're doing a partial word store and so need to combine
-	   our source and original destination words.  */
-	ldq_u	t0, 0(a0)	# e0    :
-	subq	t8, 1, t6	# .. e1 :
-	zapnot	t1, t6, t1	# e0    : clear src bytes >= null
-	or	t8, t6, t7	# .. e1 :
-	zap	t0, t7, t0	# e0    : clear dst bytes <= null
-	or	t0, t1, t1	# e1    :
-
-1:	stq_u	t1, 0(a0)	# e0    :
-	ret	(t9)		# .. e1 :
-
-	.end stxcpy_aligned
-
-	.align 3
-	.ent __stxcpy
-	.globl __stxcpy
-__stxcpy:
-	.frame sp, 0, t9
-	.prologue 0
-
-	/* Are source and destination co-aligned?  */
-	xor	a0, a1, t0	# e0    :
-	unop			#       :
-	and	t0, 7, t0	# e0    :
-	bne	t0, $unaligned	# .. e1 :
-
-	/* We are co-aligned; take care of a partial first word.  */
-	ldq_u	t1, 0(a1)	# e0    : load first src word
-	and	a0, 7, t0	# .. e1 : take care not to load a word ...
-	addq	a1, 8, a1		# e0    :
-	beq	t0, stxcpy_aligned	# .. e1 : ... if we wont need it
-	ldq_u	t0, 0(a0)	# e0    :
-	br	stxcpy_aligned	# .. e1 :
-
-
-/* The source and destination are not co-aligned.  Align the destination
-   and cope.  We have to be very careful about not reading too much and
-   causing a SEGV.  */
-
-	.align 3
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full source word.  We can still find a zero at the end of it
-	   that prevents us from outputting the whole thing.
-
-	   On entry to this basic block:
-	   t0 == the first dest word, for masking back in, if needed else 0
-	   t1 == the low bits of the first source word
-	   t6 == bytemask that is -1 in dest word bytes */
-
-	ldq_u	t2, 8(a1)	# e0    :
-	addq	a1, 8, a1	# .. e1 :
-
-	extql	t1, a1, t1	# e0    :
-	extqh	t2, a1, t4	# e0    :
-	mskql	t0, a0, t0	# e0    :
-	or	t1, t4, t1	# .. e1 :
-	mskqh	t1, a0, t1	# e0    :
-	or	t0, t1, t1	# e1    :
-
-	or	t1, t6, t6	# e0    :
-	cmpbge	zero, t6, t7	# .. e1 :
-	lda	t6, -1		# e0    : for masking just below
-	bne	t7, $u_final	# .. e1 :
-
-	mskql	t6, a1, t6		# e0    : mask out the bits we have
-	or	t6, t2, t2		# e1    :   already extracted before
-	cmpbge	zero, t2, t7		# e0    :   testing eos
-	bne	t7, $u_late_head_exit	# .. e1 (zdb)
-
-	/* Finally, we've got all the stupid leading edge cases taken care
-	   of and we can set up to enter the main loop.  */
-
-	stq_u	t1, 0(a0)	# e0    : store first output word
-	addq	a0, 8, a0	# .. e1 :
-	extql	t2, a1, t0	# e0    : position ho-bits of lo word
-	ldq_u	t2, 8(a1)	# .. e1 : read next high-order source word
-	addq	a1, 8, a1	# e0    :
-	cmpbge	zero, t2, t7	# .. e1 :
-	nop			# e0    :
-	bne	t7, $u_eos	# .. e1 :
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned source words.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t0 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word
-
-	   We further know that t2 does not contain a null terminator.  */
-
-	.align 3
-$u_loop:
-	extqh	t2, a1, t1	# e0    : extract high bits for current word
-	addq	a1, 8, a1	# .. e1 :
-	extql	t2, a1, t3	# e0    : extract low bits for next time
-	addq	a0, 8, a0	# .. e1 :
-	or	t0, t1, t1	# e0    : current dst word now complete
-	ldq_u	t2, 0(a1)	# .. e1 : load high word for next time
-	stq_u	t1, -8(a0)	# e0    : save the current word
-	mov	t3, t0		# .. e1 :
-	cmpbge	zero, t2, t7	# e0    : test new word for eos
-	beq	t7, $u_loop	# .. e1 :
-
-	/* We've found a zero somewhere in the source word we just read.
-	   If it resides in the lower half, we have one (probably partial)
-	   word to write out, and if it resides in the upper half, we
-	   have one full and one partial word left to write out.
-
-	   On entry to this basic block:
-	   t0 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word.  */
-$u_eos:
-	extqh	t2, a1, t1	# e0    :
-	or	t0, t1, t1	# e1    : first (partial) source word complete
-
-	cmpbge	zero, t1, t7	# e0    : is the null in this first bit?
-	bne	t7, $u_final	# .. e1 (zdb)
-
-$u_late_head_exit:
-	stq_u	t1, 0(a0)	# e0    : the null was in the high-order bits
-	addq	a0, 8, a0	# .. e1 :
-	extql	t2, a1, t1	# e0    :
-	cmpbge	zero, t1, t7	# .. e1 :
-
-	/* Take care of a final (probably partial) result word.
-	   On entry to this basic block:
-	   t1 == assembled source word
-	   t7 == cmpbge mask that found the null.  */
-$u_final:
-	negq	t7, t6		# e0    : isolate low bit set
-	and	t6, t7, t8	# e1    :
-
-	and	t8, 0x80, t6	# e0    : avoid dest word load if we can
-	bne	t6, 1f		# .. e1 (zdb)
-
-	ldq_u	t0, 0(a0)	# e0    :
-	subq	t8, 1, t6	# .. e1 :
-	or	t6, t8, t7	# e0    :
-	zapnot	t1, t6, t1	# .. e1 : kill source bytes >= null
-	zap	t0, t7, t0	# e0    : kill dest bytes <= null
-	or	t0, t1, t1	# e1    :
-
-1:	stq_u	t1, 0(a0)	# e0    :
-	ret	(t9)		# .. e1 :
-
-	/* Unaligned copy entry point.  */
-	.align 3
-$unaligned:
-
-	ldq_u	t1, 0(a1)	# e0    : load first source word
-
-	and	a0, 7, t4	# .. e1 : find dest misalignment
-	and	a1, 7, t5	# e0    : find src misalignment
-
-	/* Conditionally load the first destination word and a bytemask
-	   with 0xff indicating that the destination byte is sacrosanct.  */
-
-	mov	zero, t0	# .. e1 :
-	mov	zero, t6	# e0    :
-	beq	t4, 1f		# .. e1 :
-	ldq_u	t0, 0(a0)	# e0    :
-	lda	t6, -1		# .. e1 :
-	mskql	t6, a0, t6	# e0    :
-1:
-	subq	a1, t4, a1	# .. e1 : sub dest misalignment from src addr
-
-	/* If source misalignment is larger than dest misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-
-	cmplt	t4, t5, t8	# e0    :
-	beq	t8, $u_head	# .. e1 (zdb)
-
-	lda	t2, -1		# e1    : mask out leading garbage in source
-	mskqh	t2, t5, t2	# e0    :
-	nop			# e0    :
-	ornot	t1, t2, t3	# .. e1 :
-	cmpbge	zero, t3, t7	# e0    : is there a zero?
-	beq	t7, $u_head	# .. e1 (zdb)
-
-	/* At this point we've found a zero in the first partial word of
-	   the source.  We need to isolate the valid source data and mask
-	   it into the original destination data.  (Incidentally, we know
-	   that we'll need at least one byte of that original dest word.) */
-
-	ldq_u	t0, 0(a0)	# e0    :
-
-	negq	t7, t6		# .. e1 : build bitmask of bytes <= zero
-	and	t6, t7, t8	# e0    :
-	and	a1, 7, t5	# .. e1 :
-	subq	t8, 1, t6	# e0    :
-	or	t6, t8, t7	# e1    :
-	srl	t8, t5, t8	# e0    : adjust final null return value
-
-	zapnot	t2, t7, t2	# .. e1 : prepare source word; mirror changes
-	and	t1, t2, t1	# e1    : to source validity mask
-	extql	t2, a1, t2	# .. e0 :
-	extql	t1, a1, t1	# e0    :
-
-	andnot	t0, t2, t0	# .. e1 : zero place for source to reside
-	or	t0, t1, t1	# e1    : and put it there
-	stq_u	t1, 0(a0)	# .. e0 :
-	ret	(t9)
-
-	.end __stxcpy
diff --git a/sysdeps/alpha/stxncpy.S b/sysdeps/alpha/stxncpy.S
deleted file mode 100644
index 73bcd36e47..0000000000
--- a/sysdeps/alpha/stxncpy.S
+++ /dev/null
@@ -1,363 +0,0 @@
-/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
-   Contributed by Richard Henderson (rth@tamu.edu)
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
-   SRC to DST.
-
-   This is an internal routine used by strncpy, stpncpy, and strncat.
-   As such, it uses special linkage conventions to make implementation
-   of these public functions more efficient.
-
-   On input:
-	t9 = return address
-	a0 = DST
-	a1 = SRC
-	a2 = COUNT
-
-   Furthermore, COUNT may not be zero.
-
-   On output:
-	t0  = last word written
-	t8  = bitmask (with one bit set) indicating the last byte written
-	t10 = bitmask (with one bit set) indicating the byte position of
-	      the end of the range specified by COUNT
-	a0  = unaligned address of the last *word* written
-	a2  = the number of full words left in COUNT
-
-   Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-
-/* This is generally scheduled for the EV5, but should still be pretty
-   good for the EV4 too.  */
-
-#include <sysdep.h>
-
-	.set noat
-	.set noreorder
-
-	.text
-
-/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
-   doesn't like putting the entry point for a procedure somewhere in the
-   middle of the procedure descriptor.  Work around this by putting the
-   aligned copy in its own procedure descriptor */
-
-	.ent stxncpy_aligned
-	.align 3
-stxncpy_aligned:
-	.frame sp, 0, t9, 0
-	.prologue 0
-
-	/* On entry to this basic block:
-	   t0 == the first destination word for masking back in
-	   t1 == the first source word.  */
-
-	/* Create the 1st output word and detect 0's in the 1st input word.  */
-	lda	t2, -1		# e1    : build a mask against false zero
-	mskqh	t2, a1, t2	# e0    :   detection in the src word
-	mskqh	t1, a1, t3	# e0    :
-	ornot	t1, t2, t2	# .. e1 :
-	mskql	t0, a1, t0	# e0    : assemble the first output word
-	cmpbge	zero, t2, t7	# .. e1 : bits set iff null found
-	or	t0, t3, t0	# e0    :
-	beq	a2, $a_eoc	# .. e1 :
-	bne	t7, $a_eos	# .. e1 :
-
-	/* On entry to this basic block:
-	   t0 == a source word not containing a null.  */
-
-$a_loop:
-	stq_u	t0, 0(a0)	# e0    :
-	addq	a0, 8, a0	# .. e1 :
-	ldq_u	t0, 0(a1)	# e0    :
-	addq	a1, 8, a1	# .. e1 :
-	subq	a2, 1, a2	# e0    :
-	cmpbge	zero, t0, t7	# .. e1 (stall)
-	beq	a2, $a_eoc      # e1    :
-	beq	t7, $a_loop	# e1    :
-
-	/* Take care of the final (partial) word store.  At this point
-	   the end-of-count bit is set in t7 iff it applies.
-
-	   On entry to this basic block we have:
-	   t0 == the source word containing the null
-	   t7 == the cmpbge mask that found it.  */
-
-$a_eos:
-	negq	t7, t8		# e0    : find low bit set
-	and	t7, t8, t8	# e1 (stall)
-
-	/* For the sake of the cache, don't read a destination word
-	   if we're not going to need it.  */
-	and	t8, 0x80, t6	# e0    :
-	bne	t6, 1f		# .. e1 (zdb)
-
-	/* We're doing a partial word store and so need to combine
-	   our source and original destination words.  */
-	ldq_u	t1, 0(a0)	# e0    :
-	subq	t8, 1, t6	# .. e1 :
-	or	t8, t6, t7	# e0    :
-	unop			#
-	zapnot	t0, t7, t0	# e0    : clear src bytes > null
-	zap	t1, t7, t1	# .. e1 : clear dst bytes <= null
-	or	t0, t1, t0	# e1    :
-
-1:	stq_u	t0, 0(a0)	# e0    :
-	ret	(t9)		# e1    :
-
-	/* Add the end-of-count bit to the eos detection bitmask.  */
-$a_eoc:
-	or	t10, t7, t7
-	br	$a_eos
-
-	.end stxncpy_aligned
-
-	.align 3
-	.ent __stxncpy
-	.globl __stxncpy
-__stxncpy:
-	.frame sp, 0, t9, 0
-	.prologue 0
-
-	/* Are source and destination co-aligned?  */
-	xor	a0, a1, t1	# e0    :
-	and	a0, 7, t0	# .. e1 : find dest misalignment
-	and	t1, 7, t1	# e0    :
-	addq	a2, t0, a2	# .. e1 : bias count by dest misalignment
-	subq	a2, 1, a2	# e0    :
-	and	a2, 7, t2	# e1    :
-	srl	a2, 3, a2	# e0    : a2 = loop counter = (count - 1)/8
-	addq	zero, 1, t10	# .. e1 :
-	sll	t10, t2, t10	# e0    : t10 = bitmask of last count byte
-	bne	t1, $unaligned	# .. e1 :
-
-	/* We are co-aligned; take care of a partial first word.  */
-
-	ldq_u	t1, 0(a1)	# e0    : load first src word
-	addq	a1, 8, a1	# .. e1 :
-
-	beq	t0, stxncpy_aligned     # avoid loading dest word if not needed
-	ldq_u	t0, 0(a0)	# e0    :
-	br	stxncpy_aligned	# .. e1 :
-
-
-/* The source and destination are not co-aligned.  Align the destination
-   and cope.  We have to be very careful about not reading too much and
-   causing a SEGV.  */
-
-	.align 3
-$u_head:
-	/* We know just enough now to be able to assemble the first
-	   full source word.  We can still find a zero at the end of it
-	   that prevents us from outputting the whole thing.
-
-	   On entry to this basic block:
-	   t0 == the first dest word, unmasked
-	   t1 == the shifted low bits of the first source word
-	   t6 == bytemask that is -1 in dest word bytes */
-
-	ldq_u	t2, 8(a1)	# e0    : load second src word
-	addq	a1, 8, a1	# .. e1 :
-	mskql	t0, a0, t0	# e0    : mask trailing garbage in dst
-	extqh	t2, a1, t4	# e0    :
-	or	t1, t4, t1	# e1    : first aligned src word complete
-	mskqh	t1, a0, t1	# e0    : mask leading garbage in src
-	or	t0, t1, t0	# e0    : first output word complete
-	or	t0, t6, t6	# e1    : mask original data for zero test
-	cmpbge	zero, t6, t7	# e0    :
-	beq	a2, $u_eocfin	# .. e1 :
-	lda	t6, -1		# e0    : 
-	bne	t7, $u_final	# .. e1 :
-
-	mskql	t6, a1, t6		# e0    : mask out bits already seen
-	nop				# .. e1 :
-	stq_u	t0, 0(a0)		# e0    : store first output word
-	or      t6, t2, t2		# .. e1 :
-	cmpbge	zero, t2, t7		# e0    : find nulls in second partial
-	addq	a0, 8, a0		# .. e1 :
-	subq	a2, 1, a2		# e0    :
-	bne	t7, $u_late_head_exit	# .. e1 :
-
-	/* Finally, we've got all the stupid leading edge cases taken care
-	   of and we can set up to enter the main loop.  */
-
-	extql	t2, a1, t1	# e0    : position hi-bits of lo word
-	beq	a2, $u_eoc	# .. e1 :
-	ldq_u	t2, 8(a1)	# e0    : read next high-order source word
-	addq	a1, 8, a1	# .. e1 :
-	extqh	t2, a1, t0	# e0    : position lo-bits of hi word
-	cmpbge	zero, t2, t7	# .. e1 : test new word for eos
-	nop			# e0    :
-	bne	t7, $u_eos	# .. e1 :
-
-	/* Unaligned copy main loop.  In order to avoid reading too much,
-	   the loop is structured to detect zeros in aligned source words.
-	   This has, unfortunately, effectively pulled half of a loop
-	   iteration out into the head and half into the tail, but it does
-	   prevent nastiness from accumulating in the very thing we want
-	   to run as fast as possible.
-
-	   On entry to this basic block:
-	   t0 == the shifted low-order bits from the current source word
-	   t1 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word
-
-	   We further know that t2 does not contain a null terminator.  */
-
-	.align 3
-$u_loop:
-	or	t0, t1, t0	# e0    : current dst word now complete
-	subq	a2, 1, a2	# .. e1 : decrement word count
-	stq_u	t0, 0(a0)	# e0    : save the current word
-	addq	a0, 8, a0	# .. e1 :
-	extql	t2, a1, t1	# e0    : extract high bits for next time
-	beq	a2, $u_eoc	# .. e1 :
-	ldq_u	t2, 8(a1)	# e0    : load high word for next time
-	addq	a1, 8, a1	# .. e1 :
-	nop			# e0    :
-	cmpbge	zero, t2, t7	# .. e1 : test new word for eos
-	extqh	t2, a1, t0	# e0    : extract low bits for current word
-	beq	t7, $u_loop	# .. e1 :
-
-	/* We've found a zero somewhere in the source word we just read.
-	   If it resides in the lower half, we have one (probably partial)
-	   word to write out, and if it resides in the upper half, we
-	   have one full and one partial word left to write out.
-
-	   On entry to this basic block:
-	   t0 == the shifted low-order bits from the current source word
-	   t1 == the shifted high-order bits from the previous source word
-	   t2 == the unshifted current source word.  */
-$u_eos:
-	or	t0, t1, t0	# e0    : first (partial) source word complete
-	cmpbge	zero, t0, t7	# e0    : is the null in this first bit?
-	bne	t7, $u_final	# .. e1 (zdb)
-
-	stq_u	t0, 0(a0)	# e0    : the null was in the high-order bits
-	addq	a0, 8, a0	# .. e1 :
-	subq	a2, 1, a2	# e0    :
-
-$u_late_head_exit:
-	extql	t2, a1, t0	# e0    :
-	cmpbge	zero, t0, t7	# e0    :
-	or	t7, t10, t6	# e1    :
-	cmoveq	a2, t6, t7	# e0    :
-
-	/* Take care of a final (probably partial) result word.
-	   On entry to this basic block:
-	   t0 == assembled source word
-	   t7 == cmpbge mask that found the null.  */
-$u_final:
-	negq	t7, t6		# e0    : isolate low bit set
-	and	t6, t7, t8	# e1    :
-
-	and	t8, 0x80, t6	# e0    : avoid dest word load if we can
-	bne	t6, 1f		# .. e1 (zdb)
-
-	ldq_u	t1, 0(a0)	# e0    :
-	subq	t8, 1, t6	# .. e1 :
-	or	t6, t8, t7	# e0    :
-	zapnot	t0, t7, t0	# .. e1 : kill source bytes > null
-	zap	t1, t7, t1	# e0    : kill dest bytes <= null
-	or	t0, t1, t0	# e1    :
-
-1:	stq_u	t0, 0(a0)	# e0    :
-	ret	(t9)		# .. e1 :
-
-	/* Got to end-of-count before end of string.  
-	   On entry to this basic block:
-	   t1 == the shifted high-order bits from the previous source word  */
-$u_eoc:
-	and	a1, 7, t6	# e1    :
-	sll	t10, t6, t6	# e0    :
-	and	t6, 0xff, t6	# e0	:
-	bne	t6, 1f		# e1    : avoid src word load if we can
-
-	ldq_u	t2, 8(a1)	# e0    : load final src word
-	nop			# .. e1 :
-	extqh	t2, a1, t0	# e0    : extract high bits for last word
-	or	t1, t0, t1	# e1    :
-
-1:	cmpbge	zero, t1, t7
-	mov	t1, t0
-
-$u_eocfin:			# end-of-count, final word
-	or	t10, t7, t7
-	br	$u_final
-
-	/* Unaligned copy entry point.  */
-	.align 3
-$unaligned:
-
-	ldq_u	t1, 0(a1)	# e0    : load first source word
-
-	and	a0, 7, t4	# .. e1 : find dest misalignment
-	and	a1, 7, t5	# e0    : find src misalignment
-
-	/* Conditionally load the first destination word and a bytemask
-	   with 0xff indicating that the destination byte is sacrosanct.  */
-
-	mov	zero, t0	# .. e1 :
-	mov	zero, t6	# e0    :
-	beq	t4, 1f		# .. e1 :
-	ldq_u	t0, 0(a0)	# e0    :
-	lda	t6, -1		# .. e1 :
-	mskql	t6, a0, t6	# e0    :
-1:
-	subq	a1, t4, a1	# .. e1 : sub dest misalignment from src addr
-
-	/* If source misalignment is larger than dest misalignment, we need
-	   extra startup checks to avoid SEGV.  */
-
-	cmplt	t4, t5, t8	# e1    :
-	extql	t1, a1, t1	# .. e0 : shift src into place
-	lda	t2, -1		# e0    : for creating masks later
-	beq	t8, $u_head	# e1    :
-
-	mskqh	t2, t5, t2	# e0    : begin src byte validity mask
-	cmpbge	zero, t1, t7	# .. e1 : is there a zero?
-	extql	t2, a1, t2	# e0    :
-	or	t7, t10, t5	# .. e1 : test for end-of-count too
-	cmpbge	zero, t2, t3	# e0    :
-	cmoveq	a2, t5, t7	# .. e1 :
-	andnot	t7, t3, t7	# e0    :
-	beq	t7, $u_head	# .. e1 (zdb)
-
-	/* At this point we've found a zero in the first partial word of
-	   the source.  We need to isolate the valid source data and mask
-	   it into the original destination data.  (Incidentally, we know
-	   that we'll need at least one byte of that original dest word.) */
-
-	ldq_u	t0, 0(a0)	# e0    :
-	negq	t7, t6		# .. e1 : build bitmask of bytes <= zero
-	mskqh	t1, t4, t1	# e0    :
-	and	t6, t7, t8	# .. e1 :
-	subq	t8, 1, t6	# e0    :
-	or	t6, t8, t7	# e1    :
-
-	zapnot	t2, t7, t2	# e0    : prepare source word; mirror changes
-	zapnot	t1, t7, t1	# .. e1 : to source validity mask
-
-	andnot	t0, t2, t0	# e0    : zero place for source to reside
-	or	t0, t1, t0	# e1    : and put it there
-	stq_u	t0, 0(a0)	# e0    :
-	ret	(t9)		# .. e1 :
-
-	.end __stxncpy
diff --git a/sysdeps/alpha/sub_n.s b/sysdeps/alpha/sub_n.s
deleted file mode 100644
index e0a6d5c6bd..0000000000
--- a/sysdeps/alpha/sub_n.s
+++ /dev/null
@@ -1,120 +0,0 @@
- # Alpha __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
- # store difference in a third limb vector.
-
- # Copyright (C) 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	$16
- # s1_ptr	$17
- # s2_ptr	$18
- # size		$19
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_sub_n
-	.ent	__mpn_sub_n
-__mpn_sub_n:
-	.frame	$30,0,$26,0
-
-	ldq	$3,0($17)
-	ldq	$4,0($18)
-
-	subq	$19,1,$19
-	and	$19,4-1,$2	# number of limbs in first loop
-	bis	$31,$31,$0
-	beq	$2,.L0		# if multiple of 4 limbs, skip first loop
-
-	subq	$19,$2,$19
-
-.Loop0:	subq	$2,1,$2
-	ldq	$5,8($17)
-	addq	$4,$0,$4
-	ldq	$6,8($18)
-	cmpult	$4,$0,$1
-	subq	$3,$4,$4
-	cmpult	$3,$4,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-
-	addq	$17,8,$17
-	addq	$18,8,$18
-	bis	$5,$5,$3
-	bis	$6,$6,$4
-	addq	$16,8,$16
-	bne	$2,.Loop0
-
-.L0:	beq	$19,.Lend
-
-	.align	3
-.Loop:	subq	$19,4,$19
-
-	ldq	$5,8($17)
-	addq	$4,$0,$4
-	ldq	$6,8($18)
-	cmpult	$4,$0,$1
-	subq	$3,$4,$4
-	cmpult	$3,$4,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-
-	ldq	$3,16($17)
-	addq	$6,$0,$6
-	ldq	$4,16($18)
-	cmpult	$6,$0,$1
-	subq	$5,$6,$6
-	cmpult	$5,$6,$0
-	stq	$6,8($16)
-	or	$0,$1,$0
-
-	ldq	$5,24($17)
-	addq	$4,$0,$4
-	ldq	$6,24($18)
-	cmpult	$4,$0,$1
-	subq	$3,$4,$4
-	cmpult	$3,$4,$0
-	stq	$4,16($16)
-	or	$0,$1,$0
-
-	ldq	$3,32($17)
-	addq	$6,$0,$6
-	ldq	$4,32($18)
-	cmpult	$6,$0,$1
-	subq	$5,$6,$6
-	cmpult	$5,$6,$0
-	stq	$6,24($16)
-	or	$0,$1,$0
-
-	addq	$17,32,$17
-	addq	$18,32,$18
-	addq	$16,32,$16
-	bne	$19,.Loop
-
-.Lend:	addq	$4,$0,$4
-	cmpult	$4,$0,$1
-	subq	$3,$4,$4
-	cmpult	$3,$4,$0
-	stq	$4,0($16)
-	or	$0,$1,$0
-	ret	$31,($26),1
-
-	.end	__mpn_sub_n
diff --git a/sysdeps/alpha/submul_1.s b/sysdeps/alpha/submul_1.s
deleted file mode 100644
index 5343f67d81..0000000000
--- a/sysdeps/alpha/submul_1.s
+++ /dev/null
@@ -1,92 +0,0 @@
- # Alpha 21064 __mpn_submul_1 -- Multiply a limb vector with a limb and
- # subtract the result from a second limb vector.
-
- # Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-
- # INPUT PARAMETERS
- # res_ptr	r16
- # s1_ptr	r17
- # size		r18
- # s2_limb	r19
-
- # This code runs at 42 cycles/limb on EV4 and 18 cycles/limb on EV5.
-
-	.set	noreorder
-	.set	noat
-.text
-	.align	3
-	.globl	__mpn_submul_1
-	.ent	__mpn_submul_1 2
-__mpn_submul_1:
-	.frame	$30,0,$26
-
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	subq	$18,1,$18	# size--
-	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	umulh	$2,$19,$0	# $0 = prod_high
-	beq	$18,.Lend1	# jump if size was == 1
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	subq	$18,1,$18	# size--
-	subq	$5,$3,$3
-	cmpult	$5,$3,$4
-	stq	$3,0($16)
-	addq	$16,8,$16	# res_ptr++
-	beq	$18,.Lend2	# jump if size was == 2
-
-	.align	3
-.Loop:	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	subq	$18,1,$18	# size--
-	umulh	$2,$19,$4	# $4 = cy_limb
-	ldq	$2,0($17)	# $2 = s1_limb
-	addq	$17,8,$17	# s1_ptr++
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	subq	$5,$3,$3
-	cmpult	$5,$3,$5
-	stq	$3,0($16)
-	addq	$16,8,$16	# res_ptr++
-	addq	$5,$0,$0	# combine carries
-	bne	$18,.Loop
-
-.Lend2:	mulq	$2,$19,$3	# $3 = prod_low
-	ldq	$5,0($16)	# $5 = *res_ptr
-	addq	$4,$0,$0	# cy_limb = cy_limb + 'cy'
-	umulh	$2,$19,$4	# $4 = cy_limb
-	addq	$3,$0,$3	# $3 = cy_limb + prod_low
-	cmpult	$3,$0,$0	# $0 = carry from (cy_limb + prod_low)
-	subq	$5,$3,$3
-	cmpult	$5,$3,$5
-	stq	$3,0($16)
-	addq	$5,$0,$0	# combine carries
-	addq	$4,$0,$0	# cy_limb = prod_high + cy
-	ret	$31,($26),1
-.Lend1:	subq	$5,$3,$3
-	cmpult	$5,$3,$5
-	stq	$3,0($16)
-	addq	$0,$5,$0
-	ret	$31,($26),1
-
-	.end	__mpn_submul_1
diff --git a/sysdeps/alpha/udiv_qrnnd.S b/sysdeps/alpha/udiv_qrnnd.S
deleted file mode 100644
index d4ca795aae..0000000000
--- a/sysdeps/alpha/udiv_qrnnd.S
+++ /dev/null
@@ -1,161 +0,0 @@
- # Alpha 21064 __udiv_qrnnd
-
- # Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
- # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- # MA 02111-1307, USA.
-
-#include <sysdep.h>
-
-        .set noreorder
-        .set noat
-
-	.text
-
-LEAF(__udiv_qrnnd, 0)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.prologue 1
-#else
-        .prologue 0
-#endif
-
-#define cnt	$2
-#define tmp	$3
-#define rem_ptr	$16
-#define n1	$17
-#define n0	$18
-#define d	$19
-#define qb	$20
-
-	ldiq	cnt,16
-	blt	d,$largedivisor
-
-$loop1:	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	d,n1,qb
-	subq	n1,d,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	d,n1,qb
-	subq	n1,d,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	d,n1,qb
-	subq	n1,d,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	d,n1,qb
-	subq	n1,d,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	subq	cnt,1,cnt
-	bgt	cnt,$loop1
-	stq	n1,0(rem_ptr)
-	bis	$31,n0,$0
-	ret	$31,($26),1
-
-$largedivisor:
-	and	n0,1,$4
-
-	srl	n0,1,n0
-	sll	n1,63,tmp
-	or	tmp,n0,n0
-	srl	n1,1,n1
-
-	and	d,1,$6
-	srl	d,1,$5
-	addq	$5,$6,$5
-
-$loop2:	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	$5,n1,qb
-	subq	n1,$5,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	$5,n1,qb
-	subq	n1,$5,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	$5,n1,qb
-	subq	n1,$5,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	cmplt	n0,0,tmp
-	addq	n1,n1,n1
-	bis	n1,tmp,n1
-	addq	n0,n0,n0
-	cmpule	$5,n1,qb
-	subq	n1,$5,tmp
-	cmovne	qb,tmp,n1
-	bis	n0,qb,n0
-	subq	cnt,1,cnt
-	bgt	cnt,$loop2
-
-	addq	n1,n1,n1
-	addq	$4,n1,n1
-	bne	$6,$Odd
-	stq	n1,0(rem_ptr)
-	bis	$31,n0,$0
-	ret	$31,($26),1
-
-$Odd:
-	/* q' in n0. r' in n1 */
-	addq	n1,n0,n1
-
-	cmpult	n1,n0,tmp	# tmp := carry from addq
-	subq	n1,d,AT
-	addq	n0,tmp,n0
-	cmovne	tmp,AT,n1
-
-	cmpult	n1,d,tmp
-	addq	n0,1,AT
-	cmoveq	tmp,AT,n0
-	subq	n1,d,AT
-	cmoveq	tmp,AT,n1
-
-	stq	n1,0(rem_ptr)
-	bis	$31,n0,$0
-	ret	$31,($26),1
-
-	.end	__udiv_qrnnd
diff --git a/sysdeps/i386/dl-tlsdesc.S b/sysdeps/i386/dl-tlsdesc.S
index db5005d9f4..4d17e59911 100644
--- a/sysdeps/i386/dl-tlsdesc.S
+++ b/sysdeps/i386/dl-tlsdesc.S
@@ -128,8 +128,7 @@ _dl_tlsdesc_dynamic:
 .Lslow:
 	cfi_adjust_cfa_offset (28)
 	movl	%ebx, 16(%esp)
-	call	__i686.get_pc_thunk.bx
-	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
+	LOAD_PIC_REG (bx)
 	call	___tls_get_addr@PLT
 	movl	16(%esp), %ebx
 	jmp	.Lret
diff --git a/sysdeps/mach/alpha/machine-lock.h b/sysdeps/mach/alpha/machine-lock.h
deleted file mode 100644
index bd27d2a51f..0000000000
--- a/sysdeps/mach/alpha/machine-lock.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Machine-specific definition for spin locks.  Alpha version.
-   Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MACHINE_LOCK_H
-#define	_MACHINE_LOCK_H
-
-/* The type of a spin lock variable.  */
-
-typedef __volatile long int __spin_lock_t;
-
-/* Value to initialize `__spin_lock_t' variables to.  */
-
-#define	__SPIN_LOCK_INITIALIZER	0L
-
-
-#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE __extern_inline
-#endif
-
-/* Unlock LOCK.  */
-
-_EXTERN_INLINE void
-__spin_unlock (__spin_lock_t *__lock)
-{
-  __asm__ __volatile__ ("mb; stq $31, %0; mb"
-			: "=m" (__lock));
-}
-
-/* Try to lock LOCK; return nonzero if we locked it, zero if another has.  */
-
-_EXTERN_INLINE int
-__spin_try_lock (register __spin_lock_t *__lock)
-{
-  register long int __rtn, __tmp;
-
-  do
-    {
-      __asm__ __volatile__ ("mb; ldq_l %0,%1" /* Load lock value into TMP.  */
-			    : "=r" (__tmp) : "m" (*__lock));
-      __rtn = 2;		/* Load locked value into RTN.  */
-      if (__tmp)
-	/* The lock is already taken.  */
-	return 0;
-
-      /* The lock is not taken; try to get it now.  */
-      __asm__ __volatile__ ("stq_c %0,%1"
-			    : "=r" (__rtn), "=m" (*__lock)
-			    : "0" (__rtn), "1" (*__lock));
-      /* RTN is clear if stq_c was interrupted; loop to try the lock again.  */
-   } while (! __rtn);
-  /* RTN is now nonzero; we have the lock.  */
-  return __rtn;
-}
-
-/* Return nonzero if LOCK is locked.  */
-
-_EXTERN_INLINE int
-__spin_lock_locked (__spin_lock_t *__lock)
-{
-  return *__lock != 0;
-}
-
-
-#endif /* machine-lock.h */
diff --git a/sysdeps/mach/alpha/machine-sp.h b/sysdeps/mach/alpha/machine-sp.h
deleted file mode 100644
index e6df63c9ac..0000000000
--- a/sysdeps/mach/alpha/machine-sp.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Machine-specific function to return the stack pointer.  Alpha version.
-   Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MACHINE_SP_H
-#define _MACHINE_SP_H
-
-/* Return the current stack pointer.  */
-
-#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE __extern_inline
-#endif
-
-_EXTERN_INLINE void *
-__thread_stack_pointer (void)
-{
-  register void *__sp__ __asm__ ("$30");
-  return __sp__;
-}
-
-#endif	/* machine-sp.h */
diff --git a/sysdeps/mach/alpha/setfpucw.c b/sysdeps/mach/alpha/setfpucw.c
deleted file mode 100644
index a2887c8dfb..0000000000
--- a/sysdeps/mach/alpha/setfpucw.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Set FP exception mask and rounding mode.  Mach/Alpha version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fpu_control.h>
-
-
-#define FPCR_DYN_SHIFT	58		/* first dynamic rounding mode bit */
-#define FPCR_DYN_CHOPPED (0x0UL << FPCR_DYN_SHIFT)	/* towards 0 */
-#define FPCR_DYN_MINUS	 (0x1UL << FPCR_DYN_SHIFT)	/* towards -INF */
-#define FPCR_DYN_NORMAL	 (0x2UL << FPCR_DYN_SHIFT)	/* towards nearest */
-#define FPCR_DYN_PLUS	 (0x3UL << FPCR_DYN_SHIFT)	/* towards +INF */
-#define FPCR_DYN_MASK	 (0x3UL << FPCR_DYN_SHIFT)
-
-static inline unsigned long
-rdfpcr (void)
-{
-  unsigned long fpcr;
-  asm ("excb; mf_fpcr %0" : "=f"(fpcr));
-  return fpcr;
-}
-
-static inline void
-wrfpcr (unsigned long fpcr)
-{
-  asm volatile ("mt_fpcr %0; excb" : : "f"(fpcr));
-}
-
-
-void
-__setfpucw (fpu_control_t fpu_control)
-{
-  unsigned long fpcr;
-
-  if (!fpu_control)
-    fpu_control = _FPU_DEFAULT;
-
-  /* first, set dynamic rounding mode: */
-
-  fpcr = rdfpcr();
-  fpcr &= ~FPCR_DYN_MASK;
-  switch (fpu_control & 0xc00)
-    {
-    case _FPU_RC_NEAREST:	fpcr |= FPCR_DYN_NORMAL; break;
-    case _FPU_RC_DOWN:		fpcr |= FPCR_DYN_MINUS; break;
-    case _FPU_RC_UP:		fpcr |= FPCR_DYN_PLUS; break;
-    case _FPU_RC_ZERO:		fpcr |= FPCR_DYN_CHOPPED; break;
-    }
-  wrfpcr(fpcr);
-
-  /* XXX trap bits? */
-
-  __fpu_control = fpu_control;	/* update global copy */
-}
diff --git a/sysdeps/mach/alpha/syscall.S b/sysdeps/mach/alpha/syscall.S
deleted file mode 100644
index 15fc5b75b7..0000000000
--- a/sysdeps/mach/alpha/syscall.S
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1994,97,2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-ENTRY (syscall)
-	mov a0, v0		/* Load system call number from first arg.  */
-	mov a1, a0
-	mov a2, a1
-	mov a3, a2
-	mov a4, a3
-	mov a5, a4
-	/* Load the remaining possible args (up to 11) from the stack.  */
-	ldq a5,0(sp)
-	ldq t0,8(sp)
-	ldq t1,16(sp)
-	ldq t2,24(sp)
-	ldq t3,32(sp)
-	ldq t4,40(sp)
-	callsys
-	ret
-END (syscall)
diff --git a/sysdeps/mach/alpha/sysdep.h b/sysdeps/mach/alpha/sysdep.h
deleted file mode 100644
index 84e21c8d5d..0000000000
--- a/sysdeps/mach/alpha/sysdep.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 1994,97,2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define MOVE(x,y)	mov x, y
-
-#define LOSE asm volatile ("call_pal 0") /* halt */
-
-#define START_MACHDEP \
-  asm ("_start:	mov	$30, $16\n" /* Put initial SP in a0.  */	      \
-       "	br	$27, 1f\n" /* Load GP from PC.  */		      \
-       "1:	ldgp	$29, 0($27)\n"					      \
-       "	jmp	$26, _start0");	/* Jump to _start0; don't return.  */
-#define START_ARGS	char **sparg
-#define SNARF_ARGS(argc, argv, envp) \
-  (envp = &(argv = &sparg[1])[(argc = *(int *) sparg) + 1])
-
-#define CALL_WITH_SP(fn, sp) \
-  ({ register long int __fn = (long int) fn, __sp = (long int) sp; \
-     asm volatile ("mov %0,$30; jmp $31, (%1); ldgp $29, 0(%1)" \
-		   : : "r" (__sp), "r" (__fn)); })
-
-#define STACK_GROWTH_DOWN
-
-#define RETURN_TO(sp, pc, retval) \
-  asm volatile ("mov %0,$30; jmp $31, (%1); mov %2,$0" \
-		: : "r" (sp), "r" (pc), "r" ((long int) (retval)));
-
-#define ALIGN 3
-#include <sysdeps/mach/sysdep.h>
-
-/* Alpha needs the .ent and .frame magic that the generic version lacks.  */
-#undef ENTRY
-#define ENTRY(name)				\
-  .globl name;					\
-  .align 3;					\
-  .ent name, 0;					\
-  name##:					\
-  .frame sp, 0, ra
-
-#include <mach/alpha/asm.h>
-#undef	at
-#define at	28
-#define AT	$28
-#define fp	s6
diff --git a/sysdeps/mach/alpha/thread_state.h b/sysdeps/mach/alpha/thread_state.h
deleted file mode 100644
index 0c9527bd26..0000000000
--- a/sysdeps/mach/alpha/thread_state.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Mach thread state definitions for machine-independent code.  Alpha version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <mach/machine/thread_status.h>
-
-#define MACHINE_THREAD_STATE_FLAVOR	ALPHA_THREAD_STATE
-#define MACHINE_THREAD_STATE_COUNT	ALPHA_THREAD_STATE_COUNT
-
-#define machine_thread_state alpha_thread_state
-
-#define PC pc
-#define SP r30
-#define SYSRETURN r0
-
-struct machine_thread_all_state
-  {
-    int set;			/* Mask of bits (1 << FLAVOR).  */
-    struct alpha_thread_state basic;
-    struct alpha_exc_state exc;
-    struct alpha_float_state fpu;
-  };
-
-#include <sysdeps/mach/thread_state.h>
diff --git a/sysdeps/mach/hurd/alpha/bits/sigcontext.h b/sysdeps/mach/hurd/alpha/bits/sigcontext.h
deleted file mode 100644
index 4f13a2c9b2..0000000000
--- a/sysdeps/mach/hurd/alpha/bits/sigcontext.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Machine-dependent signal context structure for GNU Hurd.  Alpha version.
-   Copyright (C) 1994,97,2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
-# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-#endif
-
-#ifndef sc_alpha_thread_state
-
-/* Signal handlers are actually called:
-   void handler (int sig, int code, struct sigcontext *scp);  */
-
-/* State of this thread when the signal was taken.  */
-struct sigcontext
-  {
-    /* These first members are machine-independent.  */
-
-    long int sc_onstack;	/* Nonzero if running on sigstack.  */
-    __sigset_t sc_mask;		/* Blocked signals to restore.  */
-
-    /* MiG reply port this thread is using.  */
-    unsigned long int sc_reply_port;
-
-    /* Port this thread is doing an interruptible RPC on.  */
-    unsigned long int sc_intr_port;
-
-    /* Error code associated with this signal (interpreted as `error_t').  */
-    int sc_error;
-
-    /* All following members are machine-dependent.  The rest of this
-       structure is written to be laid out identically to:
-       {
-	 struct alpha_thread_state basic;
-	 struct alpha_exc_state exc;
-	 struct alpha_float_state fpu;
-       }
-       trampoline.c knows this, so it must be changed if this changes.  */
-
-#define sc_alpha_thread_state sc_regs /* Beginning of correspondence.  */
-    long int sc_regs[31];	/* General registers $0..$30.  */
-    long int sc_pc;		/* Program counter.  */
-
-    /* struct alpha_exc_state */
-#define sc_alpha_exc_state sc_badvaddr
-    unsigned long int sc_badvaddr;
-    unsigned int sc_cause;	/* Machine-level trap code.  */
-#define SC_CAUSE_SET_SSTEP	1
-    int sc_used_fpa;		/* Nonzero if FPU was used.  */
-
-    /* struct alpha_float_state
-       This is only filled in if sc_used_fpa is nonzero.  */
-#define sc_alpha_float_state sc_fpregs
-    double sc_fpregs[31];	/* Floating point registers $f0..$f30.  */
-    long int sc_fpcsr;		/* Floating point control/status register.  */
-  };
-
-#endif /* sc_alpha_thread_state */
diff --git a/sysdeps/mach/hurd/alpha/exc2signal.c b/sysdeps/mach/hurd/alpha/exc2signal.c
deleted file mode 100644
index 5f3fbbbbb1..0000000000
--- a/sysdeps/mach/hurd/alpha/exc2signal.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Translate Mach exception codes into signal numbers.  Alpha version.
-   Copyright (C) 1994,97,2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <hurd.h>
-#include <hurd/signal.h>
-#include <mach/exception.h>
-
-/* Translate the Mach exception codes, as received in an `exception_raise' RPC,
-   into a signal number and signal subcode.  */
-
-void
-_hurd_exception2signal (struct hurd_signal_detail *detail, int *signo)
-{
-  detail->error = 0;
-
-  switch (detail->exc)
-    {
-    default:
-      *signo = SIGIOT;
-      detail->code = detail->exc;
-      break;
-
-    case EXC_BAD_ACCESS:
-      if (detail->exc_code == KERN_PROTECTION_FAILURE)
-	*signo = SIGSEGV;
-      else
-	*signo = SIGBUS;
-      detail->code = detail->exc_subcode;
-      detail->error = detail->exc_code;
-      break;
-
-    case EXC_BAD_INSTRUCTION:
-      *signo = SIGILL;
-      detail->code = detail->exc_code;
-      break;
-
-    case EXC_ARITHMETIC:
-      *signo = SIGFPE;
-      detail->code = detail->exc_code;
-      break;
-      break;
-
-    case EXC_EMULATION:
-      /* 3.0 doesn't give this one, why, I don't know.  */
-      *signo = SIGEMT;
-      detail->code = detail->exc_code;
-      break;
-
-    case EXC_SOFTWARE:
-      *signo = SIGEMT;
-      detail->code = detail->exc_code;
-      break;
-
-    case EXC_BREAKPOINT:
-      *signo = SIGTRAP;
-      detail->code = detail->exc_code;
-      break;
-    }
-}
diff --git a/sysdeps/mach/hurd/alpha/init-first.c b/sysdeps/mach/hurd/alpha/init-first.c
deleted file mode 100644
index 6e55225890..0000000000
--- a/sysdeps/mach/hurd/alpha/init-first.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* Initialization code run first thing by the ELF startup code.  Alpha/Hurd.
-   Copyright (C) 1995,96,97,98,99,2000,01,02,03 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <assert.h>
-#include <hurd.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <sysdep.h>
-#include <set-hooks.h>
-#include "hurdstartup.h"
-#include "hurdmalloc.h"		/* XXX */
-
-extern void __mach_init (void);
-extern void __init_misc (int, char **, char **);
-#ifdef USE_NONOPTION_FLAGS
-extern void __getopt_clean_environment (char **);
-#endif
-#ifndef SHARED
-extern void _dl_non_dynamic_init (void) internal_function;
-#endif
-extern void __libc_global_ctors (void);
-
-unsigned int __hurd_threadvar_max;
-unsigned long int __hurd_threadvar_stack_offset;
-unsigned long int __hurd_threadvar_stack_mask;
-
-#ifndef SHARED
-int __libc_enable_secure;
-#endif
-int __libc_multiple_libcs attribute_hidden = 1;
-
-extern int __libc_argc attribute_hidden;
-extern char **__libc_argv attribute_hidden;
-extern char **_dl_argv;
-
-void *(*_cthread_init_routine) (void); /* Returns new SP to use.  */
-void (*_cthread_exit_routine) (int status) __attribute__ ((__noreturn__));
-
-/* Things that want to be run before _hurd_init or much anything else.
-   Importantly, these are called before anything tries to use malloc.  */
-DEFINE_HOOK (_hurd_preinit_hook, (void));
-
-
-/* We call this once the Hurd magic is all set up and we are ready to be a
-   Posixoid program.  This does the same things the generic version does.  */
-static void
-posixland_init (int argc, char **argv, char **envp)
-{
-  __libc_argc = argc;
-  __libc_argv = argv;
-  __environ = envp;
-
-#ifndef SHARED
-  _dl_non_dynamic_init ();
-#endif
-  __init_misc (argc, argv, envp);
-
-#ifdef USE_NONOPTION_FLAGS
-  /* This is a hack to make the special getopt in GNU libc working.  */
-  __getopt_clean_environment (envp);
-#endif
-
-#ifdef SHARED
-  __libc_global_ctors ();
-#endif
-}
-
-
-static void
-init1 (intptr_t *data)
-{
-  int argc = (intptr_t) *data;
-  char **argv = (char **) &data[1];
-  char **envp = &argv[argc + 1];
-  struct hurd_startup_data *d;
-
-  while (*envp)
-    ++envp;
-  d = (void *) ++envp;
-
-  /* If we are the bootstrap task started by the kernel,
-     then after the environment pointers there is no Hurd
-     data block; the argument strings start there.  */
-  /* OSF Mach starts the bootstrap task with argc == 0.
-     XXX This fails if a non-bootstrap task gets started
-     with argc == 0.  */
-  if (argc && (void *) d != argv[0])
-    {
-      _hurd_init_dtable = d->dtable;
-      _hurd_init_dtablesize = d->dtablesize;
-
-      {
-	/* Check if the stack we are now on is different from
-	   the one described by _hurd_stack_{base,size}.  */
-
-	char dummy;
-	const vm_address_t newsp = (vm_address_t) &dummy;
-
-	if (d->stack_size != 0 && (newsp < d->stack_base ||
-				   newsp - d->stack_base > d->stack_size))
-	  /* The new stack pointer does not intersect with the
-	     stack the exec server set up for us, so free that stack.  */
-	  __vm_deallocate (__mach_task_self (), d->stack_base, d->stack_size);
-      }
-    }
-
-  if ((void *) d != argv[0] && (d->portarray || d->intarray))
-    /* Initialize library data structures, start signal processing, etc.  */
-    _hurd_init (d->flags, argv,
-		d->portarray, d->portarraysize,
-		d->intarray, d->intarraysize);
-
-#ifndef SHARED
-  __libc_enable_secure = d->flags & EXEC_SECURE;
-#endif
-}
-
-
-static inline void
-init (intptr_t *data)
-{
-  int argc = *data;
-  char **argv = (void *) (data + 1);
-  char **envp = &argv[argc + 1];
-  struct hurd_startup_data *d;
-  unsigned long int threadvars[_HURD_THREADVAR_MAX];
-
-  /* Provide temporary storage for thread-specific variables on the
-     startup stack so the cthreads initialization code can use them
-     for malloc et al, or so we can use malloc below for the real
-     threadvars array.  */
-  memset (threadvars, 0, sizeof threadvars);
-  __hurd_threadvar_stack_offset = (unsigned long int) threadvars;
-
-  /* Since the cthreads initialization code uses malloc, and the
-     malloc initialization code needs to get at the environment, make
-     sure we can find it.  We'll need to do this again later on since
-     switching stacks changes the location where the environment is
-     stored.  */
-  __environ = envp;
-
-  while (*envp)
-    ++envp;
-  d = (void *) ++envp;
-
-  /* The user might have defined a value for this, to get more variables.
-     Otherwise it will be zero on startup.  We must make sure it is set
-     properly before before cthreads initialization, so cthreads can know
-     how much space to leave for thread variables.  */
-  if (__hurd_threadvar_max < _HURD_THREADVAR_MAX)
-    __hurd_threadvar_max = _HURD_THREADVAR_MAX;
-
-
-  /* After possibly switching stacks, call `init1' (above) with the user
-     code as the return address, and the argument data immediately above
-     that on the stack.  */
-
-  if (_cthread_init_routine)
-    {
-      /* Initialize cthreads, which will allocate us a new stack to run on.  */
-      void *newsp = (*_cthread_init_routine) ();
-      struct hurd_startup_data *od;
-
-      void switch_stacks (void);
-
-      /* Copy per-thread variables from that temporary
-	 area onto the new cthread stack.  */
-      memcpy (__hurd_threadvar_location_from_sp (0, newsp),
-	      threadvars, sizeof threadvars);
-
-      /* Copy the argdata from the old stack to the new one.  */
-      newsp = memcpy (newsp - ((char *) &d[1] - (char *) data), data,
-		      (char *) d - (char *) data);
-
-#ifdef SHARED
-      /* And readjust the dynamic linker's idea of where the argument
-         vector lives.  */
-      assert (_dl_argv == argv);
-      _dl_argv = (void *) ((int *) newsp + 1);
-#endif
-
-      /* Set up the Hurd startup data block immediately following
-	 the argument and environment pointers on the new stack.  */
-      od = (newsp + ((char *) d - (char *) data));
-      if ((void *) argv[0] == d)
-	/* We were started up by the kernel with arguments on the stack.
-	   There is no Hurd startup data, so zero the block.  */
-	memset (od, 0, sizeof *od);
-      else
-	/* Copy the Hurd startup data block to the new stack.  */
-	*od = *d;
-
-      /*
-         Force NEWSP into sp and &init1 into pv, then branch to pv (call init1).
-       */
-      asm volatile ("lda $30,0(%0); lda $27,0(%1); jsr $26,($27)"
-		    : : "r" (newsp), "r" (&init1));
-    }
-  else
-    {
-      /* We are not using cthreads, so we will have just a single allocated
-	 area for the per-thread variables of the main user thread.  */
-      unsigned long int *array;
-      unsigned int i;
-
-      array = malloc (__hurd_threadvar_max * sizeof (unsigned long int));
-      if (array == NULL)
-	__libc_fatal ("Can't allocate single-threaded thread variables.");
-
-      /* Copy per-thread variables from the temporary array into the
-	 newly malloc'd space.  */
-      memcpy (array, threadvars, sizeof threadvars);
-      __hurd_threadvar_stack_offset = (unsigned long int) array;
-      for (i = _HURD_THREADVAR_MAX; i < __hurd_threadvar_max; ++i)
-	array[i] = 0;
-
-      init1 (data);
-    }
-}
-
-
-/* Do the first essential initializations that must precede all else.  */
-static inline void
-first_init (void)
-{
-  /* Initialize data structures so we can do RPCs.  */
-  __mach_init ();
-
-  RUN_HOOK (_hurd_preinit_hook, ());
-}
-
-#ifdef SHARED
-/* This function is called specially by the dynamic linker to do early
-   initialization of the shared C library before normal initializers
-   expecting a Posixoid environment can run.  It gets called with the
-   stack set up just as the user will see it, so it can switch stacks.  */
-
-void
-_dl_init_first (intptr_t argc, ...)
-{
-  first_init ();
-
-  init (&argc);
-}
-#endif
-
-
-#ifdef SHARED
-/* The regular posixland initialization is what goes into libc's
-   normal initializer.  */
-/* NOTE!  The linker notices the magical name `_init' and sets the DT_INIT
-   pointer in the dynamic section based solely on that.  It is convention
-   for this function to be in the `.init' section, but the symbol name is
-   the only thing that really matters!!  */
-strong_alias (posixland_init, _init);
-
-void
-__libc_init_first (int argc, char **argv, char **envp)
-{
-  /* Everything was done in the shared library initializer, _init.  */
-}
-#else
-strong_alias (posixland_init, __libc_init_first);
-
-
-void
-_hurd_stack_setup (volatile intptr_t argc, ...)
-{
-  first_init ();
-
-  _hurd_startup ((void **) &argc, &init);
-}
-#endif
-
-
-/* This function is defined here so that if this file ever gets into
-   ld.so we will get a link error.  Having this file silently included
-   in ld.so causes disaster, because the _init definition above will
-   cause ld.so to gain an init function, which is not a cool thing. */
-
-void
-_dl_start (void)
-{
-  abort ();
-}
diff --git a/sysdeps/mach/hurd/alpha/intr-msg.h b/sysdeps/mach/hurd/alpha/intr-msg.h
deleted file mode 100644
index 4f172124e3..0000000000
--- a/sysdeps/mach/hurd/alpha/intr-msg.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Machine-dependent details of interruptible RPC messaging.  Alpha version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify) \
-({									\
-  error_t err;								\
-  asm (".globl _hurd_intr_rpc_msg_do_trap\n"				\
-       ".globl _hurd_intr_rpc_msg_in_trap\n"				\
-       "				mov %1, $16\n"			\
-       "				mov %2, $17\n"			\
-       "				mov %3, $18\n"			\
-       "				mov %4, $19\n"			\
-       "				mov %5, $20\n"			\
-       "				mov %6, $21\n"			\
-       "				mov %7, $1\n"			\
-       "				lda $0, -25\n"			\
-       "_hurd_intr_rpc_msg_do_trap:	callsys\n"			\
-       "_hurd_intr_rpc_msg_in_trap:	ret\n"				\
-       : "=r" (err)							\
-       : "r" (msg), "r" (option), "r" (send_size), "r" (rcv_size),	\
-	 "r" (rcv_name), "r" (timeout), "r" (notify)			\
-       : "16", "17", "18", "19", "20", "21", "1", "0");			\
-  err;									\
-})
-
-static void inline
-INTR_MSG_BACK_OUT (struct alpha_thread_state *state)
-{
-  return;
-}
-
-#include "hurdfault.h"
-
-/* This cannot be an inline function because it calls setjmp.  */
-#define SYSCALL_EXAMINE(state, callno)					    \
-({									    \
-  u_int32_t *p = (void *) ((state)->pc - 4);				    \
-  int result;								    \
-  _hurdsig_catch_memory_fault (p) ? 0 :					    \
-  ({									    \
-    result = (*p == 0x00000083);					    \
-    _hurdsig_end_catch_fault ();					    \
-    if (result)								    \
-      /* The PC is just after a `callsys' instruction.			    \
-         This is a system call in progress; v0 holds the call number.  */   \
-      *(callno) = (state)->r0;						    \
-    result;								    \
-  });									    \
-})
-
-struct mach_msg_trap_args
-  {
-    /* This is the order of arguments to mach_msg_trap.  */
-    mach_msg_header_t *msg;
-    mach_msg_option_t option;
-    mach_msg_size_t send_size;
-    mach_msg_size_t rcv_size;
-    mach_port_t rcv_name;
-    mach_msg_timeout_t timeout;
-    mach_port_t notify;
-  };
-
-/* This cannot be an inline function because it calls setjmp.  */
-#define MSG_EXAMINE(state, msgid, rcv_name, send_name, option, timeout)   \
-({									  \
-  mach_msg_header_t *msg = (mach_msg_header_t *) (state)->r16;		  \
-  *(option) = (mach_msg_option_t) (state)->r17;				  \
-  *(rcv_name) = (mach_port_t) (state)->r18;				  \
-  *(timeout) = (mach_msg_timeout_t) (state)->r19;			  \
-  (msg == 0) ?								  \
-    ({									  \
-      *(send_name) = MACH_PORT_NULL;					  \
-      *(msgid) = 0;							  \
-      0;								  \
-    }) :								  \
-    (_hurdsig_catch_memory_fault (msg) ? -1 :				  \
-	({								  \
-	  *(send_name) = msg->msgh_remote_port;				  \
-	  *(msgid) = msg->msgh_id;					  \
-	  _hurdsig_end_catch_fault ();					  \
-	  0;								  \
-	})								  \
-    );									  \
-})
diff --git a/sysdeps/mach/hurd/alpha/longjmp-ts.c b/sysdeps/mach/hurd/alpha/longjmp-ts.c
deleted file mode 100644
index f472dbcb30..0000000000
--- a/sysdeps/mach/hurd/alpha/longjmp-ts.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Perform a `longjmp' on a Mach thread_state.  Alpha version.
-   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <hurd/signal.h>
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-#include <mach/thread_status.h>
-
-
-/* Set up STATE to do the equivalent of `longjmp (ENV, VAL);'.  */
-
-void
-_hurd_longjmp_thread_state (void *state, jmp_buf env, int val)
-{
-  struct alpha_thread_state *const ts = state;
-
-  ts->r9 = env[0].__jmpbuf[JB_S0];
-  ts->r10 = env[0].__jmpbuf[JB_S1];
-  ts->r11 = env[0].__jmpbuf[JB_S2];
-  ts->r12 = env[0].__jmpbuf[JB_S3];
-  ts->r13 = env[0].__jmpbuf[JB_S4];
-  ts->r13 = env[0].__jmpbuf[JB_S5];
-  ts->pc = env[0].__jmpbuf[JB_PC];
-  ts->r15 = env[0].__jmpbuf[JB_FP];
-  ts->r30 = env[0].__jmpbuf[JB_SP];
-  ts->r0 = val ?: 1;
-
-  /* XXX
-     To mimic longjmp we ought to restore some fp registers too.
-     But those registers are in struct alpha_float_state.
-     The only use of this is in fork, and it probably won't matter.
-  */
-}
diff --git a/sysdeps/mach/hurd/alpha/sigreturn.c b/sysdeps/mach/hurd/alpha/sigreturn.c
deleted file mode 100644
index 182d4cbd84..0000000000
--- a/sysdeps/mach/hurd/alpha/sigreturn.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/* Return from signal handler in GNU C library for Hurd.  Alpha version.
-   Copyright (C) 1994,95,97,98,2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <hurd.h>
-#include <hurd/signal.h>
-#include <hurd/threadvar.h>
-#include <hurd/msg.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-__sigreturn (struct sigcontext *scp)
-{
-  struct hurd_sigstate *ss;
-  mach_port_t *reply_port;
-
-  if (scp == NULL || (scp->sc_mask & _SIG_CANT_MASK))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-
-  ss = _hurd_self_sigstate ();
-  __spin_lock (&ss->lock);
-
-  /* Restore the set of blocked signals, and the intr_port slot.  */
-  ss->blocked = scp->sc_mask;
-  ss->intr_port = scp->sc_intr_port;
-
-  /* Check for pending signals that were blocked by the old set.  */
-  if (ss->pending & ~ss->blocked)
-    {
-      /* There are pending signals that just became unblocked.  Wake up the
-	 signal thread to deliver them.  But first, squirrel away SCP where
-	 the signal thread will notice it if it runs another handler, and
-	 arrange to have us called over again in the new reality.  */
-      ss->context = scp;
-      /* Clear the intr_port slot, since we are not in fact doing
-	 an interruptible RPC right now.  If SS->intr_port is not null,
-	 the SCP context is doing an interruptible RPC, but the signal
-	 thread will examine us while we are blocked in the sig_post RPC.  */
-      ss->intr_port = MACH_PORT_NULL;
-      __spin_unlock (&ss->lock);
-      __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ());
-      /* If a pending signal was handled, sig_post never returned.  */
-      __spin_lock (&ss->lock);
-    }
-
-  if (scp->sc_onstack)
-    {
-      ss->sigaltstack.ss_flags &= ~SS_ONSTACK; /* XXX threadvars */
-      /* XXX cannot unlock until off sigstack */
-      abort ();
-    }
-  else
-    __spin_unlock (&ss->lock);
-
-  /* Destroy the MiG reply port used by the signal handler, and restore the
-     reply port in use by the thread when interrupted.  */
-  reply_port =
-    (mach_port_t *) __hurd_threadvar_location (_HURD_THREADVAR_MIG_REPLY);
-  if (*reply_port)
-    __mach_port_destroy (__mach_task_self (), *reply_port);
-  *reply_port = scp->sc_reply_port;
-
-  if (scp->sc_used_fpa)
-    {
-      /* Restore FPU state.  */
-
-      /* Restore the floating-point control/status register.
-	 We must do this first because the compiler will need
-	 a temporary FP register for the load.  */
-      asm volatile ("mt_fpcr %0" : : "f" (scp->sc_fpcsr));
-
-      /* Restore floating-point registers. */
-#define restore_fpr(n) \
-  asm volatile ("ldt $f" #n ",%0" : : "m" (scp->sc_fpregs[n]))
-      restore_fpr (0);
-      restore_fpr (1);
-      restore_fpr (2);
-      restore_fpr (3);
-      restore_fpr (4);
-      restore_fpr (5);
-      restore_fpr (6);
-      restore_fpr (7);
-      restore_fpr (8);
-      restore_fpr (9);
-      restore_fpr (10);
-      restore_fpr (11);
-      restore_fpr (12);
-      restore_fpr (13);
-      restore_fpr (14);
-      restore_fpr (15);
-      restore_fpr (16);
-      restore_fpr (17);
-      restore_fpr (18);
-      restore_fpr (19);
-      restore_fpr (20);
-      restore_fpr (21);
-      restore_fpr (22);
-      restore_fpr (23);
-      restore_fpr (24);
-      restore_fpr (25);
-      restore_fpr (26);
-      restore_fpr (27);
-      restore_fpr (28);
-      restore_fpr (29);
-      restore_fpr (30);
-    }
-
-  /* Load all the registers from the sigcontext.  */
-#define restore_gpr(n) \
-  asm volatile ("ldq $" #n ",%0" : : "m" (scpreg->sc_regs[n]))
-
-  {
-    /* The `rei' PAL pseudo-instruction restores registers $2..$7, the PC
-       and processor status.  So we can use these few registers for our
-       working variables.  Unfortunately, it finds its data on the stack
-       and merely pops the SP ($30) over the words of state restored,
-       allowing no other option for the new SP value.  So we must push the
-       registers and PSW it will to restore, onto the user's stack and let
-       it pop them from there.  */
-    register const struct sigcontext *const scpreg asm ("$2") = scp;
-    register integer_t *usp asm ("$3") = (integer_t *) scpreg->sc_regs[30];
-    register integer_t usp_align asm ("$4");
-
-    /* Push an 8-word "trap frame" onto the user stack for `rei':
-       registers $2..$7, the PC, and the PSW.  */
-
-    register struct rei_frame
-      {
-	integer_t regs[5], pc, ps;
-      } *rei_frame asm ("$5");
-
-    usp -= 8;
-    /* `rei' demands that the stack be aligned to a 64 byte (8 word)
-       boundary; bits 61..56 of the PSW are OR'd back into the SP value
-       after popping the 8-word trap frame, so we store (sp % 64)
-       there and this restores the original user SP.  */
-    usp_align = (integer_t) usp & 63L;
-    rei_frame = (void *) ((integer_t) usp & ~63L);
-
-    /* Copy the registers and PC from the sigcontext.  */
-    memcpy (rei_frame->regs, &scpreg->sc_regs[2], sizeof rei_frame->regs);
-    rei_frame->pc = scpreg->sc_pc;
-
-    /* Compute the new PS value to be restored.  `rei' adds the value at
-       bits 61..56 to the SP to compensate for the alignment above that
-       cleared the low 6 bits; bits 5..3 are the new mode/privilege level
-       (must be >= current mode; 3 == user mode); bits 2..0 are "software",
-       unused by the processor or kernel (XXX should trampoline save these?
-       How?); in user mode, `rei' demands that all other bits be zero.  */
-    rei_frame->ps = (usp_align << 56) | (3 << 3); /* XXX low 3 bits??? */
-
-    /* Restore the other general registers: everything except $2..$7, which
-       are in the `rei' trap frame we set up above, and $30, which is the
-       SP which is popped by `rei'.  */
-    restore_gpr (1);
-    restore_gpr (8);
-    restore_gpr (9);
-    restore_gpr (10);
-    restore_gpr (11);
-    restore_gpr (12);
-    restore_gpr (13);
-    restore_gpr (14);
-    restore_gpr (15);
-    restore_gpr (16);
-    restore_gpr (17);
-    restore_gpr (18);
-    restore_gpr (19);
-    restore_gpr (20);
-    restore_gpr (21);
-    restore_gpr (22);
-    restore_gpr (23);
-    restore_gpr (24);
-    restore_gpr (25);
-    restore_gpr (26);
-    restore_gpr (27);
-    restore_gpr (28);
-    restore_gpr (29);
-
-    /* Switch the stack pointer to the trap frame set up on
-       the user stack and do the magical `rei' PAL call.  */
-    asm volatile ("mov %0, $30\n"
-		  "call_pal %1"
-		  : : "r" (rei_frame), "i" (63)); /* PAL_rti */
-    /* Firewall.  */
-    asm volatile ("halt");
-  }
-
-  /* NOTREACHED */
-  return -1;
-}
-
-weak_alias (__sigreturn, sigreturn)
diff --git a/sysdeps/mach/hurd/alpha/static-start.S b/sysdeps/mach/hurd/alpha/static-start.S
deleted file mode 100644
index a31d0d097a..0000000000
--- a/sysdeps/mach/hurd/alpha/static-start.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Startup code for statically linked Hurd/Alpha binaries.
-   Copyright (C) 2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-
-	.text
-	.align 3
-	.globl _start
-	.type _start,@function
-_start:
-	jsr	ra, _hurd_stack_setup
-
-#define _start _start1
-#include <sysdeps/alpha/elf/start.S>
diff --git a/sysdeps/mach/hurd/alpha/trampoline.c b/sysdeps/mach/hurd/alpha/trampoline.c
deleted file mode 100644
index 2360cbb469..0000000000
--- a/sysdeps/mach/hurd/alpha/trampoline.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/* Set thread_state for sighandler, and sigcontext to recover.  Alpha version.
-   Copyright (C) 1994,95,97,98,2002 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <hurd/signal.h>
-#include "thread_state.h"
-#include "hurdfault.h"
-#include <assert.h>
-
-struct mach_msg_trap_args
-  {
-    /* This is the order of arguments to mach_msg_trap.  */
-    mach_msg_header_t *msg;
-    mach_msg_option_t option;
-    mach_msg_size_t send_size;
-    mach_msg_size_t rcv_size;
-    mach_port_t rcv_name;
-    mach_msg_timeout_t timeout;
-    mach_port_t notify;
-  };
-
-
-struct sigcontext *
-_hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
-			int signo, struct hurd_signal_detail *detail,
-			int rpc_wait, struct machine_thread_all_state *state)
-{
-  __label__ trampoline, rpc_wait_trampoline;
-  void *sigsp;
-  struct sigcontext *scp;
-
-  if (ss->context)
-    {
-      /* We have a previous sigcontext that sigreturn was about
-	 to restore when another signal arrived.  We will just base
-	 our setup on that.  */
-      if (! _hurdsig_catch_memory_fault (ss->context))
-	{
-	  memcpy (&state->basic, &ss->context->sc_alpha_thread_state,
-		  sizeof (state->basic));
-	  memcpy (&state->exc, &ss->context->sc_alpha_exc_state,
-		  sizeof (state->exc));
-	  state->set = (1 << ALPHA_THREAD_STATE) | (1 << ALPHA_EXC_STATE);
-	  if (state->exc.used_fpa)
-	    {
-	      memcpy (&state->fpu, &ss->context->sc_alpha_float_state,
-		      sizeof (state->fpu));
-	      state->set |= (1 << ALPHA_FLOAT_STATE);
-	    }
-	  assert (! rpc_wait);
-	  /* The intr_port slot was cleared before sigreturn sent us the
-	     sig_post that made us notice this pending signal, so
-	     _hurd_internal_post_signal wouldn't do interrupt_operation.
-	     After we return, our caller will set SCP->sc_intr_port (in the
-	     new context) from SS->intr_port and clear SS->intr_port.  Now
-	     that we are restoring this old context recorded by sigreturn,
-	     we want to restore its intr_port too; so store it in
-	     SS->intr_port now, so it will end up in SCP->sc_intr_port
-	     later.  */
-	  ss->intr_port = ss->context->sc_intr_port;
-	}
-      _hurdsig_end_catch_fault ();
-
-      /* If the sigreturn context was bogus, just ignore it.  */
-      ss->context = NULL;
-    }
-  else if (! machine_get_basic_state (ss->thread, state))
-    return NULL;
-
-  if ((ss->actions[signo].sa_flags & SA_ONSTACK) &&
-      !(ss->sigaltstack.ss_flags & (SS_DISABLE|SS_ONSTACK)))
-    {
-      sigsp = ss->sigaltstack.ss_sp + ss->sigaltstack.ss_size;
-      ss->sigaltstack.ss_flags |= SS_ONSTACK;
-      /* XXX need to set up base of new stack for
-	 per-thread variables, cthreads.  */
-    }
-  else
-    sigsp = (char *) state->basic.SP;
-
-  /* Set up the sigcontext structure on the stack.  This is all the stack
-     needs, since the args are passed in registers (below).  */
-  sigsp -= sizeof (*scp);
-  scp = sigsp;
-
-  if (_hurdsig_catch_memory_fault (scp))
-    {
-      /* We got a fault trying to write the stack frame.
-	 We cannot set up the signal handler.
-	 Returning NULL tells our caller, who will nuke us with a SIGILL.  */
-      return NULL;
-    }
-  else
-    {
-      /* Set up the sigcontext from the current state of the thread.  */
-
-      scp->sc_onstack = ss->sigaltstack.ss_flags & SS_ONSTACK ? 1 : 0;
-
-      /* struct sigcontext is laid out so that starting at sc_regs
-	 mimics a struct alpha_thread_state.  */
-      memcpy (&scp->sc_alpha_thread_state,
-	      &state->basic, sizeof (state->basic));
-
-      /* struct sigcontext is laid out so that starting at sc_badvaddr
-	 mimics a struct mips_exc_state.  */
-      if (! machine_get_state (ss->thread, state, ALPHA_EXC_STATE,
-			       &state->exc, &scp->sc_alpha_exc_state,
-			       sizeof (state->exc)))
-	return NULL;
-
-      if (state->exc.used_fpa &&
-	  /* struct sigcontext is laid out so that starting at sc_fpregs
-	     mimics a struct alpha_float_state.  This state
-	     is only meaningful if the coprocessor was used.  */
-	  ! machine_get_state (ss->thread, state, ALPHA_FLOAT_STATE,
-			       &state->fpu,
-			       &scp->sc_alpha_float_state,
-			       sizeof (state->fpu)))
-	return NULL;
-
-      _hurdsig_end_catch_fault ();
-    }
-
-  /* Modify the thread state to call the trampoline code on the new stack.  */
-  if (rpc_wait)
-    {
-      /* The signalee thread was blocked in a mach_msg_trap system call,
-	 still waiting for a reply.  We will have it run the special
-	 trampoline code which retries the message receive before running
-	 the signal handler.
-
-	 To do this we change the OPTION argument in its registers to
-	 enable only message reception, since the request message has
-	 already been sent.  */
-
-      /* The system call arguments are stored in consecutive registers
-	 starting with a0 ($16).  */
-      struct mach_msg_trap_args *args = (void *) &state->basic.r16;
-
-      assert (args->option & MACH_RCV_MSG);
-      /* Disable the message-send, since it has already completed.  The
-	 calls we retry need only wait to receive the reply message.  */
-      args->option &= ~MACH_SEND_MSG;
-
-      /* Limit the time to receive the reply message, in case the server
-	 claimed that `interrupt_operation' succeeded but in fact the RPC
-	 is hung.  */
-      args->option |= MACH_RCV_TIMEOUT;
-      args->timeout = _hurd_interrupted_rpc_timeout;
-
-      state->basic.pc = (long int) &&rpc_wait_trampoline;
-      /* After doing the message receive, the trampoline code will need to
-	 update the v0 ($0) value to be restored by sigreturn.  To simplify
-	 the assembly code, we pass the address of its slot in SCP to the
-	 trampoline code in at ($28).  */
-      state->basic.r28 = (long int) &scp->sc_regs[0];
-      /* We must preserve the mach_msg_trap args in a0..a5 and t0
-	 ($16..$21, $1).  Pass the handler args to the trampoline code in
-	 t8..t10 ($22.$24).  */
-      state->basic.r22 = signo;
-      state->basic.r23 = detail->code;
-      state->basic.r24 = (long int) scp;
-    }
-  else
-    {
-      state->basic.pc = (long int) &&trampoline;
-      state->basic.r16 = signo;
-      state->basic.r17 = detail->code;
-      state->basic.r18 = (long int) scp;
-    }
-
-  state->basic.r30 = (long int) sigsp; /* $30 is the stack pointer.  */
-
-  /* We pass the handler function to the trampoline code in ra ($26).  */
-  state->basic.r26 = (long int) handler;
-  /* In the callee-saved register t12/pv ($27), we store the
-     address of __sigreturn itself, for the trampoline code to use.  */
-  state->basic.r27 = (long int) &__sigreturn;
-  /* In the callee-saved register t11/ai ($25), we save the SCP value to pass
-     to __sigreturn after the handler returns.  */
-  state->basic.r25 = (long int) scp;
-
-  return scp;
-
-  /* The trampoline code follows.  This is not actually executed as part of
-     this function, it is just convenient to write it that way.  */
-
- rpc_wait_trampoline:
-  /* This is the entry point when we have an RPC reply message to receive
-     before running the handler.  The MACH_MSG_SEND bit has already been
-     cleared in the OPTION argument in our registers.  For our convenience,
-     at ($28) points to the sc_regs[0] member of the sigcontext (saved v0
-     ($0)).  */
-  asm volatile
-    (/* Retry the interrupted mach_msg system call.  */
-     "lda $0, -25($31)\n"	/* mach_msg_trap */
-     "callsys\n"		/* Magic system call instruction.  */
-     /* When the sigcontext was saved, v0 was MACH_RCV_INTERRUPTED.  But
-	now the message receive has completed and the original caller of
-	the RPC (i.e. the code running when the signal arrived) needs to
-	see the final return value of the message receive in v0.  So
-	store the new v0 value into the sc_regs[0] member of the sigcontext
-	(whose address is in at to make this code simpler).  */
-     "stq $0, 0($28)\n"
-     /* Since the argument registers needed to have the mach_msg_trap
-	arguments, we've stored the arguments to the handler function
-	in registers t8..t10 ($22..$24).  */
-     "mov $22, $16\n"
-     "mov $23, $17\n"
-     "mov $24, $18\n");
-
- trampoline:
-  /* Entry point for running the handler normally.  The arguments to the
-     handler function are already in the standard registers:
-
-       a0	SIGNO
-       a1	SIGCODE
-       a2	SCP
-
-     t12 also contains SCP; this value is callee-saved (and so should not get
-     clobbered by running the handler).  We use this saved value to pass to
-     __sigreturn, so the handler can clobber the argument registers if it
-     likes.  */
-  /* Call the handler function, saving return address in ra ($26).  */
-  asm volatile ("jsr $26, ($26)");
-  /* Reset gp ($29) from the return address (here) in ra ($26).  */
-  asm volatile ("ldgp $29, 0($26)");
-  asm volatile ("mov $25, $16"); /* Move saved SCP to argument register.  */
-  /* Call __sigreturn (SCP); this cannot return.  */
-  asm volatile ("jmp $31, ($27)");
-
-  /* NOTREACHED */
-  return NULL;
-}
diff --git a/sysdeps/mach/strerror_l.c b/sysdeps/mach/strerror_l.c
new file mode 100644
index 0000000000..ccd3bad7ed
--- /dev/null
+++ b/sysdeps/mach/strerror_l.c
@@ -0,0 +1,102 @@
+/* strerror_l - Get errno description string in given locale.  Mach version.
+   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <libintl.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <mach/error.h>
+#include <errorlib.h>
+#include <sys/param.h>
+
+
+static __thread char *last_value;
+
+
+static const char *
+translate (const char *str, locale_t loc)
+{
+  locale_t oldloc = __uselocale (loc);
+  const char *res = _(str);
+  __uselocale (oldloc);
+  return res;
+}
+
+
+/* Return a string describing the errno code in ERRNUM.  */
+char *
+strerror_l (int errnum, locale_t loc)
+{
+  int system;
+  int sub;
+  int code;
+  const struct error_system *es;
+  extern void __mach_error_map_compat (int *);
+
+  __mach_error_map_compat (&errnum);
+
+  system = err_get_system (errnum);
+  sub = err_get_sub (errnum);
+  code = err_get_code (errnum);
+
+  if (system > err_max_system || ! __mach_error_systems[system].bad_sub)
+    {
+      free (last_value);
+      if (__asprintf (&last_value, "%s%X",
+		      translate ("Error in unknown error system: ", loc),
+		      errnum) == -1)
+	last_value = NULL;
+
+      return last_value;
+    }
+
+  es = &__mach_error_systems[system];
+
+  if (sub >= es->max_sub)
+    return (char *) translate (es->bad_sub, loc);
+
+  if (code >= es->subsystem[sub].max_code)
+    {
+      free (last_value);
+      if (__asprintf (&last_value, "%s%s %d",
+		      translate ("Unknown error ", loc),
+		      translate (es->subsystem[sub].subsys_name, loc),
+		      errnum) == -1)
+	last_value = NULL;
+
+      return last_value;
+    }
+
+  return (char *) translate (es->subsystem[sub].codes[code], loc);
+}
+
+
+#ifdef _LIBC
+# ifdef _LIBC_REENTRANT
+/* This is called when a thread is exiting to free the last_value string.  */
+static void __attribute__ ((section ("__libc_thread_freeres_fn")))
+strerror_thread_freeres (void)
+{
+  free (last_value);
+}
+text_set_element (__libc_thread_subfreeres, strerror_thread_freeres);
+text_set_element (__libc_subfreeres, strerror_thread_freeres);
+# endif
+#endif
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 97f3af9938..d346c621fb 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -714,6 +714,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
 		      status = DL_CALL_FCT (fct4, (name, pat, tmpbuf,
 						   tmpbuflen, &rc, &herrno,
 						   NULL));
+		      if (status == NSS_STATUS_SUCCESS)
+			break;
 		      if (status != NSS_STATUS_TRYAGAIN
 			  || rc != ERANGE || herrno != NETDB_INTERNAL)
 			{
@@ -733,6 +735,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
 					      tmpbuflen, 2 * tmpbuflen);
 		    }
 
+		  no_inet6_data = no_data;
+
 		  if (status == NSS_STATUS_SUCCESS)
 		    {
 		      if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL)
@@ -2108,7 +2112,7 @@ getaddrinfo (const char *name, const char *service,
 	{
 	  /* If we haven't seen both IPv4 and IPv6 interfaces we can
 	     narrow down the search.  */
-	  if (! seen_ipv4 || ! seen_ipv6)
+	  if ((! seen_ipv4 || ! seen_ipv6) && (seen_ipv4 || seen_ipv6))
 	    {
 	      local_hints = *hints;
 	      local_hints.ai_family = seen_ipv4 ? PF_INET : PF_INET6;
diff --git a/sysdeps/powerpc/fpu/Makefile b/sysdeps/powerpc/fpu/Makefile
index ce67ff87df..ffacf1a754 100644
--- a/sysdeps/powerpc/fpu/Makefile
+++ b/sysdeps/powerpc/fpu/Makefile
@@ -5,3 +5,7 @@ libm-tests += test-powerpc-snan
 # libm needs ld.so to access dl_hwcap
 $(objpfx)libm.so: $(elfobjdir)/ld.so
 endif
+
+ifeq ($(subdir),stdlib)
+tests += tst-setcontext-fpscr
+endif
diff --git a/sysdeps/powerpc/fpu/feholdexcpt.c b/sysdeps/powerpc/fpu/feholdexcpt.c
index c9432248db..b74b18aded 100644
--- a/sysdeps/powerpc/fpu/feholdexcpt.c
+++ b/sysdeps/powerpc/fpu/feholdexcpt.c
@@ -1,5 +1,5 @@
 /* Store current floating-point environment and clear exceptions.
-   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,8 @@
    02111-1307 USA.  */
 
 #include <fenv_libc.h>
+#include <fpu_control.h>
+#define _FPU_MASK_ALL (_FPU_MASK_ZM | _FPU_MASK_OM | _FPU_MASK_UM | _FPU_MASK_XM | _FPU_MASK_IM)
 
 int
 feholdexcept (fenv_t *envp)
@@ -35,7 +37,7 @@ feholdexcept (fenv_t *envp)
   /* If the old env had any eabled exceptions, then mask SIGFPE in the
      MSR FE0/FE1 bits.  This may allow the FPU to run faster because it
      always takes the default action and can not generate SIGFPE. */
-  if ((old.l[1] & 0x000000F8) != 0)
+  if ((old.l[1] & _FPU_MASK_ALL) != 0)
     (void)__fe_mask_env ();
 
   /* Put the new state in effect.  */
diff --git a/sysdeps/powerpc/fpu/fenv_libc.h b/sysdeps/powerpc/fpu/fenv_libc.h
index 6f116b60d5..c70f85130d 100644
--- a/sysdeps/powerpc/fpu/fenv_libc.h
+++ b/sysdeps/powerpc/fpu/fenv_libc.h
@@ -21,6 +21,8 @@
 #define _FENV_LIBC_H	1
 
 #include <fenv.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
 
 libm_hidden_proto (__fe_nomask_env)
 
@@ -34,7 +36,13 @@ libm_hidden_proto (__fe_nomask_env)
 
 /* Equivalent to fesetenv, but takes a fenv_t instead of a pointer.  */
 #define fesetenv_register(env) \
-        ({ double d = (env); asm volatile ("mtfsf 0xff,%0" : : "f" (d)); })
+	do { \
+	  double d = (env); \
+	  if(GLRO(dl_hwcap) & PPC_FEATURE_HAS_DFP) \
+	    asm volatile ("mtfsf 0xff,%0,1,0" : : "f" (d)); \
+	  else \
+	    asm volatile ("mtfsf 0xff,%0" : : "f" (d)); \
+	} while(0)
 
 /* This very handy macro:
    - Sets the rounding mode to 'round to nearest';
@@ -42,7 +50,12 @@ libm_hidden_proto (__fe_nomask_env)
    - Prevents exceptions from being raised for inexact results.
    These things happen to be exactly what you need for typical elementary
    functions.  */
-#define relax_fenv_state() asm ("mtfsfi 7,0")
+#define relax_fenv_state() \
+	do { \
+	   if(GLRO(dl_hwcap) & PPC_FEATURE_HAS_DFP) \
+	       asm ("mtfsfi 7,0,1"); \
+	   asm ("mtfsfi 7,0"); \
+	} while(0)
 
 /* Set/clear a particular FPSCR bit (for instance,
    reset_fpscr_bit(FPSCR_VE);
@@ -122,10 +135,19 @@ enum {
   FPSCR_UE,        /* underflow exception enable */
   FPSCR_ZE,        /* zero divide exception enable */
   FPSCR_XE,        /* inexact exception enable */
+#ifdef _ARCH_PWR6
+  FPSCR_29,        /* Reserved in ISA 2.05  */
+#else
   FPSCR_NI         /* non-IEEE mode (typically, no denormalised numbers) */
+#endif /* _ARCH_PWR6 */
   /* the remaining two least-significant bits keep the rounding mode */
 };
 
+#ifdef _ARCH_PWR6
+  /* Not supported in ISA 2.05.  Provided for source compat only.  */
+# define FPSCR_NI 29
+#endif /* _ARCH_PWR6 */
+
 /* This operation (i) sets the appropriate FPSCR bits for its
    parameter, (ii) converts SNaN to the corresponding NaN, and (iii)
    otherwise passes its parameter through unchanged (in particular, -0
diff --git a/sysdeps/powerpc/fpu/fesetenv.c b/sysdeps/powerpc/fpu/fesetenv.c
index 5a0c742ffe..fa81d78211 100644
--- a/sysdeps/powerpc/fpu/fesetenv.c
+++ b/sysdeps/powerpc/fpu/fesetenv.c
@@ -1,5 +1,6 @@
 /* Install given floating-point environment.
-   Copyright (C) 1997,99,2000,01,02,07 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2001, 2007, 2008
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,8 +19,11 @@
    02111-1307 USA.  */
 
 #include <fenv_libc.h>
+#include <fpu_control.h>
 #include <bp-sym.h>
 
+#define _FPU_MASK_ALL (_FPU_MASK_ZM | _FPU_MASK_OM | _FPU_MASK_UM | _FPU_MASK_XM | _FPU_MASK_IM)
+
 int
 __fesetenv (const fenv_t *envp)
 {
@@ -29,18 +33,18 @@ __fesetenv (const fenv_t *envp)
   new.fenv = *envp;
   old.fenv = fegetenv_register ();
   
-  /* If the old env has no eabled exceptions and the new env has any enabled
-     exceptions, then unmask SIGFPE in the MSR FE0/FE1 bits.  This will put
-     the hardware into "precise mode" and may cause the FPU to run slower on
-     some hardware.  */
-  if ((old.l[1] & 0x000000F8) == 0 && (new.l[1] & 0x000000F8) != 0)
+  /* If the old env has no enabled exceptions and the new env has any enabled
+     exceptions, then unmask SIGFPE in the MSR FE0/FE1 bits.  This will put the
+     hardware into "precise mode" and may cause the FPU to run slower on some
+     hardware.  */
+  if ((old.l[1] & _FPU_MASK_ALL) == 0 && (new.l[1] & _FPU_MASK_ALL) != 0)
     (void)__fe_nomask_env ();
   
-  /* If the old env had any eabled exceptions and the new env has no enabled
+  /* If the old env had any enabled exceptions and the new env has no enabled
      exceptions, then mask SIGFPE in the MSR FE0/FE1 bits.  This may allow the
      FPU to run faster because it always takes the default action and can not 
      generate SIGFPE. */
-  if ((old.l[1] & 0x000000F8) != 0 && (new.l[1] & 0x000000F8) == 0)
+  if ((old.l[1] & _FPU_MASK_ALL) != 0 && (new.l[1] & _FPU_MASK_ALL) == 0)
     (void)__fe_mask_env ();
     
   fesetenv_register (*envp);
diff --git a/sysdeps/powerpc/fpu/feupdateenv.c b/sysdeps/powerpc/fpu/feupdateenv.c
index 5a4000f599..5fca301fe5 100644
--- a/sysdeps/powerpc/fpu/feupdateenv.c
+++ b/sysdeps/powerpc/fpu/feupdateenv.c
@@ -1,5 +1,6 @@
 /* Install given floating-point environment and raise exceptions.
-   Copyright (C) 1997,99,2000,01,07 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2001, 2007, 2008
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -19,8 +20,11 @@
    02111-1307 USA.  */
 
 #include <fenv_libc.h>
+#include <fpu_control.h>
 #include <bp-sym.h>
 
+#define _FPU_MASK_ALL (_FPU_MASK_ZM | _FPU_MASK_OM | _FPU_MASK_UM | _FPU_MASK_XM | _FPU_MASK_IM)
+
 int
 __feupdateenv (const fenv_t *envp)
 {
@@ -39,14 +43,14 @@ __feupdateenv (const fenv_t *envp)
      exceptions, then unmask SIGFPE in the MSR FE0/FE1 bits.  This will put
      the hardware into "precise mode" and may cause the FPU to run slower on
      some hardware.  */
-  if ((old.l[1] & 0x000000F8) == 0 && (new.l[1] & 0x000000F8) != 0)
+  if ((old.l[1] & _FPU_MASK_ALL) == 0 && (new.l[1] & _FPU_MASK_ALL) != 0)
     (void)__fe_nomask_env ();
   
   /* If the old env had any eabled exceptions and the new env has no enabled
      exceptions, then mask SIGFPE in the MSR FE0/FE1 bits.  This may allow the
      FPU to run faster because it always takes the default action and can not 
      generate SIGFPE. */
-  if ((old.l[1] & 0x000000F8) != 0 && (new.l[1] & 0x000000F8) == 0)
+  if ((old.l[1] & _FPU_MASK_ALL) != 0 && (new.l[1] & _FPU_MASK_ALL) == 0)
     (void)__fe_mask_env ();
 
   /* Atomically enable and raise (if appropriate) exceptions set in `new'. */
diff --git a/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c b/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
new file mode 100644
index 0000000000..973fb3f77a
--- /dev/null
+++ b/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
@@ -0,0 +1,358 @@
+/* Copyright (C) 2001,2002,2004,2006,2007,2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ryan S. Arnold <rsa@us.ibm.com>
+                  Sean Curry <spcurry@us.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, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ucontext.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <link.h>
+#include <elf.h>
+#include <sysdep.h>
+#include <fpu_control.h>
+
+static ucontext_t ctx[3];
+
+
+volatile int global;
+
+
+static int back_in_main;
+
+
+volatile static ElfW(auxv_t) *auxv = NULL;
+
+ElfW(Addr) query_auxv(int type)
+{
+  FILE *auxv_f;
+  ElfW(auxv_t) auxv_struct;
+  ElfW(auxv_t) *auxv_temp;
+  int i = 0;
+
+  /* if the /proc/self/auxv file has not been manually copied into the heap
+     yet, then do it */
+
+  if(auxv == NULL)
+    {
+      auxv_f = fopen("/proc/self/auxv", "r");
+
+      if(auxv_f == 0)
+	{
+	  perror("Error opening file for reading");
+	  return 0;
+	}
+      auxv = (ElfW(auxv_t) *)malloc(getpagesize());
+
+      do
+	{
+	  fread(&auxv_struct, sizeof(ElfW(auxv_t)), 1, auxv_f);
+	  auxv[i] = auxv_struct;
+	  i++;
+	} while(auxv_struct.a_type != AT_NULL);
+    }
+
+  auxv_temp = (ElfW(auxv_t) *)auxv;
+  i = 0;
+  do
+    {
+      if(auxv_temp[i].a_type == type)
+	{
+	  return auxv_temp[i].a_un.a_val;
+	}
+      i++;
+    } while (auxv_temp[i].a_type != AT_NULL);
+
+  return 0;
+}
+
+typedef unsigned long long di_fpscr_t __attribute__ ((__mode__ (__DI__)));
+typedef unsigned int si_fpscr_t __attribute__ ((__mode__ (__SI__)));
+
+#define _FPSCR_RESERVED 0xfffffff8ffffff04ULL
+
+#define _FPSCR_TEST0_DRN 0x0000000400000000ULL
+#define _FPSCR_TEST0_RN  0x0000000000000003ULL
+
+#define _FPSCR_TEST1_DRN 0x0000000300000000ULL
+#define _FPSCR_TEST1_RN  0x0000000000000002ULL
+
+/* Macros for accessing the hardware control word on Power6[x].  */
+# define _GET_DI_FPSCR(__fpscr) ({					     \
+   union { double d;							     \
+           di_fpscr_t fpscr; }						     \
+     tmp __attribute__ ((__aligned__(8)));				     \
+   __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0");		     \
+   (__fpscr)=tmp.fpscr;							     \
+   tmp.fpscr; })
+
+# define _SET_DI_FPSCR(__fpscr) {					     \
+  union { double d; di_fpscr_t fpscr; }					     \
+    tmp __attribute__ ((__aligned__(8)));				     \
+  tmp.fpscr = __fpscr;							     \
+  /* Set the entire 64-bit FPSCR.  */					     \
+  __asm__ ("lfd%U0 0,%0; mtfsf 255,0,1,0" : : "m" (tmp.d) : "fr0");	     \
+}
+
+# define _GET_SI_FPSCR(__fpscr) ({					     \
+   union { double d;							     \
+           si_fpscr_t cw[2]; }						     \
+     tmp __attribute__ ((__aligned__(8)));				     \
+   __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0");		     \
+   (__fpscr)=tmp.cw[1];							     \
+   tmp.cw[0]; })
+
+# define _SET_SI_FPSCR(__fpscr) {					     \
+  union { double d; si_fpscr_t fpscr[2]; }				     \
+    tmp __attribute__ ((__aligned__(8)));				     \
+  /* More-or-less arbitrary; this is a QNaN. */				     \
+  tmp.fpscr[0] = 0xFFF80000;						     \
+  tmp.fpscr[1] = __fpscr;						     \
+  __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0");		     \
+}
+
+void prime_special_regs(int which)
+{
+  ElfW(Addr) a_val;
+
+  di_fpscr_t di_fpscr __attribute__ ((__aligned__(8)));
+
+  a_val = query_auxv(AT_HWCAP);
+  if(a_val == -1)
+    {
+      puts ("querying the auxv for the hwcap failed");
+      _exit (1);
+    }
+
+  /* Indicates a 64-bit FPSCR.  */
+  if (a_val & PPC_FEATURE_HAS_DFP)
+    {
+      _GET_DI_FPSCR(di_fpscr);
+
+      /* Overwrite the existing DRN and RN if there is one.  */
+      if (which == 0)
+        di_fpscr = ((di_fpscr & _FPSCR_RESERVED) | (_FPSCR_TEST0_DRN | _FPSCR_TEST0_RN));
+      else
+        di_fpscr = ((di_fpscr & _FPSCR_RESERVED) | (_FPSCR_TEST1_DRN | _FPSCR_TEST1_RN));
+      puts ("Priming 64-bit FPSCR with:");
+      printf("0x%.16llx\n",(unsigned long long int)di_fpscr);
+
+      _SET_DI_FPSCR(di_fpscr);
+    }
+  else
+    {
+      puts ("32-bit FPSCR found and will be tested.");
+      _GET_SI_FPSCR(di_fpscr);
+
+      /* Overwrite the existing RN if there is one.  */
+      if (which == 0)
+        di_fpscr = ((di_fpscr & _FPSCR_RESERVED) | (_FPSCR_TEST0_RN));
+      else
+        di_fpscr = ((di_fpscr & _FPSCR_RESERVED) | (_FPSCR_TEST1_RN));
+      puts ("Priming 32-bit FPSCR with:");
+      printf("0x%.8lx\n",(unsigned long int) di_fpscr);
+
+      _SET_SI_FPSCR(di_fpscr);
+    }
+}
+
+void clear_special_regs(void)
+{
+  ElfW(Addr) a_val;
+
+  di_fpscr_t di_fpscr __attribute__ ((__aligned__(8)));
+
+  union {
+	  double d;
+	  unsigned long long int lli;
+	  unsigned int li[2];
+  } dlli;
+
+  a_val = query_auxv(AT_HWCAP);
+  if(a_val == -1)
+    {
+      puts ("querying the auxv for the hwcap failed");
+      _exit (1);
+    }
+
+#if __WORDSIZE == 32
+  dlli.d = ctx[0].uc_mcontext.uc_regs->fpregs.fpscr;
+#else
+  dlli.d = ctx[0].uc_mcontext.fp_regs[32];
+#endif
+
+  puts("The FPSCR value saved in the ucontext_t is:");
+
+  /* Indicates a 64-bit FPSCR.  */
+  if (a_val & PPC_FEATURE_HAS_DFP)
+    {
+      printf("0x%.16llx\n",dlli.lli);
+      di_fpscr = 0x0;
+      puts ("Clearing the 64-bit FPSCR to:");
+      printf("0x%.16llx\n",(unsigned long long int) di_fpscr);
+
+      _SET_DI_FPSCR(di_fpscr);
+    }
+  else
+    {
+      printf("0x%.8x\n",(unsigned int) dlli.li[1]);
+      di_fpscr = 0x0;
+      puts ("Clearing the 32-bit FPSCR to:");
+      printf("0x%.8lx\n",(unsigned long int) di_fpscr);
+
+      _SET_SI_FPSCR(di_fpscr);
+    }
+}
+
+void test_special_regs(int which)
+{
+  ElfW(Addr) a_val;
+  unsigned long long int test;
+
+  di_fpscr_t di_fpscr __attribute__ ((__aligned__(8)));
+
+  a_val = query_auxv(AT_HWCAP);
+  if(a_val == -1)
+    {
+      puts ("querying the auxv for the hwcap failed");
+      _exit (2);
+    }
+
+  /* Indicates a 64-bit FPSCR.  */
+  if (a_val & PPC_FEATURE_HAS_DFP)
+    {
+      _GET_DI_FPSCR(di_fpscr);
+
+      if (which == 0)
+	puts ("After setcontext the 64-bit FPSCR contains:");
+      else
+	puts ("After swapcontext the 64-bit FPSCR contains:");
+
+      printf("0x%.16llx\n",(unsigned long long int) di_fpscr);
+      test = (_FPSCR_TEST0_DRN | _FPSCR_TEST0_RN);
+      if((di_fpscr & (test)) != (test))
+        {
+	  printf ("%s: DRN and RN bits set before getcontext were not preserved across [set|swap]context call: %m",__FUNCTION__);
+	  _exit (3);
+        }
+    }
+  else
+    {
+      _GET_SI_FPSCR(di_fpscr);
+      if (which == 0)
+	puts ("After setcontext the 32-bit FPSCR contains:");
+      else
+	puts ("After swapcontext the 32-bit FPSCR contains:");
+
+      printf("0x%.8lx\n",(unsigned long int) di_fpscr);
+      test = _FPSCR_TEST0_RN;
+      if((di_fpscr & test) != test)
+        {
+	  printf ("%s: RN bit set before getcontext was not preserved across [set|swap]context call: %m",__FUNCTION__);
+	  _exit (4);
+        }
+    }
+}
+
+
+static void
+check_called (void)
+{
+  if (back_in_main == 0)
+    {
+      puts ("program did not reach main again");
+      _exit (5);
+    }
+}
+
+
+int
+main (void)
+{
+  atexit (check_called);
+
+  puts ("priming the FPSCR with a marker");
+  prime_special_regs (0);
+
+  puts ("making contexts");
+  if (getcontext (&ctx[0]) != 0)
+    {
+      if (errno == ENOSYS)
+	{
+	  back_in_main = 1;
+	  exit (0);
+	}
+
+      printf ("%s: getcontext: %m\n", __FUNCTION__);
+      exit (6);
+    }
+
+  /* Play some tricks with this context.  */
+  if (++global == 1)
+    {
+    clear_special_regs ( );
+    if (setcontext (&ctx[0]) != 0)
+      {
+	printf ("%s: setcontext: %m\n", __FUNCTION__);
+	exit (7);
+      }
+    }
+  if (global != 2)
+    {
+      printf ("%s: 'global' not incremented twice\n", __FUNCTION__);
+      exit (8);
+    }
+
+  test_special_regs (0);
+
+  global = 0;
+  if (getcontext (&ctx[0]) != 0)
+    {
+      printf ("%s: getcontext: %m\n", __FUNCTION__);
+      exit (9);
+    }
+
+  if (++global == 1)
+    {
+      puts ("priming the FPSCR with a marker");
+      prime_special_regs (1);
+
+      puts ("swapping contexts");
+      if (swapcontext (&ctx[1], &ctx[0]) != 0)
+        {
+          printf ("%s: swapcontext: %m\n", __FUNCTION__);
+          exit (9);
+        }
+    }
+  if (global != 2)
+    {
+      printf ("%s: 'global' not incremented twice\n", __FUNCTION__);
+      exit (10);
+    }
+
+  test_special_regs (1);
+
+  puts ("back at main program");
+  back_in_main = 1;
+
+  puts ("test succeeded");
+  return 0;
+}
diff --git a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
index 404f403855..7c6e27c209 100644
--- a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
@@ -47,16 +47,16 @@ ENTRY (BP_SYM (__longjmp))
 	lwz     r5,_rtld_global_ro@got(r5)
 	mtlr    r6
 	cfi_same_value (lr)
-	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r5)
 #  else
 	lwz     r5,_dl_hwcap@got(r5)
 	mtlr    r6
 	cfi_same_value (lr)
-	lwz     r5,0(r5)
+	lwz     r5,4(r5)
 #  endif
 # else
-	lis	r5,_dl_hwcap@ha
-	lwz     r5,_dl_hwcap@l(r5)
+	lis	r5,(_dl_hwcap+4)@ha
+	lwz     r5,(_dl_hwcap+4)@l(r5)
 # endif
 	andis.	r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
 	beq	L(no_vmx)
diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
index 851480d2ef..b7d1abc00d 100644
--- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
@@ -98,14 +98,14 @@ ENTRY (BP_SYM (__sigsetjmp))
 	cfi_same_value (lr)
 #  ifdef SHARED
 	lwz     r5,_rtld_global_ro@got(r5)
-	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
+	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r5)
 #  else
 	lwz     r5,_dl_hwcap@got(r5)
-	lwz     r5,0(r5)
+	lwz     r5,4(r5)
 #  endif
 # else
-	lis	r6,_dl_hwcap@ha
-	lwz     r5,_dl_hwcap@l(r6)
+	lis	r6,(_dl_hwcap+4)@ha
+	lwz     r5,(_dl_hwcap+4)@l(r6)
 # endif
 	andis.	r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
 	beq	L(no_vmx)
diff --git a/sysdeps/unix/alpha/Makefile b/sysdeps/unix/alpha/Makefile
deleted file mode 100644
index 441aa02a83..0000000000
--- a/sysdeps/unix/alpha/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifeq ($(subdir),rt)
-librt-sysdep_routines += rt-sysdep
-endif
diff --git a/sysdeps/unix/alpha/pipe.S b/sysdeps/unix/alpha/pipe.S
deleted file mode 100644
index 2da4d78abd..0000000000
--- a/sysdeps/unix/alpha/pipe.S
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997, 2002 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* __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/sysdeps/unix/alpha/rt-sysdep.S b/sysdeps/unix/alpha/rt-sysdep.S
deleted file mode 100644
index f966bf1e59..0000000000
--- a/sysdeps/unix/alpha/rt-sysdep.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdep.S>
diff --git a/sysdeps/unix/alpha/sysdep.S b/sysdeps/unix/alpha/sysdep.S
deleted file mode 100644
index c67a6542f6..0000000000
--- a/sysdeps/unix/alpha/sysdep.S
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright (C) 1993, 1996, 1998, 2002, 2003, 2004
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include <features.h>
-
-#if defined(__ELF__) && 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
-
-#ifdef PIC
-	/* 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.  Do both.  */
-# define LOADGP		br pv, 1f; 1: ldgp gp, 0(pv)
-# define PROLOGUE	.prologue 0
-# define EPILOGUE
-#else
-	/* When building the static library, we tail call here from
-	   elsewhere, which might use a different GP.  The entertaining
-	   part is that we have to return with the GP of our caller
-	   in place, so that linker relaxation works properly.  */
-	/* ??? This is so ugly.  Consider always putting the errno
-	   setting code with the syscall in the static case.  */
-# define GPSAVEREG	t10
-# define LOADGP		ldah	t11, 0(pv) !gpdisp!1;		\
-			br	1f;				\
-			.subsection 2;				\
-			1: mov	gp, GPSAVEREG;			\
-			lda	gp, 0(t11) !gpdisp!1;		\
-			br	2f;				\
-			.previous;				\
-			mov	gp, GPSAVEREG;			\
-			2:
-# define PROLOGUE	.prologue 1
-# define EPILOGUE	mov	GPSAVEREG, gp
-#endif
-
-	.align 4
-	.globl __syscall_error
-	.ent __syscall_error
-__syscall_error:
-
-#if defined(_LIBC_REENTRANT) && USE___THREAD
-
-#ifndef NOT_IN_libc
-# define SYSCALL_ERROR_ERRNO __libc_errno
-#else
-# define SYSCALL_ERROR_ERRNO errno
-#endif
-
-	LOADGP
-	PROLOGUE
-	mov	v0, t0
-	call_pal PAL_rduniq
-	ldq	t1, SYSCALL_ERROR_ERRNO(gp) !gottprel
-	addq	v0, t1, v0
-	stl	t0, 0(v0)
-	lda	v0, -1
-	EPILOGUE
-	ret
-
-#elif defined(_LIBC_REENTRANT)
-
-	LOADGP
-	lda	sp, -32(sp)
-	.frame	sp, 32, ra, 0
-	stq	ra, 0(sp)
-	stq	v0, 8(sp)
-#ifdef GPSAVEREG
-	stq	GPSAVEREG, 16(sp)
-#endif
-	.mask	0x4000001, -32
-	PROLOGUE
-
-	/* Find our per-thread errno address  */
-#if defined PIC && !defined IS_IN_librt
-	bsr	ra, __errno_location	!samegp
-#else
-	jsr	ra, __errno_location
-#ifndef GPSAVEREG
-	ldgp	gp, 0(ra)
-#endif
-#endif
-
-	/* Store the error value.  */
-	ldq	t0, 8(sp)
-	stl	t0, 0(v0)
-
-	/* And kick back a -1.  */
-	ldi	v0, -1
-
-#ifdef GPSAVEREG
-	ldq	GPSAVEREG, 16(sp)
-#endif
-	ldq	ra, 0(sp)
-	lda	sp, 32(sp)
-	EPILOGUE
-	ret
-
-#else
-
-	LOADGP
-	PROLOGUE
-	stl	v0, errno
-	lda	v0, -1
-	EPILOGUE
-	ret
-
-#endif
-
-	.subsection 3
-	.end __syscall_error
diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h
deleted file mode 100644
index 2e5bc798eb..0000000000
--- a/sysdeps/unix/alpha/sysdep.h
+++ /dev/null
@@ -1,438 +0,0 @@
-/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004, 2006
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdeps/unix/sysdep.h>
-
-#ifdef __ASSEMBLER__
-
-#ifdef __linux__
-# include <alpha/regdef.h>
-#else
-# include <regdef.h>
-#endif
-
-#include <tls.h>		/* Defines USE___THREAD.  */
-
-#ifdef IS_IN_rtld
-# include <dl-sysdep.h>         /* Defines RTLD_PRIVATE_ERRNO.  */
-#endif
-
-
-#ifdef __STDC__
-#define __LABEL(x)	x##:
-#else
-#define __LABEL(x)	x/**/:
-#endif
-
-#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_PROLOGUE			\
-	.frame sp, 0, ra;			\
-	ldgp	gp,0(pv);			\
-	.set noat;				\
-	lda	AT,_mcount;			\
-	jsr	AT,(AT),_mcount;		\
-	.set at;				\
-	.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 */
-
-#if RTLD_PRIVATE_ERRNO
-# define SYSCALL_ERROR_LABEL	$syscall_error
-# define SYSCALL_ERROR_HANDLER			\
-	stl	v0, rtld_errno(gp)	!gprel;	\
-	lda	v0, -1;				\
-	ret
-#elif defined(PIC)
-# define SYSCALL_ERROR_LABEL	__syscall_error
-# define SYSCALL_ERROR_HANDLER \
-	br	$31, __syscall_error !samegp
-#else
-# define SYSCALL_ERROR_LABEL	$syscall_error
-# define SYSCALL_ERROR_HANDLER \
-	jmp	$31, __syscall_error
-#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
-#if defined(PIC) && !RTLD_PRIVATE_ERRNO
-# define PSEUDO_END(sym)  END(sym)
-#else
-# define PSEUDO_END(sym)			\
-$syscall_error:					\
-	SYSCALL_ERROR_HANDLER;			\
-	END(sym)
-#endif
-
-#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 */
-
-/* ??? 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
-#define INTERNAL_SYSCALL_ERROR_P(val, err)	err
-#define INTERNAL_SYSCALL_ERRNO(val, err)	val
-
-#define inline_syscall_clobbers				\
-	"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",	\
-	"$22", "$23", "$24", "$25", "$27", "$28", "memory"
-
-/* If TLS is in use, we have a conflict between the PAL_rduniq primitive,
-   as modeled within GCC, and explicit use of the R0 register.  If we use
-   the register via the asm, the scheduler may place the PAL_rduniq insn
-   before we've copied the data from R0 into _sc_ret.  If this happens
-   we'll get a reload abort, since R0 is live at the same time it is
-   needed for the PAL_rduniq.
-
-   Solve this by using the "v" constraint instead of an asm for the syscall
-   output.  We don't do this unconditionally to allow compilation with
-   older compilers.  */
-
-#ifdef HAVE___THREAD
-#define inline_syscall_r0_asm
-#define inline_syscall_r0_out_constraint	"=v"
-#else
-#define inline_syscall_r0_asm			__asm__("$0")
-#define inline_syscall_r0_out_constraint	"=r"
-#endif
-
-/* 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_0 inline_syscall_r0_asm;		\
-	register long _sc_19 __asm__("$19");			\
-								\
-	_sc_0 = name;						\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2"				\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19)					\
-	   : "0"(_sc_0)						\
-	   : inline_syscall_clobbers,				\
-	     "$16", "$17", "$18", "$20", "$21");		\
-	_sc_ret = _sc_0, _sc_err = _sc_19;			\
-}
-
-#define inline_syscall1(name,arg1)				\
-{								\
-	register long _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3"				\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16)				\
-	   : "0"(_sc_0), "2"(_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 _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3 %4"			\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17)		\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_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 _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3 %4 %5"			\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),		\
-	     "=r"(_sc_18)					\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_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 _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6"			\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),		\
-	     "=r"(_sc_18)					\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_sc_18), "1"(_sc_19)				\
-	   : inline_syscall_clobbers, "$20", "$21");		\
-	_sc_ret = _sc_0, _sc_err = _sc_19;			\
-}
-
-#define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5)		\
-{								\
-	register long _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _sc_20 __asm__("$20");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-	register long _tmp_20 = (long) (arg5);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
-	_sc_20 = _tmp_20;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7"		\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),		\
-	     "=r"(_sc_18), "=r"(_sc_20)				\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_sc_18), "1"(_sc_19), "5"(_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 _sc_0 inline_syscall_r0_asm;		\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _sc_20 __asm__("$20");			\
-	register long _sc_21 __asm__("$21");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-	register long _tmp_20 = (long) (arg5);			\
-	register long _tmp_21 = (long) (arg6);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
-	_sc_20 = _tmp_20;					\
-	_sc_21 = _tmp_21;					\
-	__asm__ __volatile__					\
-	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8"		\
-	   : inline_syscall_r0_out_constraint (_sc_0),		\
-	     "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17),		\
-	     "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21)		\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), "4"(_sc_18),	\
-	     "1"(_sc_19), "5"(_sc_20), "6"(_sc_21)		\
-	   : inline_syscall_clobbers);				\
-	_sc_ret = _sc_0, _sc_err = _sc_19;			\
-}
-
-/* Pointer mangling support.  Note that tls access is slow enough that
-   we don't deoptimize things by placing the pointer check value there.  */
-
-#include <stdint.h>
-
-#if defined NOT_IN_libc && defined IS_IN_rtld
-# ifdef __ASSEMBLER__
-#  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
-#  define PTR_DEMANGLE(dst, tmp)   PTR_MANGLE(dst, dst, tmp)
-#  define PTR_DEMANGLE2(dst, tmp)  PTR_MANGLE2(dst, dst, tmp)
-# 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
-#elif defined PIC
-# ifdef __ASSEMBLER__
-#  define PTR_MANGLE(dst, src, tmp)		\
-	ldq	tmp, __pointer_chk_guard;	\
-	xor	src, tmp, dst
-#  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
-extern uintptr_t __pointer_chk_guard attribute_relro;
-#  define PTR_MANGLE(var)	\
-	(var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
-#  define PTR_DEMANGLE(var)  PTR_MANGLE(var)
-# endif
-#endif
-
-#endif /* ASSEMBLER */
diff --git a/sysdeps/unix/sysv/linux/paccept.c b/sysdeps/unix/sysv/linux/accept4.c
index cc2979c0ed..97f7b8ce62 100644
--- a/sysdeps/unix/sysv/linux/paccept.c
+++ b/sysdeps/unix/sysv/linux/accept4.c
@@ -24,19 +24,20 @@
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
 
-#ifdef __NR_paccept
+#define __NR_accept4                            288
+
+
+#ifdef __NR_accept4
 int
-paccept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len,
-	 const __sigset_t *ss, int flags)
+accept4 (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len, int flags)
 {
   if (SINGLE_THREAD_P)
-    return INLINE_SYSCALL (paccept, 6, fd, addr.__sockaddr__, addr_len, ss,
-			   _NSIG / 8, flags);
+    return INLINE_SYSCALL (accept4, 4, fd, addr.__sockaddr__, addr_len, flags);
 
   int oldtype = LIBC_CANCEL_ASYNC ();
 
-  int result = INLINE_SYSCALL (paccept, 6, fd, addr.__sockaddr__, addr_len, ss,
-			       _NSIG / 8, flags);
+  int result = INLINE_SYSCALL (accept4, 4, fd, addr.__sockaddr__, addr_len,
+			       flags);
 
   LIBC_CANCEL_RESET (oldtype);
 
@@ -44,11 +45,10 @@ paccept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len,
 }
 #else
 int
-paccept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len,
-	 const __sigset_t *ss, int flags)
+accept4 (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len, int flags)
 {
   __set_errno (ENOSYS);
   return -1;
-stub_warning (epoll_pwait)
 }
+stub_warning (accept4)
 #endif
diff --git a/sysdeps/unix/sysv/linux/alpha/Implies b/sysdeps/unix/sysv/linux/alpha/Implies
deleted file mode 100644
index 1616efecbe..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-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/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile
deleted file mode 100644
index f64f23fd7a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-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 llseek
-
-# Support old timeval32 entry points
-sysdep_routines += osf_select osf_gettimeofday osf_settimeofday \
-		   osf_getitimer osf_setitimer osf_utimes \
-		   osf_getrusage osf_wait4
-
-# Support old ipc control
-sysdep_routines += oldmsgctl oldsemctl oldshmctl
-
-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
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
deleted file mode 100644
index 8709dd2a38..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/Versions
+++ /dev/null
@@ -1,94 +0,0 @@
-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_PRIVATE {
-    __libc_alpha_cache_shape;
-  }
-}
-ld {
-  GLIBC_PRIVATE {
-    __libc_alpha_cache_shape;
-  }
-}
-librt {
-  GLIBC_2.3 {
-    # AIO functions.
-    aio_cancel; aio_cancel64;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/alpha/a.out.h b/sysdeps/unix/sysv/linux/alpha/a.out.h
deleted file mode 100644
index a7699f0fe0..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/a.out.h
+++ /dev/null
@@ -1,197 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/adjtime.c b/sysdeps/unix/sysv/linux/alpha/adjtime.c
deleted file mode 100644
index 1700524d34..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/adjtime.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Copyright (C) 1998,2000,2002,2003,2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <shlib-compat.h>
-#include <sysdep.h>
-#include <sys/time.h>
-#include <kernel-features.h>
-
-#if !defined __ASSUME_TIMEVAL64 || 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)
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-#define LINKAGE
-#else
-#define LINKAGE		static
-#endif
-
-LINKAGE int ADJTIME (const struct TIMEVAL *itv, struct TIMEVAL *otv);
-
-#include <sysdeps/unix/sysv/linux/adjtime.c>
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-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
-#endif /* !__ASSUME_TIMEVAL64 || SHLIB_COMPAT */
-
-#undef TIMEVAL
-#define TIMEVAL		timeval
-#undef TIMEX
-#define TIMEX		timex
-#undef ADJTIMEX
-#define ADJTIMEX(x)	INLINE_SYSCALL (adjtimex, 1, x)
-
-#undef LINKAGE
-#undef ADJTIME
-#if !defined __ASSUME_TIMEVAL64
-#define LINKAGE		static
-#define ADJTIME		__adjtime_tv64
-#endif
-
-#include <sysdeps/unix/sysv/linux/adjtime.c>
-#include <stdbool.h>
-
-#if !defined __ASSUME_TIMEVAL64
-static bool missing_adjtimex;
-
-int
-__adjtime (itv, otv)
-     const struct timeval *itv;
-     struct timeval *otv;
-{
-  struct timeval32 itv32, otv32;
-  int ret;
-
-  switch (missing_adjtimex)
-    {
-    case false:
-      ret = __adjtime_tv64 (itv, otv);
-      if (ret && errno == ENOSYS)
-	missing_adjtimex = 1;
-      else
-	break;
-
-      /* FALLTHRU */
-
-    default:
-      itv32.tv_sec = itv->tv_sec;
-      itv32.tv_usec = itv->tv_usec;
-      ret = __adjtime_tv32 (&itv32, &otv32);
-      if (ret == 0)
-	{
-	  otv->tv_sec = otv32.tv_sec;
-	  otv->tv_usec = otv32.tv_usec;
-	}
-      break;
-    }
-
-  return ret;
-}
-#endif
-
-versioned_symbol (libc, __adjtime, adjtime, GLIBC_2_1);
-
-int
-__adjtimex_tv64 (struct timex *tx)
-{
-#if defined __ASSUME_TIMEVAL64
-  return ADJTIMEX (tx);
-#else
-  struct timex32 tx32;
-  int ret;
-
-  switch (missing_adjtimex)
-    {
-    case false:
-      ret = ADJTIMEX (tx);
-      if (ret && errno == ENOSYS)
-	missing_adjtimex = 1;
-      else
-	break;
-
-      /* FALLTHRU */
-
-    default:
-      tx32.modes = tx->modes;
-      tx32.offset = tx->offset;
-      tx32.freq = tx->freq;
-      tx32.maxerror = tx->maxerror;
-      tx32.esterror = tx->esterror;
-      tx32.status = tx->status;
-      tx32.constant = tx->constant;
-      tx32.precision = tx->precision;
-      tx32.tolerance = tx->tolerance;
-      tx32.time.tv_sec = tx->time.tv_sec;
-      tx32.time.tv_sec = tx->time.tv_usec;
-      tx32.tick = tx->tick;
-      tx32.ppsfreq = tx->ppsfreq;
-      tx32.jitter = tx->jitter;
-      tx32.shift = tx->shift;
-      tx32.stabil = tx->stabil;
-      tx32.jitcnt = tx->jitcnt;
-      tx32.calcnt = tx->calcnt;
-      tx32.errcnt = tx->errcnt;
-      tx32.stbcnt = tx->stbcnt;
-
-      ret = ADJTIMEX32 (&tx32);
-      if (ret == 0)
-	{
-	  tx->modes = tx32.modes;
-	  tx->offset = tx32.offset;
-	  tx->freq = tx32.freq;
-	  tx->maxerror = tx32.maxerror;
-	  tx->esterror = tx32.esterror;
-	  tx->status = tx32.status;
-	  tx->constant = tx32.constant;
-	  tx->precision = tx32.precision;
-	  tx->tolerance = tx32.tolerance;
-	  tx->time.tv_sec = tx32.time.tv_sec;
-	  tx->time.tv_usec = tx32.time.tv_sec;
-	  tx->tick = tx32.tick;
-	  tx->ppsfreq = tx32.ppsfreq;
-	  tx->jitter = tx32.jitter;
-	  tx->shift = tx32.shift;
-	  tx->stabil = tx32.stabil;
-	  tx->jitcnt = tx32.jitcnt;
-	  tx->calcnt = tx32.calcnt;
-	  tx->errcnt = tx32.errcnt;
-	  tx->stbcnt = tx32.stbcnt;
-	}
-      break;
-    }
-
-  return ret;
-#endif
-}
-
-strong_alias (__adjtimex_tv64, __adjtimex_internal);
-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);
diff --git a/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h b/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
deleted file mode 100644
index 57b96d64db..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h b/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
deleted file mode 100644
index 142df9c4f8..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies b/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
deleted file mode 100644
index 0d7000dc2d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/alphaev6/fpu
diff --git a/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies b/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
deleted file mode 100644
index 617c388d2d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/alphaev67/fpu
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/a.out.h b/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
deleted file mode 100644
index 82a3dd4c0d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
deleted file mode 100644
index 6ed74783ad..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-
-#endif /* bits/dirent.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h b/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
deleted file mode 100644
index e5aa4a0fbd..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* 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/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/sysdeps/unix/sysv/linux/alpha/bits/errno.h
deleted file mode 100644
index 8b2f152a1c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/errno.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Error constants.  Linux/Alpha specific version.
-   Copyright (C) 1996,1997,1998,1999,2002,2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 __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/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
deleted file mode 100644
index 710bace21f..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 1995-2000,2004,2005,2006,2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-#include <sys/types.h>
-#ifdef __USE_GNU
-# include <bits/uio.h>
-#endif
-
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
-   located on an ext2 file system */
-#define O_ACCMODE	  0003
-#define O_RDONLY	    00
-#define O_WRONLY	    01
-#define O_RDWR		    02
-#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_NDELAY	O_NONBLOCK
-#define O_SYNC		040000
-#define O_FSYNC		O_SYNC
-#define O_ASYNC		020000	/* fcntl, for BSD compatibility */
-
-#ifdef __USE_GNU
-# define O_DIRECTORY	0100000	/* Must be a directory.  */
-# define O_NOFOLLOW	0200000	/* Do not follow links.  */
-# define O_DIRECT	02000000 /* Direct disk access.  */
-# define O_NOATIME	04000000 /* Do not set atime.  */
-# define O_CLOEXEC      010000000 /* Set close_on_exec.  */
-#endif
-
-#ifdef __USE_LARGEFILE64
-/* Not necessary, files are always with 64bit off_t.  */
-# define O_LARGEFILE	0
-#endif
-
-/* For now Linux has synchronisity options for data and read operations.
-   We define the symbols here but let them do the same as O_SYNC since
-   this is a superset.  */
-#if defined __USE_POSIX199309 || defined __USE_UNIX98
-# define O_DSYNC	O_SYNC	/* Synchronize data.  */
-# define O_RSYNC	O_SYNC	/* Synchronize read operations.  */
-#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.  */
-#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).  */
-
-#if defined __USE_BSD || defined __USE_UNIX98
-# define F_SETOWN	5	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	6	/* Set owner of socket (receiver of SIGIO).  */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETSIG	10	/* Set number of signal to be sent.  */
-# define F_GETSIG	11	/* Get number of signal to be sent.  */
-#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 notfications on a directory.	 */
-# 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 */
-
-/* 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 */
-
-/* Operations for bsd flock(), also used by the kernel implementation */
-#ifdef __USE_BSD
-# 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 attibutes.  */
-# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
-#endif
-
-/* 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
-
-
-/* Define some more compatibility macros to be backward compatible with
-   BSD systems which did not managed to hide these kernel macros.  */
-#ifdef	__USE_BSD
-# define FAPPEND	O_APPEND
-# define FFSYNC		O_FSYNC
-# define FASYNC		O_ASYNC
-# define FNONBLOCK	O_NONBLOCK
-# define FNDELAY	O_NDELAY
-#endif /* Use BSD.  */
-
-/* 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	4 /* Don't need these pages.  */
-# define POSIX_FADV_NOREUSE	5 /* 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.  */
-#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.  */
-extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
-			    unsigned int __flags);
-
-
-/* Splice address range into a pipe.  */
-extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
-			 size_t __count, unsigned int __flags);
-
-/* Splice two files together.  */
-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.  */
-extern ssize_t tee (int __fdin, int __fdout, size_t __len,
-		    unsigned int __flags);
-
-#endif
-
-__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h b/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
deleted file mode 100644
index c525046e5c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
deleted file mode 100644
index 77f3c938d4..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 __unused1;
-    unsigned long int __unused2;
-  };
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h
deleted file mode 100644
index 2f0e564916..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/mman.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Definitions for POSIX memory map interface.  Linux/Alpha version.
-   Copyright (C) 1997, 1998, 2000, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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.  */
-
-
-/* Protections are chosen from these bits, OR'd together.  The
-   implementation does not necessarily support PROT_EXEC or PROT_WRITE
-   without PROT_READ.  The only guarantees are that no writing will be
-   allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
-
-#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).  */
-
-/* Sharing types (must choose one and only one of these).  */
-#define MAP_SHARED	  0x01		/* Share changes.  */
-#define MAP_PRIVATE	  0x02		/* Changes are private.  */
-#ifdef __USE_MISC
-# define MAP_TYPE	  0x0f		/* Mask for type of mapping.  */
-#endif
-
-/* Other flags.  */
-#define MAP_FIXED	  0x100		/* Interpret addr exactly.  */
-#ifdef __USE_MISC
-# define MAP_FILE	  0
-# define MAP_ANONYMOUS	  0x10		/* Don't use a file.  */
-# define MAP_ANON	  MAP_ANONYMOUS
-#endif
-
-/* Not used by Linux, but here to make sure we don't clash with
-   OSF/1 defines.  */
-#if 0 && defined __USE_BSD
-# define MAP_HASSEMAPHORE 0x0200
-# define MAP_INHERIT	  0x0400
-# define MAP_UNALIGNED	  0x0800
-#endif
-
-/* 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.  */
-#endif
-
-/* Flags to `msync'.  */
-#define MS_ASYNC	  1		/* Sync memory asynchronously.  */
-#define MS_SYNC		  2		/* Synchronous memory sync.  */
-#define MS_INVALIDATE	  4		/* Invalidate the caches.  */
-
-/* Flags for `mlockall'.  */
-#define MCL_CURRENT	  8192		/* Lock all currently mapped pages.  */
-#define MCL_FUTURE	  16384		/* Lock all additions to address
-					   space.  */
-
-/* Flags for `mremap'.  */
-#ifdef __USE_GNU
-# define MREMAP_MAYMOVE	1
-# define MREMAP_FIXED	2
-#endif
-
-/* Advice to `madvise'.  */
-#ifdef __USE_BSD
-# 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   6	/* Don't need these pages.  */
-# 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.  */
-#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	6 /* Don't need these pages.  */
-#endif
-
-/* Not used by Linux, but here to make sure we don't clash with
-   OSF/1 defines.  */
-#if 0 && defined __USE_BSD
-# define MADV_DONTNEED_COMPAT 4	/* Old version?  */
-# define MADV_SPACEAVAIL 5	/* Ensure resources are available.  */
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/msq.h b/sysdeps/unix/sysv/linux/alpha/bits/msq.h
deleted file mode 100644
index ab251eaf76..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/msq.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 */
-#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 __unused1;
-  unsigned long int __unused2;
-};
-
-#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/sysdeps/unix/sysv/linux/alpha/bits/netdb.h b/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
deleted file mode 100644
index e3664fd292..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-     compatiblity by adding appropriate padding.  */
-  unsigned long	int n_net;	/* Network number.  */
-};
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/resource.h b/sysdeps/unix/sysv/linux/alpha/bits/resource.h
deleted file mode 100644
index 92d0199dcd..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/resource.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/* Bit values & structures for resource limits.  Alpha/Linux version.
-   Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-
-  __RLIMIT_NLIMITS = 15,
-  __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
-};
-
-#define __need_timeval
-#include <bits/time.h>		/* For `struct timeval'.  */
-
-/* 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
-};
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sem.h b/sysdeps/unix/sysv/linux/alpha/bits/sem.h
deleted file mode 100644
index f63360b2bc..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/sem.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 __unused1;
-  unsigned long int __unused2;
-};
-
-/* 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/sysdeps/unix/sysv/linux/alpha/bits/shm.h b/sysdeps/unix/sysv/linux/alpha/bits/shm.h
deleted file mode 100644
index cb214e6412..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/shm.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002, 2004
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 */
-
-/* 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 __unused1;
-    unsigned long int __unused2;
-  };
-
-#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 __unused1;
-    unsigned long int __unused2;
-    unsigned long int __unused3;
-    unsigned long int __unused4;
-  };
-
-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/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
deleted file mode 100644
index 80feb2fa2d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* The proper definitions for Linux/Alpha sigaction.
-   Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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.  */
-    unsigned 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'. */
-# 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/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h b/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
deleted file mode 100644
index a2aacc04b1..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
+++ /dev/null
@@ -1,303 +0,0 @@
-/* siginfo_t, sigevent and constants.  Linux/Alpha version.
-   Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#if !defined _SIGNAL_H && !defined __need_siginfo_t \
-    && !defined __need_sigevent_t
-# error "Never include this file directly.  Use <signal.h> instead"
-#endif
-
-#if (!defined __have_sigval_t \
-     && (defined _SIGNAL_H || defined __need_siginfo_t \
-	 || defined __need_sigevent_t))
-# define __have_sigval_t	1
-
-/* Type for data associated with a signal.  */
-typedef union sigval
-  {
-    int sival_int;
-    void *sival_ptr;
-  } sigval_t;
-#endif
-
-#if (!defined __have_siginfo_t \
-     && (defined _SIGNAL_H || defined __need_siginfo_t))
-# define __have_siginfo_t	1
-
-# define __SI_MAX_SIZE     128
-# define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 4)
-
-typedef struct siginfo
-  {
-    int si_signo;		/* Signal number.  */
-    int si_errno;		/* If non-zero, an errno value associated with
-				   this signal, as defined in <errno.h>.  */
-    int si_code;		/* Signal code.  */
-
-    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.  */
-	    __clock_t si_utime;
-	    __clock_t si_stime;
-	  } _sigchld;
-
-	/* SIGILL, SIGFPE, SIGSEGV, SIGBUS.  */
-	struct
-	  {
-	    void *si_addr;	/* Faulting insn/memory ref.  */
-	  } _sigfault;
-
-	/* SIGPOLL.  */
-	struct
-	  {
-	    int si_band;	/* Band event for SIGPOLL.  */
-	    int si_fd;
-	  } _sigpoll;
-      } _sifields;
-  } siginfo_t;
-
-
-/* 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_band	_sifields._sigpoll.si_band
-# define si_fd		_sifields._sigpoll.si_fd
-
-
-/* Values for `si_code'.  Positive values are reserved for kernel-generated
-   signals.  */
-enum
-{
-  SI_ASYNCNL = -60,		/* Sent by asynch name lookup completion.  */
-# define SI_ASYNCNL	SI_ASYNCNL
-  SI_TKILL = -6,		/* Sent by tkill.  */
-# define SI_TKILL	SI_TKILL
-  SI_SIGIO,			/* Sent by queued SIGIO. */
-# define SI_SIGIO	SI_SIGIO
-  SI_ASYNCIO,			/* Sent by AIO completion.  */
-# define SI_ASYNCIO	SI_ASYNCIO
-  SI_MESGQ,			/* Sent by real time mesq state change.  */
-# define SI_MESGQ	SI_MESGQ
-  SI_TIMER,			/* Sent by timer expiration.  */
-# define SI_TIMER	SI_TIMER
-  SI_QUEUE,			/* Sent by sigqueue.  */
-# define SI_QUEUE	SI_QUEUE
-  SI_USER,			/* Sent by kill, sigsend, raise.  */
-# define SI_USER	SI_USER
-  SI_KERNEL = 0x80		/* Send by kernel.  */
-#define SI_KERNEL	SI_KERNEL
-};
-
-
-/* `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
-};
-
-/* `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
-};
-
-/* `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
-};
-
-# undef __need_siginfo_t
-#endif	/* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
-
-
-#if (defined _SIGNAL_H || defined __need_sigevent_t) \
-    && !defined __have_sigevent_t
-# define __have_sigevent_t	1
-
-/* Structure to transport application-defined values with signals.  */
-# define __SIGEV_MAX_SIZE	64
-# define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
-
-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.  */
-	    void *_attribute;			/* Really pthread_attr_t.  */
-	  } _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
-
-/* `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.  */
-#define SIGEV_THREAD_ID	SIGEV_THREAD_ID
-};
-
-#endif	/* have _SIGNAL_H.  */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/signum.h b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
deleted file mode 100644
index 477c13175d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/signum.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Signal number definitions.  Linux/Alpha version.
-   Copyright (C) 1996, 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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_UNIX98
-# 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/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
deleted file mode 100644
index 7faaf98d54..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* sigstack, sigaltstack definitions.
-   Copyright (C) 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SIGNAL_H
-# error "Never include this file directly.  Use <signal.h> instead"
-#endif
-
-
-/* Structure describing a signal stack (obsolete).  */
-struct sigstack
-  {
-    __ptr_t ss_sp;		/* Signal stack pointer.  */
-    int ss_onstack;		/* Nonzero if executing on this stack.  */
-  };
-
-
-/* Possible values for `ss_flags.'.  */
-enum
-{
-  SS_ONSTACK = 1,
-#define SS_ONSTACK	SS_ONSTACK
-  SS_DISABLE
-#define SS_DISABLE	SS_DISABLE
-};
-
-/* Minimum stack size for a signal handler.  */
-#define MINSIGSTKSZ	4096
-
-/* System default stack size.  */
-#define SIGSTKSZ	16384
-
-
-/* Alternate, preferred interface.  */
-typedef struct sigaltstack
-  {
-    __ptr_t ss_sp;
-    int ss_flags;
-    size_t ss_size;
-  } stack_t;
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/sysdeps/unix/sysv/linux/alpha/bits/stat.h
deleted file mode 100644
index 42748be762..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/stat.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001,2004
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_STAT_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-/* 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		_STAT_VER_GLIBC2_3_4
-
-/* 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_MISC
-# 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 __unused[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 __unused[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.  */
-
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
-# define UTIME_NOW	((1l << 30) - 1l)
-# define UTIME_OMIT	((1l << 30) - 2l)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/statfs.h b/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
deleted file mode 100644
index d838e6bf4a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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_spare[5];
-  };
-
-#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_spare[5];
-  };
-#endif
-
-/* Tell code we have this member.  */
-#define _STATFS_F_NAMELEN
-#define _STATFS_F_FRSIZE
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
deleted file mode 100644
index 966ccf94da..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/* termios type and macro definitions.  Linux version.
-   Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2003, 2005
-	Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-#ifdef __USE_BSD
-  /* POSIX.1 doesn't want these... */
-# define IXANY		0004000
-# define IUCLC		0010000
-# define IMAXBEL	0020000
-# define IUTF8		0040000
-#endif
-
-/* 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
-# define   NL2	00001000
-# define   NL3	00001400
-# 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
-# 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/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
deleted file mode 100644
index 201585af1f..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t.  Linux/Alpha version.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 __SWBLK_T_TYPE		__SLONGWORD_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
-
-/* Number of descriptors that can fit in an `fd_set'.  */
-#define	__FD_SETSIZE		1024
-
-
-#endif /* bits/typesizes.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h b/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
deleted file mode 100644
index 22fc64109c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1999, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __WORDSIZE	64
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal that we didn't used to have a `long double'. The changes all
-   the `long double' function variants to be redirects to the double
-   functions.  */
-# define __LONG_DOUBLE_MATH_OPTIONAL	1
-# ifndef __LONG_DOUBLE_128__
-#  define __NO_LONG_DOUBLE_MATH		1
-# endif
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S
deleted file mode 100644
index e01abebe0e..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/brk.S
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* __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
-LEAF(__brk, 8)
-	ldgp	gp, 0(t12)
-	subq	sp, 8, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	/* Save the requested brk across the system call.  */
-	stq	a0, 0(sp)
-
-	ldiq	v0, __NR_brk
-	call_pal PAL_callsys
-
-	ldq	a0, 0(sp)
-
-	/* Be prepared for an OSF-style brk.  */
-	bne	a3, $err1
-	beq	v0, $ok
-
-	/* Correctly handle the brk(0) query case.  */
-	cmoveq	a0, v0, a0
-	xor	a0, v0, t0
-	bne	t0, $err0
-
-	/* Update __curbrk and return cleanly.  */
-	mov	zero, v0
-$ok:	stq	a0, __curbrk
-	addq	sp, 8, sp
-	ret
-
-	/* What a horrible way to die.  */
-$err0:	ldi	v0, ENOMEM
-$err1:	addq	sp, 8, sp
-	SYSCALL_ERROR_HANDLER
-
-	END(__brk)
-
-weak_alias (__brk, brk)
diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S
deleted file mode 100644
index 5e0b21ea15..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/clone.S
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright (C) 1996, 1997, 2002 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* 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
-#define CLONE_THREAD	0x00010000
-
-/* 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
-ENTRY(__clone)
-#ifdef PROF
-	ldgp	gp,0(pv)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#else
-	.prologue 0
-#endif
-
-	/* Sanity check arguments.  */
-	ldiq	v0,EINVAL
-	beq	a0,$error		/* no NULL function pointers */
-	beq	a1,$error		/* 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)
-#ifdef RESET_PID
-	stq	a2,16(a1)
-#endif
-
-	/* 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,$error
-	beq	v0,thread_start
-
-	/* Successful return from the parent.  */
-	ret
-
-	/* Something bad happened -- no child created.  */
-$error:
-#ifndef PROF
-	br	gp,1f
-1:	ldgp	gp,0(gp)
-#endif
-	SYSCALL_ERROR_HANDLER
-
-	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.  */
-
-	.ent thread_start
-thread_start:
-	.frame	fp,0,fp,0
-	mov	0, fp
-	.prologue 0
-
-#ifdef RESET_PID
-	/* Check and see if we need to reset the PID.  */
-	ldq	t0,16(sp)
-	lda	t1,CLONE_THREAD
-	and	t0,t1,t2
-	beq	t2,2f
-1:
-#endif
-
-	/* 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.  */
-	halt
-
-#ifdef RESET_PID
-2:
-	rduniq
-	lda	t1, CLONE_VM
-	mov	v0, s0
-	lda	v0, -1
-	and	t0, t1, t2
-	bne	t2, 3f
-	lda	v0, __NR_getxpid
-	callsys
-3:
-	stl	v0, PID_OFFSET(s0)
-	stl	v0, TID_OFFSET(s0)
-	br	1b
-#endif
-
-	.end thread_start
-
-weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
deleted file mode 100644
index 8afc4dba3b..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Auxiliary vector processing for Linux/Alpha.
-   Copyright (C) 2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Scan the Aux Vector for the cache shape entries.  */
-
-long __libc_alpha_cache_shape[4] = { -2, -2, -2, -2 };
-
-#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/sysdeps/unix/sysv/linux/alpha/dl-brk.S b/sysdeps/unix/sysv/linux/alpha/dl-brk.S
deleted file mode 100644
index eeb96544e3..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/dl-brk.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <brk.S>
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-support.c b/sysdeps/unix/sysv/linux/alpha/dl-support.c
deleted file mode 100644
index 290217671c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/dl-support.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "dl-auxv.h"
-#include <elf/dl-support.c>
diff --git a/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c b/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
deleted file mode 100644
index 4034820f4d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "dl-auxv.h"
-#include <sysdeps/unix/sysv/linux/dl-sysdep.c>
diff --git a/sysdeps/unix/sysv/linux/alpha/fpu/Implies b/sysdeps/unix/sysv/linux/alpha/fpu/Implies
deleted file mode 100644
index d76f511c2e..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/fpu
diff --git a/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c b/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c
deleted file mode 100644
index 5e63be5cc7..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 2004,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <float.h>
-#include <kernel-features.h>
-#include "kernel_sysinfo.h"
-
-
-int
-__feraiseexcept (int excepts)
-{
-  INTERNAL_SYSCALL_DECL (err);
-  unsigned long t = excepts;
-  long r;
-
-  r = INTERNAL_SYSCALL (osf_setsysinfo, err, 2, SSI_IEEE_RAISE_EXCEPTION, &t);
-
-#ifndef __ASSUME_IEEE_RAISE_EXCEPTION
-  if (!INTERNAL_SYSCALL_ERROR_P (r, err))
-    return 0;
-
-  double d;
-
-  /* If we got an error from SSI_IEEE_RAISE_EXCEPTION, assume it means that
-     the system call isn't actually implemented.  Do the best we can.  */
-
-  /* Invalid implemented with 0 / 0 -> NaN.  */
-  if (excepts & FE_INVALID)
-    __asm__ __volatile__ ("divs/su $f31,$f31,%0; trapb" : "=f"(d) : );
-
-  /* Division By Zero implemented with 1 / 0 -> NaN.  */
-  if (excepts & FE_DIVBYZERO)
-    __asm__ __volatile__ ("divs/su %1,$f31,%0; trapb" : "=&f"(d) : "f"(1.0f));
-
-  /* Overflow and underflow cannot be had all by themselves.  We can
-     generate them with arithmetic, but we always get INEXACT raised
-     at the same time.  Prepare to undo.  */
-  if ((excepts & (FE_OVERFLOW | FE_UNDERFLOW)) && !(excepts & FE_INEXACT))
-    INTERNAL_SYSCALL (osf_getsysinfo, err, 2, GSI_IEEE_FP_CONTROL, &t);
-
-  /* Overflow implemented with FLT_MAX + FLT_MAX -> Inf.  */
-  if (excepts & FE_OVERFLOW)
-    __asm__ __volatile__ ("adds/sui %1,%1,%0; trapb"
-			  : "=&f"(d) : "f"(FLT_MAX));
-
-  /* Underflow implemented with FLT_MIN * FLT_MIN -> 0.  */
-  if (excepts & FE_UNDERFLOW)
-    __asm__ __volatile__ ("muls/sui %1,%1,%0; trapb"
-			  : "=&f"(d) : "f"(FLT_MIN));
-
-  /* Inexact implemented with (long)0.5 -> 0.  */
-  if ((excepts & (FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)) == FE_INEXACT)
-    __asm__ __volatile__ ("cvttq/svi %1,%0; trapb" : "=&f"(d) : "f"(0.5f));
-
-  /* If we raised inexact when not asked, and inexact was not previously
-     raised, then clear that exception.  */
-  if ((excepts & (FE_OVERFLOW | FE_UNDERFLOW))
-      && !((excepts | t) & FE_INEXACT))
-    {
-      t |= excepts & SWCR_STATUS_MASK;
-      INTERNAL_SYSCALL (osf_setsysinfo, err, 2, SSI_IEEE_FP_CONTROL, &t);
-    }
-#endif /* !__ASSUME_IEEE_RAISE_EXCEPTION */
-
-  return 0;
-}
-
-#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_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/alpha/fxstat.c b/sysdeps/unix/sysv/linux/alpha/fxstat.c
deleted file mode 100644
index 40e08fd86e..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/fxstat.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* fxstat using old-style Unix stat system call.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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, errno_out;
-  struct kernel_stat kbuf;
-
-  if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
-    {
-      result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf);
-      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
-	return result;
-      errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-      if (errno_out != ENOSYS)
-	goto fail;
-      __libc_missing_axp_stat64 = 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);
-  errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-  
- fail:
-  __set_errno (errno_out);
-  return -1;
-}
-hidden_def (__fxstat)
-weak_alias (__fxstat, _fxstat);
-strong_alias (__fxstat, __fxstat64);
-hidden_ver (__fxstat, __fxstat64)
diff --git a/sysdeps/unix/sysv/linux/alpha/fxstatat.c b/sysdeps/unix/sysv/linux/alpha/fxstatat.c
deleted file mode 100644
index 497694619a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/fxstatat.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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)
-{
-  if (flag & ~AT_SYMLINK_NOFOLLOW)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  char *buf = NULL;
-
-  if (fd != AT_FDCWD && file[0] != '/')
-    {
-      size_t filelen = strlen (file);
-      static const char procfd[] = "/proc/self/fd/%d/%s";
-      /* Buffer for the path name we are going to use.  It consists of
-	 - the string /proc/self/fd/
-	 - the file descriptor number
-	 - the file name provided.
-	 The final NUL is included in the sizeof.   A bit of overhead
-	 due to the format elements compensates for possible negative
-	 numbers.  */
-      size_t buflen = sizeof (procfd) + sizeof (int) * 3 + filelen;
-      buf = alloca (buflen);
-
-      __snprintf (buf, buflen, procfd, fd, file);
-      file = buf;
-    }
-
-  INTERNAL_SYSCALL_DECL (err);
-  int result, errno_out;
-  struct kernel_stat kst;
-
-  if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
-    {
-      if (flag & AT_SYMLINK_NOFOLLOW)
-	result = INTERNAL_SYSCALL (lstat64, err, 2, file, st);
-      else
-	result = INTERNAL_SYSCALL (stat64, err, 2, file, st);
-
-      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
-	return result;
-      errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-      if (errno_out != ENOSYS)
-	goto fail;
-      __libc_missing_axp_stat64 = 1;
-    }
-
-  if (flag & AT_SYMLINK_NOFOLLOW)
-    result = INTERNAL_SYSCALL (lstat, err, 2, file, &kst);
-  else
-    result = INTERNAL_SYSCALL (stat, err, 2, file, &kst);
-
-  if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
-    return __xstat_conv (vers, &kst, st);
-  errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-
- fail:
-  __atfct_seterrno (errno_out, fd, buf);
-
-  return -1;
-}
-libc_hidden_def (__fxstatat)
-strong_alias (__fxstatat, __fxstatat64);
-libc_hidden_ver(__fxstatat, __fxstatat64);
diff --git a/sysdeps/unix/sysv/linux/alpha/getclktck.c b/sysdeps/unix/sysv/linux/alpha/getclktck.c
deleted file mode 100644
index 6636bbe689..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getclktck.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define SYSTEM_CLK_TCK	1024
-#include <sysdeps/unix/sysv/linux/getclktck.c>
diff --git a/sysdeps/unix/sysv/linux/alpha/getcontext.S b/sysdeps/unix/sysv/linux/alpha/getcontext.S
deleted file mode 100644
index f010f337e6..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getcontext.S
+++ /dev/null
@@ -1,188 +0,0 @@
-/* Save current context.
-   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/getdents.c b/sysdeps/unix/sysv/linux/alpha/getdents.c
deleted file mode 100644
index dfecfef924..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getdents.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/getdents64.c b/sysdeps/unix/sysv/linux/alpha/getdents64.c
deleted file mode 100644
index e53570c036..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getdents64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../getdents64.c"
diff --git a/sysdeps/unix/sysv/linux/alpha/gethostname.c b/sysdeps/unix/sysv/linux/alpha/gethostname.c
deleted file mode 100644
index 4e15ee43ed..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/gethostname.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2001, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <bp-checks.h>
-
-int
-__gethostname (char *name, size_t len)
-{
-  int result;
-
-  result = INLINE_SYSCALL (gethostname, 2, CHECK_N (name, len), 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/sysdeps/unix/sysv/linux/alpha/getitimer.S b/sysdeps/unix/sysv/linux/alpha/getitimer.S
deleted file mode 100644
index 6644a5c36d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getitimer.S
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define GETITIMER	__getitimer_tv64
-#else
-#define GETITIMER	getitimer
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(GETITIMER, getitimer, 2)
-	ret
-PSEUDO_END(GETITIMER)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(GETITIMER, 16)
-	ldgp	gp, 0(pv)
-	subq	sp, 16, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(getitimer)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 16, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:	ldi	v0, SYS_ify(osf_getitimer)
-	callsys
-	bne	a3, $error
-
-	/* Copy back to proper format.  */
-	ldq	a1, 8(sp)
-	ldl	t0, 0(a1)
-	ldl	t1, 4(a1)
-	ldl	t2, 8(a1)
-	ldl	t3, 12(a1)
-	stq	t0, 0(a1)
-	stq	t1, 8(a1)
-	stq	t2, 16(a1)
-	stq	t3, 24(a1)
-
-	addq	sp, 16, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 16, sp
-	SYSCALL_ERROR_HANDLER
-
-END(GETITIMER)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__getitimer_tv64, getitimer, GLIBC_2.1)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/getrusage.S b/sysdeps/unix/sysv/linux/alpha/getrusage.S
deleted file mode 100644
index 0bca4b5f23..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getrusage.S
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define GETRUSAGE	__getrusage_tv64
-#else
-#define GETRUSAGE	__getrusage
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(GETRUSAGE, getrusage, 2)
-	ret
-PSEUDO_END(GETRUSAGE)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(GETRUSAGE, 16)
-	ldgp	gp, 0(pv)
-	subq	sp, 16, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(getrusage)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 16, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:	ldi	v0, SYS_ify(osf_getrusage)
-	callsys
-	bne	a3, $error
-
-	/* Copy back to proper format.  */
-	ldq	a1, 8(sp)
-	ldl	t0, 0(a1)		# ru_utime.tv_sec
-	ldl	t1, 4(a1)		# ru_utime.tv_usec
-	ldl	t2, 8(a1)		# ru_stime.tv_sec
-	ldl	t3, 12(a1)		# ru_stime.tv_usec
-	ldt	$f15, 16(a1)		# ru_maxrss
-	ldt	$f16, 24(a1)		# ru_ixrss
-	ldt	$f17, 32(a1)		# ru_idrss
-	ldt	$f18, 40(a1)		# ru_isrss
-	ldt	$f19, 48(a1)		# ru_minflt
-	ldt	$f20, 56(a1)		# ru_majflt
-	ldt	$f21, 64(a1)		# ru_nswap
-	ldt	$f22, 72(a1)		# ru_inblock
-	ldt	$f23, 80(a1)		# ru_oublock
-	ldt	$f24, 88(a1)		# ru_msgsend
-	ldt	$f25, 96(a1)		# ru_msgrcv
-	ldt	$f26, 104(a1)		# ru_nsignals
-	ldt	$f27, 112(a1)		# ru_nvcsw
-	.set noat
-	ldt	$f28, 120(a1)		# ru_nivcsw
-	.set at
-	stq	t0, 0(a1)
-	stq	t1, 8(a1)
-	stq	t2, 16(a1)
-	stq	t3, 24(a1)
-	stt	$f15, 32(a1)
-	stt	$f16, 40(a1)
-	stt	$f17, 48(a1)
-	stt	$f18, 56(a1)
-	stt	$f19, 64(a1)
-	stt	$f20, 72(a1)
-	stt	$f21, 80(a1)
-	stt	$f22, 88(a1)
-	stt	$f23, 96(a1)
-	stt	$f24, 104(a1)
-	stt	$f25, 112(a1)
-	stt	$f26, 120(a1)
-	stt	$f27, 128(a1)
-	.set noat
-	stt	$f28, 136(a1)
-	.set at
-
-	addq	sp, 16, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 16, sp
-	SYSCALL_ERROR_HANDLER
-
-END(GETRUSAGE)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-strong_alias(__getrusage_tv64, ____getrusage_tv64)
-default_symbol_version (____getrusage_tv64, __getrusage, GLIBC_2.1)
-default_symbol_version (__getrusage_tv64, getrusage, GLIBC_2.1)
-#else
-weak_alias (__getrusage, getrusage)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/getsysstats.c b/sysdeps/unix/sysv/linux/alpha/getsysstats.c
deleted file mode 100644
index 0e49a84526..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/getsysstats.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Determine various system internal values, Linux/Alpha version.
-   Copyright (C) 1999 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-
-/* We need to define a special parser for /proc/cpuinfo.  */
-#define GET_NPROCS_PARSER(FP, BUFFER, 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.  */	   \
-      (RESULT) = 1;							   \
-      while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != 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/sysdeps/unix/sysv/linux/alpha/gettimeofday.S b/sysdeps/unix/sysv/linux/alpha/gettimeofday.S
deleted file mode 100644
index 7c9183a4fe..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/gettimeofday.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1998, 2002, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define GETTIMEOFDAY	__gettimeofday_tv64
-#else
-#define GETTIMEOFDAY	__gettimeofday
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(GETTIMEOFDAY, gettimeofday, 2)
-	ret
-PSEUDO_END(GETTIMEOFDAY)
-#else
-
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(GETTIMEOFDAY, 16)
-	ldgp	gp, 0(pv)
-	subq	sp, 16, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(gettimeofday)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 16, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:	ldi	v0, SYS_ify(osf_gettimeofday)
-	callsys
-	bne	a3, $error
-
-	/* Copy back to proper format.  */
-	ldq	a0, 0(sp)
-	beq	a0, 2f
-	ldl	t0, 0(a0)
-	ldl	t1, 4(a0)
-	stq	t0, 0(a0)
-	stq	t1, 8(a0)
-
-2:	addq	sp, 16, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 16, sp
-	SYSCALL_ERROR_HANDLER
-
-END(GETTIMEOFDAY)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__gettimeofday_tv64, __gettimeofday, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__gettimeofday_tv64, __gettimeofday_tv64p)
-default_symbol_version (__gettimeofday_tv64p, gettimeofday, GLIBC_2.1)
-#else
-weak_alias (__gettimeofday, gettimeofday)
-#endif
-strong_alias(GETTIMEOFDAY, __gettimeofday_internal)
diff --git a/sysdeps/unix/sysv/linux/alpha/glob.c b/sysdeps/unix/sysv/linux/alpha/glob.c
deleted file mode 100644
index 84573899d6..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/glob.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 1998, 2000, 2002, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
deleted file mode 100644
index 4779f175e5..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include "kernel_sysinfo.h"
-
-
-	.text
-
-LEAF(__ieee_get_fp_control, 16)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	sp, -16(sp)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#elif defined PIC
-	lda	sp, -16(sp)
-	.prologue 0
-#else
-	ldgp	gp, 0(pv)
-	lda	sp, -16(sp)
-	.prologue 1
-#endif
-
-	mov	sp, a1
-	ldi	a0, GSI_IEEE_FP_CONTROL
-	ldi	v0, __NR_osf_getsysinfo
-	call_pal PAL_callsys
-	bne	a3, $error
-
-	ldq	v0, 0(sp)
-	lda	sp, 16(sp)
-	ret
-
-$error:
-	lda	sp, 16(sp)
-	SYSCALL_ERROR_HANDLER
-
-	END(__ieee_get_fp_control)
-
-libc_hidden_def(__ieee_get_fp_control)
-weak_alias (__ieee_get_fp_control, ieee_get_fp_control)
diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
deleted file mode 100644
index a9c0891aae..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997, 2003, 2004
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#include "kernel_sysinfo.h"
-
-
-LEAF(__ieee_set_fp_control, 16)
-#ifdef PROF
-	ldgp	gp, 0(pv)
-	lda	sp, -16(sp)
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-	.prologue 1
-#elif defined PIC
-	lda	sp, -16(sp)
-	.prologue 0
-#else
-	ldgp	gp, 0(pv)
-	lda	sp, -16(sp)
-	.prologue 1
-#endif
-
-	stq	a0, 0(sp)
-	mov	sp, a1
-	ldi	a0, SSI_IEEE_FP_CONTROL
-	ldi	v0, __NR_osf_setsysinfo
-	call_pal PAL_callsys
-
-	bne	a3, $error
-
-	lda	sp, 16(sp)
-	ret
-
-$error:
-	lda	sp, 16(sp)
-	SYSCALL_ERROR_HANDLER
-
-	END(__ieee_set_fp_control)
-
-libc_hidden_def(__ieee_set_fp_control)
-weak_alias (__ieee_set_fp_control, ieee_set_fp_control)
diff --git a/sysdeps/unix/sysv/linux/alpha/ioperm.c b/sysdeps/unix/sysv/linux/alpha/ioperm.c
deleted file mode 100644
index 32e96ec2f2..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/ioperm.c
+++ /dev/null
@@ -1,883 +0,0 @@
-/* Copyright (C) 1992, 1996-1999, 2000 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* 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 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, "r");
-  if (!fp)
-    return 0;
-
-  got_type = got_vari = got_model = 0;
-
-  while (1)
-    {
-      if (fgets (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/sysdeps/unix/sysv/linux/alpha/ipc_priv.h b/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
deleted file mode 100644
index 0328dc08e2..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1995-1999, 2000, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sys/ipc.h>
-
-#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.  */
-};
-
-
-/* The codes for the functions to use the ipc syscall multiplexer.  */
-#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/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h b/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
deleted file mode 100644
index 4c35d969cf..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* 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/sysdeps/unix/sysv/linux/alpha/kernel_stat.h b/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
deleted file mode 100644
index a1d012ab01..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* 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            __unused[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 __unused[4];
-  };
-
-#define XSTAT_IS_XSTAT64 1
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h b/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
deleted file mode 100644
index a3edec2269..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* 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/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
deleted file mode 100644
index c38f1fac1a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/lxstat.c b/sysdeps/unix/sysv/linux/alpha/lxstat.c
deleted file mode 100644
index 38fac2e2b2..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/lxstat.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* lxstat using old-style Unix stat system call.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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, errno_out;
-  struct kernel_stat kbuf;
-
-  if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
-    {
-      result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf);
-      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
-	return result;
-      errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-      if (errno_out != ENOSYS)
-	goto fail;
-      __libc_missing_axp_stat64 = 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);
-  errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-  
- fail:
-  __set_errno (errno_out);
-  return -1;
-}
-hidden_def (__lxstat)
-weak_alias (__lxstat, _lxstat);
-strong_alias (__lxstat, __lxstat64);
-hidden_ver (__lxstat, __lxstat64)
diff --git a/sysdeps/unix/sysv/linux/alpha/makecontext.S b/sysdeps/unix/sysv/linux/alpha/makecontext.S
deleted file mode 100644
index 223117e26d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/makecontext.S
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/msgctl.c b/sysdeps/unix/sysv/linux/alpha/msgctl.c
deleted file mode 100644
index a59911fe40..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/msgctl.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright (C) 1995,1997,1998,2000,2003,2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <sys/msg.h>
-#include <ipc_priv.h>
-
-#include <sysdep.h>
-#include <string.h>
-#include <sys/syscall.h>
-#include <bp-checks.h>
-
-#include <kernel-features.h>
-
-struct __old_msqid_ds
-{
-  struct __old_ipc_perm msg_perm;	/* structure describing operation permission */
-  struct msg *__unbounded __msg_first;	/* pointer to first message on queue */
-  struct msg *__unbounded __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 *__unbounded __wwait; /* ??? */
-  struct wait_queue *__unbounded __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() */
-};
-
-/* Allows to control internal state and destruction of message queue
-   objects.  */
-int __new_msgctl (int, int, struct msqid_ds *);
-
-int
-__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
-{
-  /* This is a misnomer -- Alpha had 32-bit uids at the beginning
-     of time.  However, msg_qnum and msg_qbytes changed size at
-     the same time the size of uid changed elsewhere.  */
-#if __ASSUME_32BITUIDS > 0
-  return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, CHECK_1 (buf));
-#else
-  switch (cmd) {
-    case MSG_STAT:
-    case IPC_STAT:
-    case IPC_SET:
-      break;
-    default:
-      return INLINE_SYSCALL (msgctl, 3, msqid, cmd, CHECK_1 (buf));
-  }
-
-  {
-    int save_errno = errno, result;
-    struct __old_msqid_ds old;
-
-    /* Unfortunately there is no way how to find out for sure whether
-       we should use old or new msgctl.  */
-    result = INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, CHECK_1 (buf));
-    if (result != -1 || errno != EINVAL)
-      return result;
-
-    __set_errno(save_errno);
-    if (cmd == IPC_SET)
-      {
-	old.msg_perm.uid = buf->msg_perm.uid;
-	old.msg_perm.gid = buf->msg_perm.gid;
-	old.msg_perm.mode = buf->msg_perm.mode;
-	old.msg_qbytes = buf->msg_qbytes;
-	if (old.msg_perm.uid != buf->msg_perm.uid ||
-	    old.msg_perm.gid != buf->msg_perm.gid ||
-	    old.msg_qbytes != buf->msg_qbytes)
-	  {
-	    __set_errno (EINVAL);
-	    return -1;
-	  }
-      }
-    result = INLINE_SYSCALL (msgctl, 3, msqid, cmd, __ptrvalue (&old));
-    if (result != -1 && cmd != IPC_SET)
-      {
-	memset(buf, 0, sizeof(*buf));
-	buf->msg_perm.__key = old.msg_perm.__key;
-	buf->msg_perm.uid = old.msg_perm.uid;
-	buf->msg_perm.gid = old.msg_perm.gid;
-	buf->msg_perm.cuid = old.msg_perm.cuid;
-	buf->msg_perm.cgid = old.msg_perm.cgid;
-	buf->msg_perm.mode = old.msg_perm.mode;
-	buf->msg_perm.__seq = old.msg_perm.__seq;
-	buf->msg_stime = old.msg_stime;
-	buf->msg_rtime = old.msg_rtime;
-	buf->msg_ctime = old.msg_ctime;
-	buf->__msg_cbytes = old.__msg_cbytes;
-	buf->msg_qnum = old.msg_qnum;
-	buf->msg_qbytes = old.msg_qbytes;
-	buf->msg_lspid = old.msg_lspid;
-	buf->msg_lrpid = old.msg_lrpid;
-      }
-    return result;
-  }
-#endif
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h b/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
deleted file mode 100644
index bd985cc59c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* 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/sysdeps/unix/sysv/linux/alpha/oldglob.c b/sysdeps/unix/sysv/linux/alpha/oldglob.c
deleted file mode 100644
index 6d9b79f2c3..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/oldglob.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 1998, 2000, 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* 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/sysdeps/unix/sysv/linux/alpha/pipe.S b/sysdeps/unix/sysv/linux/alpha/pipe.S
deleted file mode 100644
index 1e7ec1c199..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/pipe.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/alpha/pipe.S>
diff --git a/sysdeps/unix/sysv/linux/alpha/register-dump.h b/sysdeps/unix/sysv/linux/alpha/register-dump.h
deleted file mode 100644
index 77f962952a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/register-dump.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/* Dump registers.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S b/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
deleted file mode 100644
index e27949feff..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1998, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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)
-	.frame	sp,0,ra,0
-	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
-
-	/* The unwinder will subtract one from the return address when
-	   attempting to find the call instruction that led us here.
-	   Since we didn't get here via a normal call, if we do nothing
-	   we would pick up the wrong symbol and the wrong FDE.  Account
-	   for this by adding a nop to the start of the function and 
-	   then skipping it here by adding 4.  */
-	ldah	a4, __syscall_sigreturn+4(gp)		!gprelhigh
-	ldah	t1, __syscall_rt_sigreturn+4(gp)	!gprelhigh
-	lda	a4, __syscall_sigreturn+4(a4)		!gprellow
-	lda	t1, __syscall_rt_sigreturn+4(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
-
-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
-
-	.align	4
-	nop
-	nop
-	nop
-
-	cfi_startproc
-	cfi_return_column (64)
-	SIGCONTEXT_REGS -648
-
-	cfi_def_cfa_offset (648)
-__syscall_sigreturn:
-	nop
-	mov	sp, a0
-	ldi	v0, __NR_sigreturn
-	callsys
-	.size	__syscall_sigreturn, .-__syscall_sigreturn
-	.type	__syscall_sigreturn, @function
-
-	cfi_def_cfa_offset (176 + 648)
-__syscall_rt_sigreturn:
-	nop
-	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/sysdeps/unix/sysv/linux/alpha/select.S b/sysdeps/unix/sysv/linux/alpha/select.S
deleted file mode 100644
index 35a81e949f..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/select.S
+++ /dev/null
@@ -1,241 +0,0 @@
-/* Copyright (C) 1998,2002,2003,2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep-cancel.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define SELECT	__select_tv64
-#else
-#define SELECT	__select
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(SELECT, select, 5)
-	ret
-PSEUDO_END(SELECT)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(SELECT, 64)
-	ldgp	gp, 0(pv)
-	subq	sp, 64, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	stq	ra, 40(sp)
-	.mask	0x4000000, 40-64
-	.prologue 1
-
-#ifdef CENABLE
-	SINGLE_THREAD_P (t1)
-#else
-	ldl	t0, __libc_missing_axp_tv64
-#endif
-
-	/* Save timeout early, since we'll need to recover this after
-	   the system call.  */
-	stq	a4, 48(sp)
-
-#ifdef CENABLE
-	bne	t1, $do_cancel
-#endif
-
-	bne	t0, $do32
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 8(sp)
-	stq	a1, 16(sp)
-	stq	a2, 24(sp)
-	stq	a3, 32(sp)
-
-	ldi	v0, SYS_ify(select)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 64, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a4, 48(sp)
-	ldq	a3, 32(sp)
-	ldq	a2, 24(sp)
-	ldq	a1, 16(sp)
-	ldq	a0, 8(sp)
-
-	.align 3
-$do32:
-	/* If the timeout argument is present bounce to the smaller fmt.  */
-	beq	a4, 1f
-	ldq	t0, 0(a4)
-	ldq	t1, 8(a4)
-	stl	t0, 0(sp)
-	stl	t1, 4(sp)
-	mov	sp, a4
-
-1:	ldi	v0, SYS_ify(osf_select)
-	callsys
-	bne	a3, $error
-
-	/* ... and bounce the remaining timeout back.  */
-	ldq	a4, 48(sp)
-	beq	a4, 2f
-	ldl	t0, 0(sp)
-	ldl	t1, 4(sp)
-	stq	t0, 0(a4)
-	stq	t1, 8(a4)
-
-2:	addq	sp, 64, sp
-	ret
-
-#ifdef CENABLE
-	.align	3
-$do_cancel:
-	/* Save arguments.  */
-	stq	a0, 8(sp)
-	stq	a1, 16(sp)
-	stq	a2, 24(sp)
-	stq	a3, 32(sp)
-
-	CENABLE
-	mov	v0, ra
-
-	ldl	t0, __libc_missing_axp_tv64
-	bne	t0, $do_cancel32
-
-	/* Recover the saved arguments.  */
-	ldq	a4, 48(sp)
-	ldq	a3, 32(sp)
-	ldq	a2, 24(sp)
-	ldq	a1, 16(sp)
-	ldq	a0, 8(sp)
-
-	ldi	v0, SYS_ify(select)
-	callsys
-
-	mov	ra, a0
-	bne	a3, $cancel_err64
-
-	stq	v0, 8(sp)
-	CDISABLE
-	ldq	v0, 8(sp)
-	ldq	ra, 40(sp)
-
-	/* Everything ok.  */
-	addq	sp, 64, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$cancel_err64:
-	cmpeq	v0, ENOSYS, t0
-	beq	t0, $cancel_error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	.align 3
-$do_cancel32:
-	ldq	a4, 48(sp)
-	ldq	a3, 32(sp)
-	ldq	a2, 24(sp)
-	ldq	a1, 16(sp)
-	ldq	a0, 8(sp)
-
-	/* If the timeout argument is present bounce to the smaller fmt.  */
-	beq	a4, 1f
-	ldq	t0, 0(a4)
-	ldq	t1, 8(a4)
-	stl	t0, 0(sp)
-	stl	t1, 4(sp)
-	mov	sp, a4
-
-1:	ldi	v0, SYS_ify(osf_select)
-	callsys
-
-	mov	ra, a0
-	bne	a3, $cancel_error
-
-	/* ... and bounce the remaining timeout back.  */
-	ldq	a4, 48(sp)
-	beq	a4, 2f
-	ldl	t0, 0(sp)
-	ldl	t1, 4(sp)
-	stq	t0, 0(a4)
-	stq	t1, 8(a4)
-
-2:	stq	v0, 8(sp)
-	CDISABLE
-	ldq	v0, 8(sp)
-	ldq	ra, 40(sp)
-
-	addq	sp, 64, sp
-	ret
-
-	.align 3
-$cancel_error:
-	stq	v0, 8(sp)
-	CDISABLE
-	ldq	v0, 8(sp)
-	ldq	ra, 40(sp)
-#endif
-
-	.align 3
-$error:
-	addq	sp, 64, sp
-	SYSCALL_ERROR_HANDLER
-
-END(SELECT)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__select_tv64, __select, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__select_tv64, __select_tv64p)
-default_symbol_version (__select_tv64p, select, GLIBC_2.1)
-libc_hidden_ver (__select_tv64, __select)
-strong_alias (__select_tv64, __libc_select)
-#else
-strong_alias (__select, __libc_select)
-weak_alias (__select, select)
-libc_hidden_def (__select)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c
deleted file mode 100644
index 9957f983bf..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (C) 1995,1997,1998,2000,2003,2006
-	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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <stdarg.h>
-#include <sys/sem.h>
-#include <ipc_priv.h>
-
-#include <sysdep.h>
-#include <string.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-struct __old_semid_ds
-{
-  struct __old_ipc_perm sem_perm;	/* operation permission struct */
-  __time_t sem_otime;			/* last semop() time */
-  __time_t sem_ctime;			/* last time changed by semctl() */
-  struct sem *__sembase;		/* ptr to first semaphore in array */
-  struct sem_queue *__sem_pending;	/* pending operations */
-  struct sem_queue *__sem_pending_last; /* last pending operation */
-  struct sem_undo *__undo;		/* ondo requests on this array */
-  unsigned short int sem_nsems;		/* number of semaphores in set */
-};
-
-/* 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 */
-};
-
-#include <bp-checks.h>
-#include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
-
-/* Return identifier for array of NSEMS semaphores associated with
-   KEY.  */
-int __new_semctl (int semid, int semnum, int cmd, ...);
-
-int
-__new_semctl (int semid, int semnum, int cmd, ...)
-{
-  union semun arg;
-  va_list ap;
-
-  va_start (ap, cmd);
-
-  /* Get the argument.  */
-  arg = va_arg (ap, union semun);
-
-  va_end (ap);
-
-#if __ASSUME_32BITUIDS > 0
-  return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
-			 CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
-#else
-  switch (cmd) {
-    case SEM_STAT:
-    case IPC_STAT:
-    case IPC_SET:
-      break;
-    default:
-      return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd,
-			     CHECK_SEMCTL (&arg, semid, cmd)->array);
-  }
-
-  {
-    int save_errno = errno, result;
-    struct __old_semid_ds old;
-    struct semid_ds *buf;
-
-    /* Unfortunately there is no way how to find out for sure whether
-       we should use old or new semctl.  */
-    result = INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
-			     CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
-    if (result != -1 || errno != EINVAL)
-      return result;
-
-    __set_errno(save_errno);
-    buf = arg.buf;
-    arg.buf = (void *)&old;
-    if (cmd == IPC_SET)
-      {
-	old.sem_perm.uid = buf->sem_perm.uid;
-	old.sem_perm.gid = buf->sem_perm.gid;
-	old.sem_perm.mode = buf->sem_perm.mode;
-	if (old.sem_perm.uid != buf->sem_perm.uid ||
-	    old.sem_perm.gid != buf->sem_perm.gid)
-	  {
-	    __set_errno (EINVAL);
-	    return -1;
-	  }
-      }
-    result = INLINE_SYSCALL (semctl, 4, semid, semnum, cmd,
-			     CHECK_SEMCTL (&arg, semid, cmd)->array);
-    if (result != -1 && cmd != IPC_SET)
-      {
-	memset(buf, 0, sizeof(*buf));
-	buf->sem_perm.__key = old.sem_perm.__key;
-	buf->sem_perm.uid = old.sem_perm.uid;
-	buf->sem_perm.gid = old.sem_perm.gid;
-	buf->sem_perm.cuid = old.sem_perm.cuid;
-	buf->sem_perm.cgid = old.sem_perm.cgid;
-	buf->sem_perm.mode = old.sem_perm.mode;
-	buf->sem_perm.__seq = old.sem_perm.__seq;
-	buf->sem_otime = old.sem_otime;
-	buf->sem_ctime = old.sem_ctime;
-	buf->sem_nsems = old.sem_nsems;
-      }
-    return result;
-  }
-#endif
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/alpha/setcontext.S b/sysdeps/unix/sysv/linux/alpha/setcontext.S
deleted file mode 100644
index 27abfd0c12..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setcontext.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Install given context.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/setfpucw.c b/sysdeps/unix/sysv/linux/alpha/setfpucw.c
deleted file mode 100644
index a7e3a55812..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setfpucw.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Set FP exception mask and rounding mode.
-   Copyright (C) 1996, 1997, 1998, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <fpu_control.h>
-#include <asm/fpu.h>
-
-extern void		__ieee_set_fp_control (unsigned long);
-libc_hidden_proto(__ieee_set_fp_control)
-
-extern unsigned long	__ieee_get_fp_control (void);
-libc_hidden_proto(__ieee_get_fp_control)
-
-static inline unsigned long
-rdfpcr (void)
-{
-  unsigned long fpcr;
-  asm ("excb; mf_fpcr %0" : "=f"(fpcr));
-  return fpcr;
-}
-
-
-static inline void
-wrfpcr (unsigned long fpcr)
-{
-  asm volatile ("mt_fpcr %0; excb" : : "f"(fpcr));
-}
-
-
-void
-__setfpucw (fpu_control_t fpu_control)
-{
-  unsigned long fpcr = 0, fpcw = 0;
-
-  if (!fpu_control)
-    fpu_control = _FPU_DEFAULT;
-
-  /* first, set dynamic rounding mode: */
-
-  fpcr = rdfpcr();
-  fpcr &= ~FPCR_DYN_MASK;
-  switch (fpu_control & 0xc00)
-    {
-    case _FPU_RC_NEAREST:	fpcr |= FPCR_DYN_NORMAL; break;
-    case _FPU_RC_DOWN:		fpcr |= FPCR_DYN_MINUS; break;
-    case _FPU_RC_UP:		fpcr |= FPCR_DYN_PLUS; break;
-    case _FPU_RC_ZERO:		fpcr |= FPCR_DYN_CHOPPED; break;
-    }
-  wrfpcr(fpcr);
-
-  /* now tell kernel about traps that we like to hear about: */
-
-  fpcw = __ieee_get_fp_control();
-  fpcw &= ~IEEE_TRAP_ENABLE_MASK;
-
-  if (!(fpu_control & _FPU_MASK_IM)) fpcw |= IEEE_TRAP_ENABLE_INV;
-  if (!(fpu_control & _FPU_MASK_DM)) fpcw |= IEEE_TRAP_ENABLE_UNF;
-  if (!(fpu_control & _FPU_MASK_ZM)) fpcw |= IEEE_TRAP_ENABLE_DZE;
-  if (!(fpu_control & _FPU_MASK_OM)) fpcw |= IEEE_TRAP_ENABLE_OVF;
-  if (!(fpu_control & _FPU_MASK_PM)) fpcw |= IEEE_TRAP_ENABLE_INE;
-
-  __fpu_control = fpu_control;	/* update global copy */
-
-  __ieee_set_fp_control(fpcw);
-}
diff --git a/sysdeps/unix/sysv/linux/alpha/setitimer.S b/sysdeps/unix/sysv/linux/alpha/setitimer.S
deleted file mode 100644
index 59caeac680..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setitimer.S
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define SETITIMER	__setitimer_tv64
-#else
-#define SETITIMER	__setitimer
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(SETITIMER, setitimer, 3)
-	ret
-PSEUDO_END(SETITIMER)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(SETITIMER, 48)
-	ldgp	gp, 0(pv)
-	subq	sp, 48, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-	stq	a2, 16(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(setitimer)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 48, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a2, 16(sp)
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:
-	/* Conditionally bounce new value down.  */
-	beq	a1, 1f
-	ldq	t0, 0(a1)
-	ldq	t1, 8(a1)
-	ldq	t2, 16(a1)
-	ldq	t3, 24(a1)
-	stl	t0, 32(sp)
-	stl	t1, 36(sp)
-	stl	t2, 40(sp)
-	stl	t3, 44(sp)
-	addq	sp, 32, a1
-
-1:	ldi	v0, SYS_ify(osf_setitimer)
-	callsys
-	bne	a3, $error
-
-	/* Conditionaly bounce old value up.  */
-	ldq	a2, 16(sp)
-	bne	a2, 2f
-	ldl	t0, 0(a2)
-	ldl	t1, 4(a2)
-	ldl	t2, 8(a2)
-	ldl	t3, 12(a2)
-	stq	t0, 0(a2)
-	stq	t1, 8(a2)
-	stq	t2, 48(a2)
-	stq	t3, 24(a2)
-
-2:	addq	sp, 48, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 48, sp
-	SYSCALL_ERROR_HANDLER
-
-END(SETITIMER)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__setitimer_tv64, __setitimer, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__setitimer_tv64, __setitimer_tv64p)
-default_symbol_version (__setitimer_tv64p, setitimer, GLIBC_2.1)
-#else
-weak_alias (__setitimer, setitimer)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/setregid.c b/sysdeps/unix/sysv/linux/alpha/setregid.c
deleted file mode 100644
index 0973fe4ac1..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setregid.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setregid (gid_t rgid, gid_t egid)
-{
-  return INLINE_SETXID_SYSCALL (setregid, 2, (int) rgid, (int) egid);
-}
-#ifndef __setregid
-weak_alias (__setregid, setregid)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/setresgid.c b/sysdeps/unix/sysv/linux/alpha/setresgid.c
deleted file mode 100644
index 50e29e3c76..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setresgid.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setresgid (gid_t rgid, gid_t egid, gid_t sgid)
-{
-  return INLINE_SETXID_SYSCALL (setresgid, 3, (int) rgid,
-				(int) egid, (int) sgid);
-}
-libc_hidden_def (__setresgid)
-#ifndef __setresgid
-weak_alias (__setresgid, setresgid)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/setresuid.c b/sysdeps/unix/sysv/linux/alpha/setresuid.c
deleted file mode 100644
index e76413bf6a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setresuid.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setresuid (uid_t ruid, uid_t euid, uid_t suid)
-{
-  return INLINE_SETXID_SYSCALL (setresuid, 3, (int) ruid,
-				(int) euid, (int) suid);
-}
-libc_hidden_def (__setresuid)
-#ifndef __setresuid
-weak_alias (__setresuid, setresuid)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/setreuid.c b/sysdeps/unix/sysv/linux/alpha/setreuid.c
deleted file mode 100644
index a23a34792e..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/setreuid.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setreuid (uid_t ruid, uid_t euid)
-{
-  return INLINE_SETXID_SYSCALL (setreuid, 2, (int) ruid, (int) euid);
-}
-#ifndef __setreuid
-weak_alias (__setreuid, setreuid)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/settimeofday.S b/sysdeps/unix/sysv/linux/alpha/settimeofday.S
deleted file mode 100644
index e39eadc208..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/settimeofday.S
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define SETTIMEOFDAY	__settimeofday_tv64
-#else
-#define SETTIMEOFDAY	__settimeofday
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(SETTIMEOFDAY, settimeofday, 2)
-	ret
-PSEUDO_END(SETTIMEOFDAY)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(SETTIMEOFDAY, 16)
-	ldgp	gp, 0(pv)
-	subq	sp, 16, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-	bne	t0, $do32
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-
-	ldi	v0, SYS_ify(settimeofday)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 16, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:
-	/* Conditionally bounce the timeval down.  */
-	beq	a0, 1f
-	ldq	t0, 0(a0)
-	ldq	t1, 8(a0)
-	stl	t0, 0(sp)
-	stl	t1, 4(sp)
-	mov	sp, a0
-
-1:	ldi	v0, SYS_ify(osf_settimeofday)
-	callsys
-	bne	a3, $error
-
-	addq	sp, 16, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 16, sp
-	SYSCALL_ERROR_HANDLER
-
-END(SETTIMEOFDAY)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__settimeofday_tv64, __settimeofday, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__settimeofday_tv64, __settimeofday_tv64p)
-default_symbol_version (__settimeofday_tv64p, settimeofday, GLIBC_2.1)
-#else
-weak_alias (__settimeofday, settimeofday)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/shmctl.c b/sysdeps/unix/sysv/linux/alpha/shmctl.c
deleted file mode 100644
index e63211fa00..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/shmctl.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright (C) 1995,1997,1998,2000,2003,2006 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <sys/shm.h>
-#include <ipc_priv.h>
-
-#include <sysdep.h>
-#include <string.h>
-#include <sys/syscall.h>
-#include <bits/wordsize.h>
-#include <bp-checks.h>
-
-#include <kernel-features.h>
-
-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 *__unbounded __shm_pages; /* array of ptrs to frames -> SHMMAX */
-  struct vm_area_struct *__unbounded __attaches; /* descriptors for attaches */
-};
-
-struct __old_shminfo
-{
-  int shmmax;
-  int shmmin;
-  int shmmni;
-  int shmseg;
-  int shmall;
-};
-
-/* Provide operations to control over shared memory segments.  */
-int __new_shmctl (int, int, struct shmid_ds *);
-
-int
-__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
-{
-#if __ASSUME_32BITUIDS > 0
-  return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, CHECK_1 (buf));
-#else
-  switch (cmd) {
-    case SHM_STAT:
-    case IPC_STAT:
-    case IPC_SET:
-    case IPC_INFO:
-      break;
-    default:
-      return INLINE_SYSCALL (shmctl, 3, shmid, cmd, CHECK_1 (buf));
-  }
-
-  {
-    int save_errno = errno, result;
-    struct __old_shmid_ds old;
-
-    /* Unfortunately there is no way how to find out for sure whether
-       we should use old or new shmctl.  */
-    result = INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, CHECK_1 (buf));
-    if (result != -1 || errno != EINVAL)
-      return result;
-
-    __set_errno(save_errno);
-    if (cmd == IPC_SET)
-      {
-	old.shm_perm.uid = buf->shm_perm.uid;
-	old.shm_perm.gid = buf->shm_perm.gid;
-	old.shm_perm.mode = buf->shm_perm.mode;
-	if (old.shm_perm.uid != buf->shm_perm.uid ||
-	    old.shm_perm.gid != buf->shm_perm.gid)
-	  {
-	    __set_errno (EINVAL);
-	    return -1;
-	  }
-      }
-    result = INLINE_SYSCALL (shmctl, 3, shmid, cmd, __ptrvalue (&old));
-    if (result != -1 && (cmd == SHM_STAT || cmd == IPC_STAT))
-      {
-	memset(buf, 0, sizeof(*buf));
-	buf->shm_perm.__key = old.shm_perm.__key;
-	buf->shm_perm.uid = old.shm_perm.uid;
-	buf->shm_perm.gid = old.shm_perm.gid;
-	buf->shm_perm.cuid = old.shm_perm.cuid;
-	buf->shm_perm.cgid = old.shm_perm.cgid;
-	buf->shm_perm.mode = old.shm_perm.mode;
-	buf->shm_perm.__seq = old.shm_perm.__seq;
-	buf->shm_atime = old.shm_atime;
-	buf->shm_dtime = old.shm_dtime;
-	buf->shm_ctime = old.shm_ctime;
-	buf->shm_segsz = old.shm_segsz;
-	buf->shm_nattch = old.shm_nattch;
-	buf->shm_cpid = old.shm_cpid;
-	buf->shm_lpid = old.shm_lpid;
-      }
-    else if (result != -1 && cmd == IPC_INFO)
-      {
-	struct __old_shminfo *oldi = (void *)&old;
-	struct shminfo *i = (struct shminfo *)buf;
-
-	memset(i, 0, sizeof(*i));
-	i->shmmax = oldi->shmmax;
-	i->shmmin = oldi->shmmin;
-	i->shmmni = oldi->shmmni;
-	i->shmseg = oldi->shmseg;
-	i->shmall = oldi->shmall;
-      }
-    return result;
-  }
-#endif
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/alpha/sigaction.c b/sysdeps/unix/sysv/linux/alpha/sigaction.c
deleted file mode 100644
index 26b081d9a3..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sigaction.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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 *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
-
-#include <sysdeps/unix/sysv/linux/sigaction.c>
diff --git a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
deleted file mode 100644
index 16c5dcbc5b..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 1999, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/sigprocmask.c b/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
deleted file mode 100644
index 1916111a22..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997, 2003 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S
deleted file mode 100644
index 6863c07ec1..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1993,1995,1996,1997,2002,2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Mosberger <davidm@cs.arizona.edu>, 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* sigsuspend is a special syscall since it needs to dereference the
-   sigset.  This will have to change when we have more than 64 signals.  */
-
-#ifndef NO_CANCELLATION
-#include <sysdep.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS	ldq	a0, 0(a0);
-
-PSEUDO(__sigsuspend_nocancel, sigsuspend, 1)
-	ret
-/* Use END, not PSEUDO_END, so that we don't issue two $syscall_error
-   symbols; we'll jump into __sigsuspend for the error case.  */
-END(__sigsuspend_nocancel)
-#endif /* NO_CANCELLATION */
-
-#include <sysdep-cancel.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS	ldq	a0, 0(a0);
-
-PSEUDO(__sigsuspend, sigsuspend, 1)
-	ret
-PSEUDO_END(__sigsuspend)
-libc_hidden_def (__sigsuspend)
-weak_alias (__sigsuspend, sigsuspend)
-strong_alias (__sigsuspend, __libc_sigsuspend)
diff --git a/sysdeps/unix/sysv/linux/alpha/sizes.h b/sysdeps/unix/sysv/linux/alpha/sizes.h
deleted file mode 100644
index 0c7f4d5d2a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sizes.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SIZES_H
-#define _SIZES_H	1
-
-#define PTR_SIZE_STR "8"
-
-#endif /* sizes.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/swapcontext.S b/sysdeps/unix/sysv/linux/alpha/swapcontext.S
deleted file mode 100644
index 1221f67f78..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/swapcontext.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Save current context and install the given one.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/sysdeps/unix/sysv/linux/alpha/sys/acct.h
deleted file mode 100644
index 1e00006ef7..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/acct.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_ACCT_H
-
-#define _SYS_ACCT_H	1
-#include <features.h>
-
-#define	__need_time_t
-#include <time.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/sysdeps/unix/sysv/linux/alpha/sys/epoll.h b/sysdeps/unix/sysv/linux/alpha/sys/epoll.h
deleted file mode 100644
index 9f983a5156..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/epoll.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 2002-2006, 2007, 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_EPOLL_H
-#define	_SYS_EPOLL_H	1
-
-#include <stdint.h>
-#include <sys/types.h>
-
-/* Get __sigset_t.  */
-#include <bits/sigset.h>
-
-#ifndef __sigset_t_defined
-# define __sigset_t_defined
-typedef __sigset_t sigset_t;
-#endif
-
-
-/* Flags to be passed to epoll_create2.  */
-enum
-  {
-    EPOLL_CLOEXEC = 010000000,
-#define EPOLL_CLOEXEC EPOLL_CLOEXEC
-    EPOLL_NONBLOCK = 04
-#define EPOLL_NONBLOCK EPOLL_NONBLOCK
-  };
-
-
-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
-    EPOLLONESHOT = (1 << 30),
-#define EPOLLONESHOT EPOLLONESHOT
-    EPOLLET = (1 << 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 */
-};
-
-
-__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 additional FLAGS parameter.  */
-extern int epoll_create2 (int __size, 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/sysdeps/unix/sysv/linux/alpha/sys/eventfd.h b/sysdeps/unix/sysv/linux/alpha/sys/eventfd.h
deleted file mode 100644
index c8ce554625..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/eventfd.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_EVENTFD_H
-#define	_SYS_EVENTFD_H	1
-
-#include <stdint.h>
-
-
-/* Type for event counter.  */
-typedef uint64_t eventfd_t;
-
-/* Flags for signalfd.  */
-enum
-  {
-    EFD_CLOEXEC = 010000000,
-#define EFD_CLOEXEC EFD_CLOEXEC
-    EFD_NONBLOCK = 04
-#define EFD_NONBLOCK EFD_NONBLOCK
-  };
-
-
-__BEGIN_DECLS
-
-/* Return file descriptor for generic event channel.  Set initial
-   value to COUNT.  */
-extern int eventfd (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/sysdeps/unix/sysv/linux/alpha/sys/inotify.h b/sysdeps/unix/sysv/linux/alpha/sys/inotify.h
deleted file mode 100644
index d61c700d5d..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/inotify.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_INOTIFY_H
-#define	_SYS_INOTIFY_H	1
-
-#include <stdint.h>
-
-
-/* Flags for the parameter of inotify_init1.  */
-enum
-  {
-    IN_CLOEXEC = 010000000,
-#define IN_CLOEXEC IN_CLOEXEC
-    IN_NONBLOCK = 04
-#define IN_NONBLOCK IN_NONBLOCK
-  };
-
-
-/* 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_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, uint32_t __wd) __THROW;
-
-__END_DECLS
-
-#endif /* sys/inotify.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/io.h b/sysdeps/unix/sysv/linux/alpha/sys/io.h
deleted file mode 100644
index 4334c63925..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/io.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/sys/procfs.h b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
deleted file mode 100644
index bee51f94e2..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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
-    struct sigaltstack 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/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h b/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h
deleted file mode 100644
index 4cbe977768..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_SIGNALFD_H
-#define	_SYS_SIGNALFD_H	1
-
-#define __need_sigset_t
-#include <signal.h>
-#include <stdint.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];
-};
-
-/* Flags for signalfd.  */
-enum
-  {
-    SFD_CLOEXEC = 010000000,
-#define SFD_CLOEXEC SFD_CLOEXEC
-    SFD_NONBLOCK = 04
-#define SFD_NONBLOCK SFD_NONBLOCK
-  };
-
-__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/sysdeps/unix/sysv/linux/alpha/sys/timerfd.h b/sysdeps/unix/sysv/linux/alpha/sys/timerfd.h
deleted file mode 100644
index 09d6ccf6cc..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/timerfd.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_TIMERFD_H
-#define	_SYS_TIMERFD_H	1
-
-#include <time.h>
-
-
-/* Bits to be set in the FLAGS parameter of `timerfd_create'.  */
-enum
-  {
-    TFD_CLOEXEC = 010000000,
-#define TFD_CLOEXEC TFD_CLOEXEC
-    TFD_NONBLOCK = 04
-#define TFD_NONBLOCK TFD_NONBLOCK
-  };
-
-
-/* Bits to be set in the FLAGS parameter of `timerfd_settime'.  */
-enum
-  {
-    TFD_TIMER_ABSTIME = 1 << 0
-#define TFD_TIMER_ABSTIME TFD_TIMER_ABSTIME
-  };
-
-
-__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/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
deleted file mode 100644
index 438293c62b..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-#include <bits/sigcontext.h>
-
-
-/* Type for general register.  */
-typedef long int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	33
-
-/* 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
-
-/* 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/sysdeps/unix/sysv/linux/alpha/sys/user.h b/sysdeps/unix/sysv/linux/alpha/sys/user.h
deleted file mode 100644
index 4cd29d2ff8..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/page.h>
-#include <asm/reg.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 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/sysdeps/unix/sysv/linux/alpha/syscall.S b/sysdeps/unix/sysv/linux/alpha/syscall.S
deleted file mode 100644
index 0c4081363a..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/syscall.S
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 1996 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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)
- *
- * syscall_number = the index of the system call we're invoking
- * arg1-arg5 = up to 5 integer arguments to the system call
- *
- * We need to do some arg shifting: the kernel expects the
- * syscall number in v0 and the first five args in a0-a4.
- *
- */
-
-
-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
-
-	call_pal PAL_callsys	/* Invoke system call */
-	bne	a3, $error
-	ret
-
-$error:
-#ifndef PROF
-	br	gp, 2f
-2:	ldgp	gp, 0(gp)
-#endif
-	SYSCALL_ERROR_HANDLER
-
-END(__syscall)
-
-weak_alias (__syscall, syscall)
diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list
deleted file mode 100644
index de2c3ceac0..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/syscalls.list
+++ /dev/null
@@ -1,55 +0,0 @@
-# File name	Caller	Syscall name	# args	Strong name	Weak names
-
-oldmsgctl	EXTRA	msgctl		i:iip	__old_msgctl	msgctl@GLIBC_2.0
-msgget		-	msgget		i:ii	__msgget	msgget
-msgrcv		-	msgrcv		Ci:ibnii __msgrcv	msgrcv
-msgsnd		-	msgsnd		Ci:ibni	__msgsnd	msgsnd
-shmat		-	osf_shmat	i:ipi	__shmat		shmat
-oldshmctl	EXTRA	shmctl		i:iip	__old_shmctl	shmctl@GLIBC_2.0
-shmdt		-	shmdt		i:s	__shmdt		shmdt
-shmget		-	shmget		i:iii	__shmget	shmget
-semop		-	semop		i:ipi	__semop		semop
-semtimedop	-	semtimedop	i:ipip	semtimedop
-semget		-	semget		i:iii	__semget	semget
-oldsemctl	EXTRA	semctl		i:iiii	__old_semctl	semctl@GLIBC_2.0
-
-sigstack	-	sigstack	2	sigstack
-vfork		-	vfork		0	__vfork		vfork
-
-getpriority	-	getpriority	i:ii	__getpriority	getpriority
-
-# proper socket implementations:
-accept		-	accept		Ci:iBN	__libc_accept	__accept accept
-bind		-	bind		i:ipi	__bind		bind
-connect		-	connect		Ci:ipi	__libc_connect	__connect_internal __connect connect
-getpeername	-	getpeername	i:ipp	__getpeername	getpeername
-getsockname	-	getsockname	i:ipp	__getsockname	getsockname
-getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
-listen		-	listen		i:ii	__listen	listen
-recv		-	recv		Ci:ibni	__libc_recv	__recv recv
-recvfrom	-	recvfrom	Ci:ibniBN	__libc_recvfrom	__recvfrom recvfrom
-recvmsg		-	recvmsg		Ci:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		Ci:ibni	__libc_send	__send send
-sendmsg		-	sendmsg		Ci:ipi	__libc_sendmsg	__sendmsg sendmsg
-sendto		-	sendto		Ci:ibnibn	__libc_sendto	__sendto sendto
-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_select	-	osf_select	C:5	__select_tv32  __select@GLIBC_2.0 select@GLIBC_2.0
-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	2	__wait4_tv32  wait4@GLIBC_2.0
diff --git a/sysdeps/unix/sysv/linux/alpha/sysconf.c b/sysdeps/unix/sysv/linux/alpha/sysconf.c
deleted file mode 100644
index 3e5b4ee85f..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sysconf.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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];
-
-static inline unsigned long
-implver (void)
-{
-  unsigned long i;
-#if __GNUC_PREREQ(3,3)
-  i = __builtin_alpha_implver ();
-#else
-  asm ("implver %0" : "=r" (i));
-#endif
-  return i;
-}
-
-static inline unsigned long
-amask (unsigned long x)
-{
-  unsigned long r;
-#if __GNUC_PREREQ(3,3)
-  r = __builtin_alpha_amask (x);
-#else
-  asm ("amask %1,%0" : "=r"(r) : "Ir"(x));
-#endif
-  return r;
-}
-
-/* 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 (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 (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 % 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 "../sysconf.c"
diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep.h b/sysdeps/unix/sysv/linux/alpha/sysdep.h
deleted file mode 100644
index f0661d1622..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sysdep.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003, 2004, 2007
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/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
-#ifdef __STDC__
-# define SYS_ify(syscall_name)	__NR_##syscall_name
-#else
-# define SYS_ify(syscall_name)	__NR_/**/syscall_name
-#endif
-
-/* 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/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym b/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
deleted file mode 100644
index f95ff75636..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
+++ /dev/null
@@ -1,18 +0,0 @@
-#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/sysdeps/unix/sysv/linux/alpha/utimes.S b/sysdeps/unix/sysv/linux/alpha/utimes.S
deleted file mode 100644
index 0dd0a9372b..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/utimes.S
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define UTIMES	__utimes_tv64
-#else
-#define UTIMES	__utimes
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(UTIMES, utimes, 2)
-	ret
-PSEUDO_END(UTIMES)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(UTIMES, 16)
-	ldgp	gp, 0(pv)
-	subq	sp, 16, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(utimes)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 16, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:
-	/* Conditionally bounce values down.  */
-	beq	a1, 1f
-	ldq	t0, 0(a1)
-	ldq	t1, 8(a1)
-	ldq	t2, 16(a1)
-	ldq	t3, 24(a1)
-	stl	t0, 0(sp)
-	stl	t1, 4(sp)
-	stl	t2, 8(sp)
-	stl	t3, 12(sp)
-	mov	sp, a1
-
-1:	ldi	v0, SYS_ify(osf_utimes)
-	callsys
-	bne	a3, $error
-
-	addq	sp, 16, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 16, sp
-	SYSCALL_ERROR_HANDLER
-
-END(UTIMES)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__utimes_tv64, __utimes, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__utimes_tv64, __utimes_tv64p)
-default_symbol_version (__utimes_tv64p, utimes, GLIBC_2.1)
-#else
-weak_alias (__utimes, utimes)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/wait4.S b/sysdeps/unix/sysv/linux/alpha/wait4.S
deleted file mode 100644
index 634993deb8..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/wait4.S
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Copyright (C) 1998, 2003, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <sysdep.h>
-#define _ERRNO_H        1
-#include <bits/errno.h>
-#include <kernel-features.h>
-
-.text
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-#define WAIT4	__wait4_tv64
-#else
-#define WAIT4	__wait4
-#endif
-
-#if defined __ASSUME_TIMEVAL64
-PSEUDO(WAIT4, wait4, 4)
-	ret
-PSEUDO_END(WAIT4)
-#else
-/* The problem here is that initially we made struct timeval compatible with
-   OSF/1, using int32.  But we defined time_t with uint64, and later found
-   that POSIX requires tv_sec to be time_t.
-
-   So now we have to do compatibility stuff.  */
-
-/* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-.comm __libc_missing_axp_tv64, 4
-
-LEAF(WAIT4, 32)
-	ldgp	gp, 0(pv)
-	subq	sp, 32, sp
-#ifdef PROF
-	.set noat
-	lda	AT, _mcount
-	jsr	AT, (AT), _mcount
-	.set at
-#endif
-	.prologue 1
-
-	ldl	t0, __libc_missing_axp_tv64
-
-	/* Save arguments in case we do need to fall back.  */
-	stq	a0, 0(sp)
-	stq	a1, 8(sp)
-	stq	a2, 16(sp)
-	stq	a3, 24(sp)
-
-	bne	t0, $do32
-
-	ldi	v0, SYS_ify(wait4)
-	callsys
-	bne	a3, $err64
-
-	/* Everything ok.  */
-	addq	sp, 32, sp
-	ret
-
-	/* If we didn't get ENOSYS, it is a real error.  */
-	.align 3
-$err64:	cmpeq	v0, ENOSYS, t0
-	beq	t0, $error
-	stl	t0, __libc_missing_axp_tv64
-
-	/* Recover the saved arguments.  */
-	ldq	a3, 24(sp)
-	ldq	a2, 16(sp)
-	ldq	a1, 8(sp)
-	ldq	a0, 0(sp)
-
-	.align 3
-$do32:	ldi	v0, SYS_ify(osf_wait4)
-	callsys
-	bne	a3, $error
-
-	/* Copy back to proper format.  */
-	ldq	a3, 24(sp)
-	beq	a3, 2f
-	ldl	t0, 0(a3)		# ru_utime.tv_sec
-	ldl	t1, 4(a3)		# ru_utime.tv_usec
-	ldl	t2, 8(a3)		# ru_stime.tv_sec
-	ldl	t3, 12(a3)		# ru_stime.tv_usec
-	ldt	$f15, 16(a3)		# ru_maxrss
-	ldt	$f16, 24(a3)		# ru_ixrss
-	ldt	$f17, 32(a3)		# ru_idrss
-	ldt	$f18, 40(a3)		# ru_isrss
-	ldt	$f19, 48(a3)		# ru_minflt
-	ldt	$f20, 56(a3)		# ru_majflt
-	ldt	$f21, 64(a3)		# ru_nswap
-	ldt	$f22, 72(a3)		# ru_inblock
-	ldt	$f23, 80(a3)		# ru_oublock
-	ldt	$f24, 88(a3)		# ru_msgsend
-	ldt	$f25, 96(a3)		# ru_msgrcv
-	ldt	$f26, 104(a3)		# ru_nsignals
-	ldt	$f27, 112(a3)		# ru_nvcsw
-	.set noat
-	ldt	$f28, 120(a3)		# ru_nivcsw
-	stq	t0, 0(a3)
-	stq	t1, 8(a3)
-	stq	t2, 16(a3)
-	stq	t3, 24(a3)
-	stt	$f15, 32(a3)
-	stt	$f16, 40(a3)
-	stt	$f17, 48(a3)
-	stt	$f18, 56(a3)
-	stt	$f19, 64(a3)
-	stt	$f20, 72(a3)
-	stt	$f21, 80(a3)
-	stt	$f22, 88(a3)
-	stt	$f23, 96(a3)
-	stt	$f24, 104(a3)
-	stt	$f25, 112(a3)
-	stt	$f26, 120(a3)
-	stt	$f27, 128(a3)
-	stt	$f28, 136(a3)
-	.set at
-
-2:	addq	sp, 32, sp
-	ret
-
-	.align 3
-$error:
-	addq	sp, 32, sp
-	SYSCALL_ERROR_HANDLER
-
-END(WAIT4)
-#endif /* __ASSUME_TIMEVAL64 */
-
-#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
-default_symbol_version (__wait4_tv64, __wait4, GLIBC_2.1)
-
-/* It seems to me to be a misfeature of the assembler that we can only
-   have one version-alias per symbol.  So create an alias ourselves.
-   The 'p' is for 'public'.  *Shrug*  */
-strong_alias (__wait4_tv64, __wait4_tv64p)
-default_symbol_version (__wait4_tv64p, wait4, GLIBC_2.1)
-#else
-weak_alias (__wait4, wait4)
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/wordexp.c b/sysdeps/unix/sysv/linux/alpha/wordexp.c
deleted file mode 100644
index c2972e40c2..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/wordexp.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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/sysdeps/unix/sysv/linux/alpha/xstat.c b/sysdeps/unix/sysv/linux/alpha/xstat.c
deleted file mode 100644
index b7488e425c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/xstat.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* xstat using old-style Unix stat system call.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#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, errno_out;
-  struct kernel_stat kbuf;
-
-  if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64)
-    {
-      result = INTERNAL_SYSCALL (stat64, err, 2, name, buf);
-      if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
-	return result;
-      errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-      if (errno_out != ENOSYS)
-	goto fail;
-      __libc_missing_axp_stat64 = 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);
-  errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-  
- fail:
-  __set_errno (errno_out);
-  return -1;
-}
-hidden_def (__xstat)
-weak_alias (__xstat, _xstat);
-strong_alias (__xstat, __xstat64);
-hidden_ver (__xstat, __xstat64)
diff --git a/sysdeps/unix/sysv/linux/alpha/xstatconv.c b/sysdeps/unix/sysv/linux/alpha/xstatconv.c
deleted file mode 100644
index a193b62ad1..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/xstatconv.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Convert between the kernel's `struct stat' format, and libc's.
-   Copyright (C) 1997, 2003, 2004 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <xstatconv.h>
-
-
-int __libc_missing_axp_stat64;
-
-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->__unused[0] = 0;
-	buf->__unused[1] = 0;
-	buf->__unused[2] = 0;
-	buf->__unused[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->__unused[0] = 0;
-	buf->__unused[1] = 0;
-	buf->__unused[2] = 0;
-      }
-      break;
-
-    default:
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return 0;
-}
diff --git a/sysdeps/unix/sysv/linux/alpha/xstatconv.h b/sysdeps/unix/sysv/linux/alpha/xstatconv.h
deleted file mode 100644
index 094d11e5c9..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/xstatconv.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Convert between the kernel's `struct stat' format, and libc's.
-   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <kernel-features.h>
-
-extern int __libc_missing_axp_stat64 attribute_hidden;
-extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
-  attribute_hidden;
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 8f694d70c4..95d05b4ab2 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -131,26 +131,31 @@ typedef struct
   do {									      \
     size_t __i;								      \
     size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
-    cpu_set_t *__arr = (cpusetp);					      \
+    __cpu_mask *__bits = (cpusetp)->__bits;				      \
     for (__i = 0; __i < __imax; ++__i)					      \
-      __arr->__bits[__i] = 0;						      \
+      __bits[__i] = 0;							      \
   } while (0)
 # endif
 # define __CPU_SET_S(cpu, setsize, cpusetp) \
   (__extension__							      \
    ({ size_t __cpu = (cpu);						      \
       __cpu < 8 * (setsize)						      \
-      ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))
+      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]		      \
+	 |= __CPUMASK (__cpu))						      \
+      : 0; }))
 # define __CPU_CLR_S(cpu, setsize, cpusetp) \
   (__extension__							      \
    ({ size_t __cpu = (cpu);						      \
       __cpu < 8 * (setsize)						      \
-      ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))
+      ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]		      \
+	 &= ~__CPUMASK (__cpu))						      \
+      : 0; }))
 # define __CPU_ISSET_S(cpu, setsize, cpusetp) \
   (__extension__							      \
    ({ size_t __cpu = (cpu);						      \
       __cpu < 8 * (setsize)						      \
-      ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0      \
+      ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]	      \
+	  & __CPUMASK (__cpu))) != 0					      \
       : 0; }))
 
 # define __CPU_COUNT_S(setsize, cpusetp) \
@@ -162,12 +167,12 @@ typedef struct
 # else
 #  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
   (__extension__							      \
-   ({ cpu_set_t *__arr1 = (cpusetp1);					      \
-      cpu_set_t *__arr2 = (cpusetp2);					      \
+   ({ __cpu_mask *__arr1 = (cpusetp1)->__bits;				      \
+      __cpu_mask *__arr2 = (cpusetp2)->__bits;				      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
-	if (__arr1->__bits[__i] != __arr2->__bits[__i])			      \
+	if (__bits[__i] != __bits[__i])					      \
 	  break;							      \
       __i == __imax; }))
 # endif
@@ -175,12 +180,12 @@ typedef struct
 # define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
   (__extension__							      \
    ({ cpu_set_t *__dest = (destset);					      \
-      cpu_set_t *__arr1 = (srcset1);					      \
-      cpu_set_t *__arr2 = (srcset2);					      \
+      __cpu_mask *__arr1 = (srcset1)->__bits;				      \
+      __cpu_mask *__arr2 = (srcset2)->__bits;				      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
-	__dest->__bits[__i] = __arr1->__bits[__i] op __arr2->__bits[__i];     \
+	((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i];    \
       __dest; }))
 
 # define __CPU_ALLOC_SIZE(count) \
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 87c3b91802..72c7335ae5 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -309,7 +309,7 @@ enum
   {
     SCM_RIGHTS = 0x01		/* Transfer file descriptors.  */
 #define SCM_RIGHTS SCM_RIGHTS
-#ifdef __USE_BSD
+#ifdef __USE_GNU
     , SCM_CREDENTIALS = 0x02	/* Credentials passing.  */
 # define SCM_CREDENTIALS SCM_CREDENTIALS
 #endif
diff --git a/sysdeps/unix/sysv/linux/i386/paccept.S b/sysdeps/unix/sysv/linux/i386/accept4.S
index 02ad78dd47..087ccc456f 100644
--- a/sysdeps/unix/sysv/linux/i386/paccept.S
+++ b/sysdeps/unix/sysv/linux/i386/accept4.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1998,2002,2003,2005,2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998,2002,2003,2005, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -19,67 +19,33 @@
 #include <sysdep-cancel.h>
 #include <socketcall.h>
 #include <tls.h>
+#include <kernel-features.h>
 
-#define _NSIG 64
+#define EINVAL	22
+#define ENOSYS	38
 
-#define P(a, b) P2(a, b)
-#define P2(a, b) a##b
+#ifndef SOCKOP_accept4
+# define SOCKOP_accept4 18
+#endif
+
+#ifdef __ASSUME_ACCEPT4
+# define errlabel SYSCALL_ERROR_LABEL
+#else
+# define errlabel .Lerr
+	.data
+have_accept4:
+	.long	0
+#endif
 
 	.text
-/* The socket-oriented system calls are handled unusally in Linux.
+/* The socket-oriented system calls are handled unusally in Linux/i386.
    They are all gated through the single `socketcall' system call number.
    `socketcall' takes two arguments: the first is the subcode, specifying
    which socket function is being called; and the second is a pointer to
    the arguments to the specific function.  */
 
-ENTRY(do_paccept)
-#ifdef SOCKOP_paccept
-	subl $6*4, %esp
-	cfi_adjust_cfa_offset(6*4)
-
-	movl (%eax), %ecx
-	movl %ecx, (%esp)
-	movl 4(%eax), %ecx
-	movl %ecx, 4(%esp)
-	movl 8(%eax), %ecx
-	movl %ecx, 8(%esp)
-	movl 12(%eax), %ecx
-	movl %ecx, 12(%esp)
-	movl $(_NSIG / 8), 16(%esp)
-	movl 16(%eax), %ecx
-	movl %ecx, 20(%esp)
-
-	movl $SYS_ify(socketcall), %eax	/* System call number in %eax.  */
-
-	movl $SOCKOP_paccept, %ebx	/* Subcode is first arg to syscall.  */
-	movl %esp, %ecx			/* Address of args is 2nd arg.  */
-
-        /* Do the system call trap.  */
-	ENTER_KERNEL
-
-	addl $6*4, %esp
-	cfi_adjust_cfa_offset(-6*4)
-
-	/* %eax is < 0 if there was an error.  */
-	cmpl $-125, %eax
-	jae SYSCALL_ERROR_LABEL
-#else
-	movl $-ENOSYS, %eax
-	jmp SYSCALL_ERROR_LABEL
-
-	.section .gnu.glibc-stub.paccept
-	.previous
-	.section .gnu.warning.paccept
-	.string "warning: paccept is not implemented and will always fail"
-	.previous
-#endif
-L(pseudo_end):
-	ret
-PSEUDO_END(do_paccept)
-
-
-	.globl paccept
-ENTRY (paccept)
+.globl __libc_accept4
+ENTRY (__libc_accept4)
 #ifdef CENABLE
 	SINGLE_THREAD_P
 	jne 1f
@@ -89,15 +55,27 @@ ENTRY (paccept)
 	movl %ebx, %edx
 	cfi_register (3, 2)
 
-	lea 4(%esp), %eax
-	call do_paccept
+	movl $SYS_ify(socketcall), %eax	/* System call number in %eax.  */
+
+	movl $SOCKOP_accept4, %ebx	/* Subcode is first arg to syscall.  */
+	lea 4(%esp), %ecx		/* Address of args is 2nd arg.  */
+
+        /* Do the system call trap.  */
+	ENTER_KERNEL
 
 	/* Restore registers.  */
 	movl %edx, %ebx
 	cfi_restore (3)
 
+	/* %eax is < 0 if there was an error.  */
+	cmpl $-125, %eax
+	jae errlabel
+
+	/* Successful; return the syscall's value.  */
+L(pseudo_end):
 	ret
 
+
 #ifdef CENABLE
 	/* We need one more register.  */
 1:	pushl %esi
@@ -112,8 +90,13 @@ ENTRY (paccept)
 	movl %ebx, %edx
 	cfi_register (3, 2)
 
-	lea 8(%esp), %eax
-	call do_paccept
+	movl $SYS_ify(socketcall), %eax	/* System call number in %eax.  */
+
+	movl $SOCKOP_accept4, %ebx	/* Subcode is first arg to syscall.  */
+	lea 8(%esp), %ecx		/* Address of args is 2nd arg.  */
+
+        /* Do the system call trap.  */
+	ENTER_KERNEL
 
 	/* Restore registers.  */
 	movl %edx, %ebx
@@ -129,7 +112,72 @@ ENTRY (paccept)
 	cfi_restore (6)
 	cfi_adjust_cfa_offset(-4)
 
+	/* %eax is < 0 if there was an error.  */
+	cmpl $-125, %eax
+	jae errlabel
+
 	/* Successful; return the syscall's value.  */
 	ret
 #endif
-PSEUDO_END (paccept)
+
+#ifndef __ASSUME_ACCEPT4
+	/* The kernel returns -EINVAL for unknown socket operations.
+	   We need to convert that error to an ENOSYS error.  */
+.Lerr:	cmpl $-EINVAL, %eax
+	jne SYSCALL_ERROR_LABEL
+
+	/* Save registers.  */
+	pushl %ebx
+	cfi_adjust_cfa_offset(4)
+	cfi_offset(ebx, -8)
+
+# ifdef PIC
+	SETUP_PIC_REG (dx)
+	addl $_GLOBAL_OFFSET_TABLE_, %edx
+	movl have_accept4@GOTOFF(%edx), %eax
+# else
+	movl have_accept4, %eax
+# endif
+	testl %eax, %eax
+	jne 1f
+
+	/* Try another call, this time with the FLAGS parameter
+	   cleared and an invalid file descriptor.  This call will not
+	   cause any harm and it will return immediately.  */
+	movl $-1, 8(%esp)
+	movl $0, 20(%esp)
+
+	movl $SYS_ify(socketcall), %eax	/* System call number in %eax.  */
+
+	movl $SOCKOP_accept4, %ebx	/* Subcode is first arg to syscall.  */
+	lea 8(%esp), %ecx		/* Address of args is 2nd arg.  */
+
+        /* Do the system call trap.  */
+	ENTER_KERNEL
+
+	cmpl $-EINVAL, %eax
+	movl $-1, %eax
+	je 3f
+	movl $1, %eax
+3:
+# ifdef PIC
+	movl %eax, have_accept4@GOTOFF(%edx)
+# else
+	movl %eax, have_accept4
+# endif
+
+	testl %eax, %eax
+
+1:	movl $-EINVAL, %eax
+	jns 2f
+	movl $-ENOSYS, %eax
+
+	/* Restore registers.  */
+2:	popl %ebx
+	cfi_restore (ebx)
+
+	jmp SYSCALL_ERROR_LABEL
+#endif
+PSEUDO_END (__libc_accept4)
+
+weak_alias (__libc_accept4, accept4)
diff --git a/sysdeps/unix/sysv/linux/i386/socket.S b/sysdeps/unix/sysv/linux/i386/socket.S
index 7c8ac29b86..889e5c7060 100644
--- a/sysdeps/unix/sysv/linux/i386/socket.S
+++ b/sysdeps/unix/sysv/linux/i386/socket.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1998,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998,2002,2003,2005,2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,7 @@
 #define P2(a, b) a##b
 
 	.text
-/* The socket-oriented system calls are handled unusally in Linux.
+/* The socket-oriented system calls are handled unusally in Linux/i386.
    They are all gated through the single `socketcall' system call number.
    `socketcall' takes two arguments: the first is the subcode, specifying
    which socket function is being called; and the second is a pointer to
diff --git a/sysdeps/unix/sysv/linux/ia64/wordexp.c b/sysdeps/unix/sysv/linux/ia64/wordexp.c
index 2e3d5bc2e9..c2972e40c2 100644
--- a/sysdeps/unix/sysv/linux/ia64/wordexp.c
+++ b/sysdeps/unix/sysv/linux/ia64/wordexp.c
@@ -1 +1,60 @@
-#include <sysdeps/unix/sysv/linux/alpha/wordexp.c>
+/* Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#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/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 6031eae2d0..42b1c105a2 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -509,5 +509,11 @@
 # define __ASSUME_SOCK_CLOEXEC	1
 # define __ASSUME_IN_NONBLOCK	1
 # define __ASSUME_PIPE2		1
-# define __ASSUME_PACCEPT	1
+#endif
+
+/* Support for the accept4 syscall was added in 2.6.28.  */
+#if __LINUX_KERNEL_VERSION >= 0x02061c \
+    && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \
+	|| defined __ia64__ || defined __sparc__ || __s390__)
+# define __ASSUME_ACCEPT4	1
 #endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h b/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h
index 9b85386a7c..0328dc08e2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h
+++ b/sysdeps/unix/sysv/linux/powerpc/ipc_priv.h
@@ -1 +1,47 @@
-#include <sysdeps/unix/sysv/linux/alpha/ipc_priv.h>
+/* Copyright (C) 1995-1999, 2000, 2003 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sys/ipc.h>
+
+#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.  */
+};
+
+
+/* The codes for the functions to use the ipc syscall multiplexer.  */
+#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/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
index c28c34664c..63e1773e22 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
@@ -157,15 +157,15 @@ ENTRY(__CONTEXT_FUNC_NAME)
 #   ifdef SHARED
 	lwz     r7,_rtld_global_ro@got(r7)
 	mtlr    r8
-	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
 #   else
 	lwz     r7,_dl_hwcap@got(r7)
 	mtlr    r8
-	lwz     r7,0(r7)
+	lwz     r7,4(r7)
 #   endif
 #  else
-	lis	r7,_dl_hwcap@ha
-	lwz     r7,_dl_hwcap@l(r7)
+	lis	r7,(_dl_hwcap+4)@ha
+	lwz     r7,(_dl_hwcap+4)@l(r7)
 #  endif
 	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S
new file mode 100644
index 0000000000..7e44cdf0a1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S
@@ -0,0 +1,2 @@
+#define _ARCH_PWR6
+#include_next <setcontext.S>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S
new file mode 100644
index 0000000000..616e3db872
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S
@@ -0,0 +1,2 @@
+#define _ARCH_PWR6
+#include_next <swapcontext.S>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
index 40a7a24f19..91ac4366c0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
@@ -1,5 +1,5 @@
 /* Jump to a new context powerpc32 common.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -71,33 +71,34 @@ ENTRY(__CONTEXT_FUNC_NAME)
 	cmpwi	r3,0
 	bne	3f	/* L(error_exit) */
 
-#ifdef __CONTEXT_ENABLE_FPRS
-# ifdef __CONTEXT_ENABLE_VRS
-#  ifdef PIC
+#ifdef PIC
 	mflr    r8
-#   ifdef HAVE_ASM_PPC_REL16
+# ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,1f
 1:	mflr	r7
 	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
 	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
-#   else
+# else
 	bl      _GLOBAL_OFFSET_TABLE_@local-4
 	mflr    r7
-#   endif
-#   ifdef SHARED
+# endif
+# ifdef SHARED
 	lwz     r7,_rtld_global_ro@got(r7)
 	mtlr    r8
-	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
-#   else
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
+# else
 	lwz     r7,_dl_hwcap@got(r7)
 	mtlr    r8
-	lwz     r7,0(r7)
-#   endif
-#  else
-	lis	r7,_dl_hwcap@ha
-	lwz     r7,_dl_hwcap@l(r7)
-#  endif
-	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+	lwz     r7,4(r7)
+# endif
+#else
+	lis	r7,(_dl_hwcap+4)@ha
+	lwz     r7,(_dl_hwcap+4)@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) */
 
@@ -199,7 +200,20 @@ ENTRY(__CONTEXT_FUNC_NAME)
 	/* Restore the floating-point registers */
 	lfd	fp31,_UC_FREGS+(32*8)(r31)
 	lfd	fp0,_UC_FREGS+(0*8)(r31)
-	mtfsf	0xff,fp31
+# ifdef _ARCH_PWR6
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf  0xff,fp0,1,0
+# else
+	/* 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:
+# endif /* _ARCH_PWR6 */
 	lfd	fp1,_UC_FREGS+(1*8)(r31)
 	lfd	fp2,_UC_FREGS+(2*8)(r31)
 	lfd	fp3,_UC_FREGS+(3*8)(r31)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
index 0c7b945ed2..77c982242a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
@@ -1,5 +1,5 @@
 /* Save current context and jump to a new context.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -143,33 +143,34 @@ ENTRY(__CONTEXT_FUNC_NAME)
 	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
+
+# ifdef PIC
 	mflr    r8
-#   ifdef HAVE_ASM_PPC_REL16
+#  ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,1f
 1:	mflr	r7
 	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
 	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
-#   else
+#  else
 	bl      _GLOBAL_OFFSET_TABLE_@local-4
 	mflr    r7
-#   endif
-#   ifdef SHARED
+#  endif
+#  ifdef SHARED
 	lwz     r7,_rtld_global_ro@got(r7)
 	mtlr    r8
-	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
-#   else
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
+#  else
 	lwz     r7,_dl_hwcap@got(r7)
 	mtlr    r8
-	lwz     r7,0(r7)
-#   endif
-#  else
-	lis	r7,_dl_hwcap@ha
-	lwz     r7,_dl_hwcap@l(r7)
+	lwz     r7,4(r7)
 #  endif
-	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+# else
+	lis	r7,(_dl_hwcap+4)@ha
+	lwz     r7,(_dl_hwcap+4)@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)
@@ -305,8 +306,8 @@ ENTRY(__CONTEXT_FUNC_NAME)
 #   ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,5f
 5:	mflr	r7
-	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
-	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-5b@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-5b@l
 #   else
 	bl      _GLOBAL_OFFSET_TABLE_@local-4
 	mflr    r7
@@ -314,14 +315,14 @@ ENTRY(__CONTEXT_FUNC_NAME)
 	mtlr    r8
 #   ifdef SHARED
 	lwz     r7,_rtld_global_ro@got(r7)
-	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
+	lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r7)
 #   else
 	lwz     r7,_dl_hwcap@got(r7)
-	lwz     r7,0(r7)
+	lwz     r7,4(r7)
 #   endif
 #  else
-	lis	r7,_dl_hwcap@ha
-	lwz     r7,_dl_hwcap@l(r7)
+	lis	r7,(_dl_hwcap+4)@ha
+	lwz     r7,(_dl_hwcap+4)@l(r7)
 #  endif
 	andis.	r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16)
 	la	r10,(_UC_VREGS)(r31)
@@ -425,7 +426,20 @@ ENTRY(__CONTEXT_FUNC_NAME)
 	/* Restore the floating-point registers */
 	lfd	fp31,_UC_FREGS+(32*8)(r31)
 	lfd	fp0,_UC_FREGS+(0*8)(r31)
-	mtfsf	0xff,fp31
+# ifdef _ARCH_PWR6
+	/* Use the extended four-operand version of the mtfsf insn.  */
+	mtfsf  0xff,fp0,1,0
+# else
+	/* 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:
+#endif /* _ARCH_PWR6 */
 	lfd	fp1,_UC_FREGS+(1*8)(r31)
 	lfd	fp2,_UC_FREGS+(2*8)(r31)
 	lfd	fp3,_UC_FREGS+(3*8)(r31)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S
new file mode 100644
index 0000000000..7e44cdf0a1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S
@@ -0,0 +1,2 @@
+#define _ARCH_PWR6
+#include_next <setcontext.S>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S
new file mode 100644
index 0000000000..616e3db872
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S
@@ -0,0 +1,2 @@
+#define _ARCH_PWR6
+#include_next <swapcontext.S>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
index 48e9af363d..b4e28b4813 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
@@ -1,5 +1,5 @@
 /* Switch to context.
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,6 +27,15 @@
 #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
@@ -62,10 +71,32 @@ ENTRY(__novec_setcontext)
   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.  */
+  mtfsf  0xff,fp0,1,0
+# 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.  */
+  mtfsf  0xff,fp0,1,0
+  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)
@@ -189,15 +220,7 @@ compat_symbol (libc, __novec_setcontext, setcontext, 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(__setcontext)
 	CALL_MCOUNT 1
@@ -241,7 +264,7 @@ ENTRY(__setcontext)
 # else
   ld    r5,0(r5) /* Load extern _dl_hwcap.  */
 # endif
-  andis.  r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+  andis.  r6,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16)
   beq   L(has_no_vec)
 
   cmpdi r10,0
@@ -346,7 +369,22 @@ 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.  */
+  mtfsf  0xff,fp0,1,0
+# 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.  */
+  mtfsf  0xff,fp0,1,0
+  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)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
index 936d641b6b..c42ccfbe44 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -1,5 +1,5 @@
 /* Save current context and install the given one.
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,7 +27,16 @@
 #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
 #ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
@@ -157,10 +166,31 @@ ENTRY(__novec_swapcontext)
   cmpdi r0,0
   bne	  L(nv_do_sigret)
 
+# 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.  */
+  mtfsf  0xff,fp0,1,0
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r8,PPC_FEATURE_HAS_DFP
+  beq    5f
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  mtfsf  0xff,fp0,1,0
+  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)
@@ -283,15 +313,7 @@ compat_symbol (libc, __novec_swapcontext, swapcontext, 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(__swapcontext)
 	CALL_MCOUNT 2
@@ -409,7 +431,7 @@ ENTRY(__swapcontext)
   la    r10,(SIGCONTEXT_V_RESERVE+8)(r3)
   la    r9,(SIGCONTEXT_V_RESERVE+24)(r3)
 
-  andis.  r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+  andis.  r6,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
 
   clrrdi  r10,r10,4
   beq   L(has_no_vec)
@@ -540,7 +562,7 @@ L(has_no_vec):
 # else
   ld    r8,0(r8) /* Load extern _dl_hwcap.  */
 # endif
-  andis.  r8,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
+  andis.  r6,r8,(PPC_FEATURE_HAS_ALTIVEC >> 16)
   beq   L(has_no_vec2)
 
   cmpdi r10,0
@@ -646,7 +668,21 @@ 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.  */
+  mtfsf  0xff,fp0,1,0
+# else
+  /* Availability of DFP indicates a 64-bit FPSCR.  */
+  andi.  r6,r8,PPC_FEATURE_HAS_DFP
+  beq    7f
+  /* Use the extended four-operand version of the mtfsf insn.  */
+  mtfsf  0xff,fp0,1,0
+  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)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c b/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
index 2e3d5bc2e9..075b267bb4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
@@ -1 +1 @@
-#include <sysdeps/unix/sysv/linux/alpha/wordexp.c>
+#include <sysdeps/unix/sysv/linux/ia64/wordexp.c>
diff --git a/sysdeps/x86_64/bits/select.h b/sysdeps/x86_64/bits/select.h
new file mode 100644
index 0000000000..7f23cb59b1
--- /dev/null
+++ b/sysdeps/x86_64/bits/select.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 1997, 1998, 1999, 2001, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _SYS_SELECT_H
+# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# if __WORDSIZE == 64
+#  define __FD_ZERO_STOS "stosq"
+#  define __FD_SET_BTS "btsq"
+#  define __FD_CLR_BTR "btrq"
+#  define __FD_ISSET_BT "btq"
+# else
+#  define __FD_ZERO_STOS "stosl"
+#  define __FD_SET_BTS "btsl"
+#  define __FD_CLR_BTR "btrl"
+#  define __FD_ISSET_BT "btl"
+# endif
+
+# define __FD_ZERO(fdsp) \
+  do {									      \
+    int __d0, __d1;							      \
+    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
+			  : "=c" (__d0), "=D" (__d1)			      \
+			  : "a" (0), "0" (sizeof (fd_set)		      \
+					  / sizeof (__fd_mask)),	      \
+			    "1" (&__FDS_BITS (fdsp)[0])			      \
+			  : "memory");					      \
+  } while (0)
+
+# define __FD_SET(fd, fdsp) \
+  __asm__ __volatile__ (__FD_SET_BTS " %1,%0"				      \
+			: "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])	      \
+			: "r" (((int) (fd)) % __NFDBITS)		      \
+			: "cc","memory")
+# define __FD_CLR(fd, fdsp) \
+  __asm__ __volatile__ (__FD_CLR_BTR " %1,%0"				      \
+			: "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])	      \
+			: "r" (((int) (fd)) % __NFDBITS)		      \
+			: "cc","memory")
+# define __FD_ISSET(fd, fdsp) \
+  (__extension__							      \
+   ({register char __result;						      \
+     __asm__ __volatile__ (__FD_ISSET_BT " %1,%2 ; setcb %b0"		      \
+			   : "=q" (__result)				      \
+			   : "r" (((int) (fd)) % __NFDBITS),		      \
+			     "m" (__FDS_BITS (fdsp)[__FDELT (fd)])	      \
+			   : "cc");					      \
+     __result; }))
+
+#else	/* ! GNU CC */
+
+/* We don't use `memset' because this would require a prototype and
+   the array isn't too big.  */
+# define __FD_ZERO(set)  \
+  do {									      \
+    unsigned int __i;							      \
+    fd_set *__arr = (set);						      \
+    for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
+      __FDS_BITS (__arr)[__i] = 0;					      \
+  } while (0)
+# define __FD_SET(d, set)    (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d))
+# define __FD_CLR(d, set)    (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d))
+# define __FD_ISSET(d, set)  (__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d))
+
+#endif	/* GNU CC */
diff --git a/version.h b/version.h
index 57fd137801..9700c37f8d 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
-#define RELEASE "stable"
-#define VERSION "2.9"
+#define RELEASE "development"
+#define VERSION "2.9.90"
diff --git a/wcsmbs/mbsnrtowcs.c b/wcsmbs/mbsnrtowcs.c
index 8d0b9d3609..a5329a2331 100644
--- a/wcsmbs/mbsnrtowcs.c
+++ b/wcsmbs/mbsnrtowcs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000, 2002, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2002, 2005, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
@@ -79,9 +79,13 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
   /* We have to handle DST == NULL special.  */
   if (dst == NULL)
     {
+      mbstate_t temp_state;
       wchar_t buf[64];		/* Just an arbitrary size.  */
       const unsigned char *inbuf = (const unsigned char *) *src;
 
+      temp_state = *data.__statep;
+      data.__statep = &temp_state;
+
       result = 0;
       data.__outbufend = (unsigned char *) buf + sizeof (buf);
       do
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 0fd9e35440..aaf278dd8d 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2004,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2004,2005,2006,2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -839,9 +839,9 @@ __END_DECLS
 
 #endif	/* _WCHAR_H defined */
 
+#endif /* wchar.h  */
+
 /* Undefined all __need_* constants in case we are included to get those
    constants but the whole file was already read.  */
 #undef __need_mbstate_t
 #undef __need_wint_t
-
-#endif /* wchar.h  */
diff --git a/wcsmbs/wcsnrtombs.c b/wcsmbs/wcsnrtombs.c
index 171fc3c227..eead26fb3c 100644
--- a/wcsmbs/wcsnrtombs.c
+++ b/wcsmbs/wcsnrtombs.c
@@ -77,10 +77,14 @@ __wcsnrtombs (dst, src, nwc, len, ps)
   /* We have to handle DST == NULL special.  */
   if (dst == NULL)
     {
+      mbstate_t temp_state;
       unsigned char buf[256];		/* Just an arbitrary value.  */
       const unsigned char *inbuf = (const unsigned char *) *src;
       size_t dummy;
 
+      temp_state = *data.__statep;
+      data.__statep = &temp_state;
+
       result = 0;
       data.__outbufend = buf + sizeof (buf);
 
diff --git a/wctype/Makefile b/wctype/Makefile
index b0e8f968e4..9505b1fabb 100644
--- a/wctype/Makefile
+++ b/wctype/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2008 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -26,6 +26,6 @@ distribute	:= wchar-lookup.h
 routines	:= wcfuncs wctype iswctype wctrans towctrans \
 		   wcfuncs_l wctype_l iswctype_l wctrans_l towctrans_l
 
-tests	:= test_wctype test_wcfuncs
+tests	:= test_wctype test_wcfuncs bug-wctypeh
 
 include ../Rules
diff --git a/wctype/bug-wctypeh.c b/wctype/bug-wctypeh.c
new file mode 100644
index 0000000000..9d5acb3a5c
--- /dev/null
+++ b/wctype/bug-wctypeh.c
@@ -0,0 +1,10 @@
+#include <wchar.h>
+#include <wctype.h>
+#include <stddef.h>
+ptrdiff_t i;
+
+int
+main (void)
+{
+  return 0;
+}
diff --git a/wctype/wctype.h b/wctype/wctype.h
index 603255931f..c36f0aa0d0 100644
--- a/wctype/wctype.h
+++ b/wctype/wctype.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2002, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2002, 2005, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,9 +29,9 @@
 #ifndef __need_iswxxx
 # define _WCTYPE_H	1
 
-/* Get wint_t from <wchar.h>.  */
+/* Get wint_t from <stddef.h>.  */
 # define __need_wint_t
-# include <wchar.h>
+# include <stddef.h>
 
 /* Constant expression of type `wint_t' whose value does not correspond
    to any member of the extended character set.  */