devel
  Threads by month 
                
            - ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- 3 participants
- 1174 discussions
 
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch 1.0 updated. v1.0.9-11-g9e360dc
                        
                        
by wbx@helium.waldemar-brodkorb.de 05 Dec '15
                    by wbx@helium.waldemar-brodkorb.de 05 Dec '15
05 Dec '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
       via  9e360dcc057030f1a5b06971af691f8d1687b635 (commit)
       via  383a059a280444c6e914620adfdf05b5bd728a45 (commit)
       via  d2ac3a6b3a2d2369bec4bf9f0555ebbe72e7bdf5 (commit)
       via  2fbe1ee66ad2107866d3fddd014c1349d135b424 (commit)
      from  263573cf6e027c41d74d1e225e33f6ec85507938 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9e360dcc057030f1a5b06971af691f8d1687b635
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Feb 14 23:23:50 2015 -0600
    good by nios
    
    Get rid of NIOS support. We try to support NIOSII.
commit 383a059a280444c6e914620adfdf05b5bd728a45
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Feb 14 23:19:38 2015 -0600
    good by e1
    
    It is marked as broken and it seems you can't get
    any hardware for that anymore.
commit d2ac3a6b3a2d2369bec4bf9f0555ebbe72e7bdf5
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Feb 14 23:11:05 2015 -0600
    good bye vax
    
    I mailed with Jan-Benedict Glaw, it seems VAX on Linux
    is really a lot of work todo and uClibc support didn't work ever.
commit 2fbe1ee66ad2107866d3fddd014c1349d135b424
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Mon Mar 30 03:48:56 2015 -0500
    remove sh64 support
    
    No real hardware available. The project for sh64 with sh5 seems
    dead since 10 years. Gcc will remove support for it soon.
-----------------------------------------------------------------------
Summary of changes:
 Makerules                                          |    6 -
 Rules.mak                                          |   16 -
 extra/Configs/Config.e1                            |   16 -
 extra/Configs/Config.in                            |   33 --
 extra/Configs/Config.nios                          |   17 -
 extra/Configs/Config.sh64                          |   33 --
 extra/Configs/Config.vax                           |   15 -
 extra/Configs/defconfigs/e1/defconfig              |    1 -
 extra/Configs/defconfigs/nios/defconfig            |    1 -
 extra/Configs/defconfigs/sh64/defconfig            |    1 -
 extra/Configs/defconfigs/vax/defconfig             |    1 -
 ldso/ldso/sh64/dl-debug.h                          |   79 ----
 ldso/ldso/sh64/dl-startup.h                        |  118 -----
 ldso/ldso/sh64/dl-syscalls.h                       |   18 -
 ldso/ldso/sh64/dl-sysdep.h                         |  168 -------
 ldso/ldso/sh64/elfinterp.c                         |  345 --------------
 ldso/ldso/sh64/resolve.S                           |   95 ----
 libc/inet/rpc/xdr_float.c                          |  172 -------
 libc/string/sh64/Makefile                          |   13 -
 libc/string/sh64/memcpy.S                          |  205 ---------
 libc/string/sh64/memset.S                          |   97 ----
 libc/string/sh64/strcpy.S                          |  102 -----
 libc/string/sh64/strlen.S                          |   63 ---
 libc/sysdeps/linux/e1/Makefile                     |   56 ---
 libc/sysdeps/linux/e1/bits/endian.h                |    7 -
 libc/sysdeps/linux/e1/bits/fcntl.h                 |  234 ----------
 libc/sysdeps/linux/e1/bits/fenv.h                  |   87 ----
 libc/sysdeps/linux/e1/bits/fenvinline.h            |  297 ------------
 libc/sysdeps/linux/e1/bits/kernel_stat.h           |   50 ---
 libc/sysdeps/linux/e1/bits/kernel_types.h          |   48 --
 libc/sysdeps/linux/e1/bits/proto.h                 |    5 -
 libc/sysdeps/linux/e1/bits/setjmp.h                |   22 -
 libc/sysdeps/linux/e1/bits/syscalls.h              |   17 -
 libc/sysdeps/linux/e1/bits/uClibc_arch_features.h  |   42 --
 libc/sysdeps/linux/e1/bits/unistd.h                |  457 -------------------
 libc/sysdeps/linux/e1/bits/wordsize.h              |   21 -
 libc/sysdeps/linux/e1/crt0.S                       |   17 -
 libc/sysdeps/linux/e1/crt1.c                       |   48 --
 libc/sysdeps/linux/e1/longjmp.c                    |   76 ----
 libc/sysdeps/linux/e1/setjmp.c                     |   55 ---
 libc/sysdeps/linux/e1/sys/procfs.h                 |   30 --
 libc/sysdeps/linux/e1/sys/reg.h                    |   24 -
 libc/sysdeps/linux/e1/sys/ucontext.h               |  108 -----
 libc/sysdeps/linux/e1/syscalls.c                   |   11 -
 libc/sysdeps/linux/nios/Makefile                   |   13 -
 libc/sysdeps/linux/nios/Makefile.arch              |   12 -
 libc/sysdeps/linux/nios/NM_Macros.S                |  473 --------------------
 libc/sysdeps/linux/nios/NR_Math1.S                 |   63 ---
 libc/sysdeps/linux/nios/__longjmp.S                |   98 ----
 libc/sysdeps/linux/nios/bits/endian.h              |    8 -
 libc/sysdeps/linux/nios/bits/fcntl.h               |  237 ----------
 libc/sysdeps/linux/nios/bits/kernel_types.h        |   43 --
 libc/sysdeps/linux/nios/bits/mathdef.h             |   43 --
 libc/sysdeps/linux/nios/bits/setjmp.h              |   44 --
 libc/sysdeps/linux/nios/bits/sigcontextinfo.h      |   26 --
 libc/sysdeps/linux/nios/bits/stackinfo.h           |   27 --
 libc/sysdeps/linux/nios/bits/stat.h                |  167 -------
 libc/sysdeps/linux/nios/bits/syscalls.h            |   13 -
 .../sysdeps/linux/nios/bits/uClibc_arch_features.h |   42 --
 libc/sysdeps/linux/nios/bits/wordsize.h            |   18 -
 libc/sysdeps/linux/nios/brk.c                      |   43 --
 libc/sysdeps/linux/nios/bsd-_setjmp.S              |    1 -
 libc/sysdeps/linux/nios/bsd-setjmp.S               |    1 -
 libc/sysdeps/linux/nios/clone.S                    |   87 ----
 libc/sysdeps/linux/nios/crt1.S                     |   55 ---
 libc/sysdeps/linux/nios/crtbegin.c                 |   37 --
 libc/sysdeps/linux/nios/crtend.c                   |   44 --
 libc/sysdeps/linux/nios/fpu_control.h              |   98 ----
 libc/sysdeps/linux/nios/jmpbuf-offsets.h           |   25 --
 libc/sysdeps/linux/nios/jmpbuf-unwind.h            |   11 -
 libc/sysdeps/linux/nios/setjmp.S                   |   98 ----
 libc/sysdeps/linux/nios/sys/procfs.h               |  122 -----
 libc/sysdeps/linux/nios/sys/ucontext.h             |  103 -----
 libc/sysdeps/linux/nios/vfork.S                    |   51 ---
 libc/sysdeps/linux/sh64/Makefile                   |   15 -
 libc/sysdeps/linux/sh64/Makefile.arch              |   10 -
 libc/sysdeps/linux/sh64/__init_brk.c               |   26 --
 libc/sysdeps/linux/sh64/__longjmp.S                |  140 ------
 libc/sysdeps/linux/sh64/bits/endian.h              |   20 -
 libc/sysdeps/linux/sh64/bits/fcntl.h               |  218 ---------
 libc/sysdeps/linux/sh64/bits/kernel_stat.h         |   55 ---
 libc/sysdeps/linux/sh64/bits/kernel_types.h        |   58 ---
 libc/sysdeps/linux/sh64/bits/setjmp.h              |   46 --
 libc/sysdeps/linux/sh64/bits/shm.h                 |  102 -----
 libc/sysdeps/linux/sh64/bits/stackinfo.h           |   27 --
 libc/sysdeps/linux/sh64/bits/syscalls.h            |  126 ------
 .../sysdeps/linux/sh64/bits/uClibc_arch_features.h |   41 --
 libc/sysdeps/linux/sh64/bits/wordsize.h            |   12 -
 libc/sysdeps/linux/sh64/brk.c                      |   27 --
 libc/sysdeps/linux/sh64/crt1.S                     |   82 ----
 libc/sysdeps/linux/sh64/crti.S                     |   42 --
 libc/sysdeps/linux/sh64/crtn.S                     |   31 --
 libc/sysdeps/linux/sh64/sbrk.c                     |   25 --
 libc/sysdeps/linux/sh64/setjmp.S                   |  139 ------
 libc/sysdeps/linux/sh64/sys/procfs.h               |  125 ------
 libc/sysdeps/linux/sh64/sys/ucontext.h             |  204 ---------
 libc/sysdeps/linux/sh64/syscall.c                  |   24 -
 libc/sysdeps/linux/sparc/soft-fp/longlong.h        |   45 --
 libc/sysdeps/linux/vax/Makefile                    |   15 -
 libc/sysdeps/linux/vax/Makefile.arch               |   10 -
 libc/sysdeps/linux/vax/__longjmp.S                 |   47 --
 libc/sysdeps/linux/vax/_setjmp.S                   |   53 ---
 libc/sysdeps/linux/vax/bits/endian.h               |    9 -
 libc/sysdeps/linux/vax/bits/fcntl.h                |  215 ---------
 libc/sysdeps/linux/vax/bits/huge_val.h             |   25 --
 libc/sysdeps/linux/vax/bits/ipc.h                  |   49 --
 libc/sysdeps/linux/vax/bits/kernel_stat.h          |   50 ---
 libc/sysdeps/linux/vax/bits/kernel_types.h         |   45 --
 libc/sysdeps/linux/vax/bits/sem.h                  |   86 ----
 libc/sysdeps/linux/vax/bits/setjmp.h               |   30 --
 libc/sysdeps/linux/vax/bits/shm.h                  |   93 ----
 libc/sysdeps/linux/vax/bits/sigcontext.h           |   28 --
 libc/sysdeps/linux/vax/bits/stackinfo.h            |    7 -
 libc/sysdeps/linux/vax/bits/syscalls.h             |  258 -----------
 libc/sysdeps/linux/vax/bits/uClibc_arch_features.h |   41 --
 libc/sysdeps/linux/vax/bits/wordsize.h             |   18 -
 libc/sysdeps/linux/vax/brk.c                       |   52 ---
 libc/sysdeps/linux/vax/clone.S                     |   84 ----
 libc/sysdeps/linux/vax/crt1.S                      |   73 ---
 libc/sysdeps/linux/vax/crti.S                      |   21 -
 libc/sysdeps/linux/vax/crtn.S                      |   19 -
 libc/sysdeps/linux/vax/jmpbuf-unwind.h             |   11 -
 libc/sysdeps/linux/vax/setjmp.S                    |   39 --
 libc/sysdeps/linux/vax/sys/procfs.h                |  122 -----
 libc/sysdeps/linux/vax/sys/ucontext.h              |   79 ----
 .../linuxthreads.old/sysdeps/nios/pt-machine.h     |   67 ---
 .../linuxthreads.old/sysdeps/sh64/Makefile.arch    |   30 --
 .../linuxthreads.old/sysdeps/sh64/pt-machine.c     |   46 --
 .../linuxthreads.old/sysdeps/sh64/pt-machine.h     |   38 --
 129 files changed, 8830 deletions(-)
 delete mode 100644 extra/Configs/Config.e1
 delete mode 100644 extra/Configs/Config.nios
 delete mode 100644 extra/Configs/Config.sh64
 delete mode 100644 extra/Configs/Config.vax
 delete mode 100644 extra/Configs/defconfigs/e1/defconfig
 delete mode 100644 extra/Configs/defconfigs/nios/defconfig
 delete mode 100644 extra/Configs/defconfigs/sh64/defconfig
 delete mode 100644 extra/Configs/defconfigs/vax/defconfig
 delete mode 100644 ldso/ldso/sh64/dl-debug.h
 delete mode 100644 ldso/ldso/sh64/dl-startup.h
 delete mode 100644 ldso/ldso/sh64/dl-syscalls.h
 delete mode 100644 ldso/ldso/sh64/dl-sysdep.h
 delete mode 100644 ldso/ldso/sh64/elfinterp.c
 delete mode 100644 ldso/ldso/sh64/resolve.S
 delete mode 100644 libc/string/sh64/Makefile
 delete mode 100644 libc/string/sh64/memcpy.S
 delete mode 100644 libc/string/sh64/memset.S
 delete mode 100644 libc/string/sh64/strcpy.S
 delete mode 100644 libc/string/sh64/strlen.S
 delete mode 100644 libc/sysdeps/linux/e1/Makefile
 delete mode 100644 libc/sysdeps/linux/e1/bits/endian.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/fcntl.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/fenv.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/fenvinline.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/kernel_stat.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/kernel_types.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/proto.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/setjmp.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/syscalls.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/unistd.h
 delete mode 100644 libc/sysdeps/linux/e1/bits/wordsize.h
 delete mode 100644 libc/sysdeps/linux/e1/crt0.S
 delete mode 100644 libc/sysdeps/linux/e1/crt1.c
 delete mode 100644 libc/sysdeps/linux/e1/longjmp.c
 delete mode 100644 libc/sysdeps/linux/e1/setjmp.c
 delete mode 100644 libc/sysdeps/linux/e1/sys/procfs.h
 delete mode 100644 libc/sysdeps/linux/e1/sys/reg.h
 delete mode 100644 libc/sysdeps/linux/e1/sys/ucontext.h
 delete mode 100644 libc/sysdeps/linux/e1/syscalls.c
 delete mode 100644 libc/sysdeps/linux/nios/Makefile
 delete mode 100644 libc/sysdeps/linux/nios/Makefile.arch
 delete mode 100644 libc/sysdeps/linux/nios/NM_Macros.S
 delete mode 100644 libc/sysdeps/linux/nios/NR_Math1.S
 delete mode 100644 libc/sysdeps/linux/nios/__longjmp.S
 delete mode 100644 libc/sysdeps/linux/nios/bits/endian.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/fcntl.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/kernel_types.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/mathdef.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/setjmp.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/sigcontextinfo.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/stackinfo.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/stat.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/syscalls.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
 delete mode 100644 libc/sysdeps/linux/nios/bits/wordsize.h
 delete mode 100644 libc/sysdeps/linux/nios/brk.c
 delete mode 100644 libc/sysdeps/linux/nios/bsd-_setjmp.S
 delete mode 100644 libc/sysdeps/linux/nios/bsd-setjmp.S
 delete mode 100644 libc/sysdeps/linux/nios/clone.S
 delete mode 100644 libc/sysdeps/linux/nios/crt1.S
 delete mode 100644 libc/sysdeps/linux/nios/crtbegin.c
 delete mode 100644 libc/sysdeps/linux/nios/crtend.c
 delete mode 100644 libc/sysdeps/linux/nios/fpu_control.h
 delete mode 100644 libc/sysdeps/linux/nios/jmpbuf-offsets.h
 delete mode 100644 libc/sysdeps/linux/nios/jmpbuf-unwind.h
 delete mode 100644 libc/sysdeps/linux/nios/setjmp.S
 delete mode 100644 libc/sysdeps/linux/nios/sys/procfs.h
 delete mode 100644 libc/sysdeps/linux/nios/sys/ucontext.h
 delete mode 100644 libc/sysdeps/linux/nios/vfork.S
 delete mode 100644 libc/sysdeps/linux/sh64/Makefile
 delete mode 100644 libc/sysdeps/linux/sh64/Makefile.arch
 delete mode 100644 libc/sysdeps/linux/sh64/__init_brk.c
 delete mode 100644 libc/sysdeps/linux/sh64/__longjmp.S
 delete mode 100644 libc/sysdeps/linux/sh64/bits/endian.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/fcntl.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/kernel_stat.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/kernel_types.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/setjmp.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/shm.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/stackinfo.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/syscalls.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
 delete mode 100644 libc/sysdeps/linux/sh64/bits/wordsize.h
 delete mode 100644 libc/sysdeps/linux/sh64/brk.c
 delete mode 100644 libc/sysdeps/linux/sh64/crt1.S
 delete mode 100644 libc/sysdeps/linux/sh64/crti.S
 delete mode 100644 libc/sysdeps/linux/sh64/crtn.S
 delete mode 100644 libc/sysdeps/linux/sh64/sbrk.c
 delete mode 100644 libc/sysdeps/linux/sh64/setjmp.S
 delete mode 100644 libc/sysdeps/linux/sh64/sys/procfs.h
 delete mode 100644 libc/sysdeps/linux/sh64/sys/ucontext.h
 delete mode 100644 libc/sysdeps/linux/sh64/syscall.c
 delete mode 100644 libc/sysdeps/linux/vax/Makefile
 delete mode 100644 libc/sysdeps/linux/vax/Makefile.arch
 delete mode 100644 libc/sysdeps/linux/vax/__longjmp.S
 delete mode 100644 libc/sysdeps/linux/vax/_setjmp.S
 delete mode 100644 libc/sysdeps/linux/vax/bits/endian.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/fcntl.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/huge_val.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/ipc.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/kernel_stat.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/kernel_types.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/sem.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/setjmp.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/shm.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/sigcontext.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/stackinfo.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/syscalls.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
 delete mode 100644 libc/sysdeps/linux/vax/bits/wordsize.h
 delete mode 100644 libc/sysdeps/linux/vax/brk.c
 delete mode 100644 libc/sysdeps/linux/vax/clone.S
 delete mode 100644 libc/sysdeps/linux/vax/crt1.S
 delete mode 100644 libc/sysdeps/linux/vax/crti.S
 delete mode 100644 libc/sysdeps/linux/vax/crtn.S
 delete mode 100644 libc/sysdeps/linux/vax/jmpbuf-unwind.h
 delete mode 100644 libc/sysdeps/linux/vax/setjmp.S
 delete mode 100644 libc/sysdeps/linux/vax/sys/procfs.h
 delete mode 100644 libc/sysdeps/linux/vax/sys/ucontext.h
 delete mode 100644 libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
 delete mode 100644 libpthread/linuxthreads.old/sysdeps/sh64/Makefile.arch
 delete mode 100644 libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.c
 delete mode 100644 libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
diff --git a/Makerules b/Makerules
index d6f7e24..aa24a61 100644
--- a/Makerules
+++ b/Makerules
@@ -467,13 +467,7 @@ $(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARG
 	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
 endif
 
-#ifeq ($(TARGET_ARCH),nios)
-#CRTS_COMPAT := $(top_builddir)lib/crt0.o
-#$(CRTS_COMPAT):
-#	ln -fs crt1.o $(top_builddir)lib/crt0.o
-#else
 CRTS_COMPAT :=
-#endif
 
 startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
 startfiles: $(startfiles)
diff --git a/Rules.mak b/Rules.mak
index fdaf456..59b408b 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -406,12 +406,6 @@ ifeq ($(TARGET_ARCH),mips)
 	CPU_LDFLAGS-y += $(CPU_CFLAGS)
 endif
 
-ifeq ($(TARGET_ARCH),nios)
-	OPTIMIZATION+=-funaligned-struct-hack
-	CPU_LDFLAGS-y+=-Wl,-m32
-	CPU_CFLAGS-y+=-Wl,-m32
-endif
-
 ifeq ($(TARGET_ARCH),sh)
 $(eval $(call check-gcc-var,-mprefergot))
 	OPTIMIZATION += $(CFLAG_-mprefergot)
@@ -430,12 +424,6 @@ else
 endif
 endif
 
-ifeq ($(TARGET_ARCH),sh64)
-	CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN):=-ml
-	CPU_CFLAGS-$(ARCH_BIG_ENDIAN):=-mb
-	CPU_CFLAGS-$(CONFIG_SH5)+=-m5-32media
-endif
-
 ifeq ($(TARGET_ARCH),h8300)
 	CPU_CFLAGS-$(CONFIG_H8300H) += -mh -mint32
 	CPU_CFLAGS-$(CONFIG_H8S)    += -ms -mint32
@@ -445,10 +433,6 @@ ifeq ($(TARGET_ARCH),i960)
 	OPTIMIZATION+=-mh -mint32 #-fsigned-char
 endif
 
-ifeq ($(TARGET_ARCH),e1)
-	OPTIMIZATION+=-mgnu-param
-endif
-
 ifeq ($(TARGET_ARCH),cris)
 	CPU_LDFLAGS-$(CONFIG_CRIS)+=-Wl,-mcrislinux
 	CPU_LDFLAGS-$(CONFIG_CRISV32)+=-Wl,-mcrislinux
diff --git a/extra/Configs/Config.e1 b/extra/Configs/Config.e1
deleted file mode 100644
index 284bbfa..0000000
--- a/extra/Configs/Config.e1
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see extra/config/Kconfig-language.txt
-#
-
-config TARGET_ARCH
-	string
-	default "e1"
-
-config FORCE_OPTIONS_FOR_ARCH
-	bool
-	default y
-	select ARCH_BIG_ENDIAN
-	select ARCH_HAS_NO_MMU
-	select ARCH_HAS_NO_SHARED
-	select ARCH_HAS_DEPRECATED_SYSCALLS
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index f3f573d..9e6d095 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -21,7 +21,6 @@ choice
 	default TARGET_avr32 if DESIRED_TARGET_ARCH = "avr32"
 	default TARGET_bfin if DESIRED_TARGET_ARCH = "bfin"
 	default TARGET_cris if DESIRED_TARGET_ARCH = "cris"
-	default TARGET_e1 if DESIRED_TARGET_ARCH = "e1"
 	default TARGET_frv if DESIRED_TARGET_ARCH = "frv"
 	default TARGET_h8300 if DESIRED_TARGET_ARCH = "h8300"
 	default TARGET_hppa if DESIRED_TARGET_ARCH = "hppa"
@@ -33,15 +32,12 @@ choice
 	default TARGET_metag if DESIRED_TARGET_ARCH = "metag"
 	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
 	default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
-	default TARGET_nios if DESIRED_TARGET_ARCH = "nios"
 	default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2"
 	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"
 	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
 	default TARGET_sh if DESIRED_TARGET_ARCH = "sh"
-	default TARGET_sh64 if DESIRED_TARGET_ARCH = "sh64"
 	default TARGET_sparc if DESIRED_TARGET_ARCH = "sparc"
 	default TARGET_v850 if DESIRED_TARGET_ARCH = "v850"
-	default TARGET_vax if DESIRED_TARGET_ARCH = "vax"
 	default TARGET_x86_64 if DESIRED_TARGET_ARCH = "x86_64"
 	default TARGET_xtensa if DESIRED_TARGET_ARCH = "xtensa"
 	help
@@ -70,9 +66,6 @@ config TARGET_c6x
 config TARGET_cris
 	bool "cris"
 
-#config TARGET_e1
-#	bool "e1 (BROKEN)"
-
 #config TARGET_frv
 #	bool "frv (BROKEN)"
 
@@ -106,9 +99,6 @@ config TARGET_microblaze
 config TARGET_mips
 	bool "mips"
 
-#config TARGET_nios
-#	bool "nios"
-
 config TARGET_nios2
 	bool "nios2"
 
@@ -121,18 +111,12 @@ config TARGET_powerpc
 config TARGET_sh
 	bool "superh"
 
-#config TARGET_sh64
-#	bool "sh64"
-
 config TARGET_sparc
 	bool "sparc"
 
 #config TARGET_v850
 #	bool "v850 (BROKEN)"
 
-#config TARGET_vax
-#	bool "vax"
-
 config TARGET_x86_64
 	bool "x86_64"
 
@@ -164,10 +148,6 @@ if TARGET_cris
 source "extra/Configs/Config.cris"
 endif
 
-if TARGET_e1
-source "extra/Configs/Config.e1"
-endif
-
 if TARGET_frv
 source "extra/Configs/Config.frv"
 endif
@@ -204,10 +184,6 @@ if TARGET_metag
 source "extra/Configs/Config.metag"
 endif
 
-if TARGET_nios
-source "extra/Configs/Config.nios"
-endif
-
 if TARGET_nios2
 source "extra/Configs/Config.nios2"
 endif
@@ -232,10 +208,6 @@ if TARGET_sh
 source "extra/Configs/Config.sh"
 endif
 
-if TARGET_sh64
-source "extra/Configs/Config.sh64"
-endif
-
 if TARGET_sparc
 source "extra/Configs/Config.sparc"
 endif
@@ -244,10 +216,6 @@ if TARGET_v850
 source "extra/Configs/Config.v850"
 endif
 
-if TARGET_vax
-source "extra/Configs/Config.vax"
-endif
-
 if TARGET_x86_64
 source "extra/Configs/Config.x86_64"
 endif
@@ -597,7 +565,6 @@ config UCLIBC_HAS_THREADS_NATIVE
 		   !TARGET_microblaze && \
 		   !TARGET_nios2 && \
 		   !TARGET_or1k && \
-		   !TARGET_vax && \
 		   ARCH_USE_MMU
 	help
 	  If you want to compile uClibc with NPTL support, then answer Y.
diff --git a/extra/Configs/Config.nios b/extra/Configs/Config.nios
deleted file mode 100644
index 639cd35..0000000
--- a/extra/Configs/Config.nios
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see extra/config/Kconfig-language.txt
-#
-
-config TARGET_ARCH
-	string
-	default "nios"
-
-config FORCE_OPTIONS_FOR_ARCH
-	bool
-	default y
-	select ARCH_LITTLE_ENDIAN
-	select ARCH_HAS_NO_MMU
-	select ARCH_HAS_NO_LDSO
-	select ARCH_HAS_DEPRECATED_SYSCALLS
-	select HAVE_NO_PIC
diff --git a/extra/Configs/Config.sh64 b/extra/Configs/Config.sh64
deleted file mode 100644
index a617510..0000000
--- a/extra/Configs/Config.sh64
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see extra/config/Kconfig-language.txt
-#
-
-config TARGET_ARCH
-	string
-	default "sh64"
-
-config FORCE_OPTIONS_FOR_ARCH
-	bool
-	default y
-	select ARCH_ANY_ENDIAN
-	select ARCH_HAS_DEPRECATED_SYSCALLS
-
-choice
-	prompt "Target Processor Type"
-	default CONFIG_SH5
-	help
-	  This is the processor type of your CPU. This information is used for
-	  optimizing purposes, as well as to determine if your CPU has an MMU,
-	  an FPU, etc.  If you pick the wrong CPU type, there is no guarantee
-	  that uClibc will work at all....
-
-	  Here are the available choices:
-	  - "SH5" SuperH SH-5 101, 103
-
-config CONFIG_SH5
-	select ARCH_HAS_MMU
-	select UCLIBC_HAS_LFS
-	bool "SH5"
-
-endchoice
diff --git a/extra/Configs/Config.vax b/extra/Configs/Config.vax
deleted file mode 100644
index 418e3e7..0000000
--- a/extra/Configs/Config.vax
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see extra/config/Kconfig-language.txt
-#
-
-config TARGET_ARCH
-	string
-	default "vax"
-
-config FORCE_OPTIONS_FOR_ARCH
-	bool
-	default y
-	select ARCH_LITTLE_ENDIAN
-	select ARCH_HAS_NO_LDSO
-	select ARCH_HAS_DEPRECATED_SYSCALLS
diff --git a/extra/Configs/defconfigs/e1/defconfig b/extra/Configs/defconfigs/e1/defconfig
deleted file mode 100644
index e204c87..0000000
--- a/extra/Configs/defconfigs/e1/defconfig
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_e1=y
diff --git a/extra/Configs/defconfigs/nios/defconfig b/extra/Configs/defconfigs/nios/defconfig
deleted file mode 100644
index 2a110b8..0000000
--- a/extra/Configs/defconfigs/nios/defconfig
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_nios=y
diff --git a/extra/Configs/defconfigs/sh64/defconfig b/extra/Configs/defconfigs/sh64/defconfig
deleted file mode 100644
index 4f23a54..0000000
--- a/extra/Configs/defconfigs/sh64/defconfig
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_sh64=y
diff --git a/extra/Configs/defconfigs/vax/defconfig b/extra/Configs/defconfigs/vax/defconfig
deleted file mode 100644
index 77a464e..0000000
--- a/extra/Configs/defconfigs/vax/defconfig
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_vax=y
diff --git a/ldso/ldso/sh64/dl-debug.h b/ldso/ldso/sh64/dl-debug.h
deleted file mode 100644
index 6d861e5..0000000
--- a/ldso/ldso/sh64/dl-debug.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* vi: set sw=8 ts=8: */
-/*
- * ldso/ldso/sh64/elfinterp.c
- *
- * SuperH (sh64) ELF shared library loader suppport
- *
- * Copyright (C) 2003, 2004, 2005  Paul Mundt <lethal(a)linux-sh.org>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. The name of the above contributors may not be
- *    used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-static const char * const _dl_reltypes_tab[] = {
-	/* SHcompact relocs */
-	  [0] =	"R_SH_NONE",		"R_SH_DIR32",
-		"R_SH_REL32",		"R_SH_DIR8WPN",
-	  [4] = "R_SH_IND12W",		"R_SH_DIR8WPL",
-		"R_SH_DIR8WPZ",		"R_SH_DIR8BP",
-	  [8] = "R_SH_DIR8W",		"R_SH_DIR8L",
-	 [25] = "R_SH_SWITCH16",	"R_SH_SWITCH32",
-		"R_SH_USES",		"R_SH_COUNT",
-	 [29] = "R_SH_ALIGN",		"R_SH_CODE",
-		"R_SH_DATA",		"R_SH_LABEL",
-	 [33] = "R_SH_SWITCH8",		"R_SH_GNU_VTINHERIT",
-		"R_SH_GNU_VTENTRY",
-	[160] = "R_SH_GOT32",		"R_SH_PLT32",
-		"R_SH_COPY",		"R_SH_GLOB_DAT",
-	[164] = "R_SH_JMP_SLOT",	"R_SH_RELATIVE",
-		"R_SH_GOTOFF",		"R_SH_GOTPC",
-
-	/* SHmedia relocs */
-	 [45] = "R_SH_DIR5U",		"R_SH_DIR6U",
-		"R_SH_DIR6S",		"R_SH_DIR10S",
-	 [49] = "R_SH_DIR10SW",		"R_SH_DIR10SL",
-		"R_SH_DIR10SQ",
-	[169] = "R_SH_GOT_LOW16",	"R_SH_GOT_MEDLOW16",
-		"R_SH_GOT_MEDHI16",	"R_SH_GOT_HI16",
-	[173] = "R_SH_GOTPLT_LOW16",	"R_SH_GOTPLT_MEDLOW16",
-		"R_SH_GOTPLT_MEDHI16",	"R_SH_GOTPLT_HI16",
-	[177] = "R_SH_PLT_LOW16",	"R_SH_PLT_MEDLOW16",
-		"R_SH_PLT_MEDHI16",	"R_SH_PLT_HI16",
-	[181] = "R_SH_GOTOFF_LOW16",	"R_SH_GOTOFF_MEDLOW16",
-		"R_SH_GOTOFF_MEDHI16",	"R_SH_GOTOFF_HI16",
-	[185] = "R_SH_GOTPC_LOW16",	"R_SH_GOTPC_MEDLOW16",
-		"R_SH_GOTPC_MEDHI16",	"R_SH_GOTPC_HI16",
-	[189] = "R_SH_GOT10BY4",	"R_SH_GOTPLT10BY4",
-		"R_SH_GOT10BY8",	"R_SH_GOTPLT10BY8",
-	[193] = "R_SH_COPY64",		"R_SH_GLOB_DAT64",
-		"R_SH_JMP_SLOT64",	"R_SH_RELATIVE64",
-	[197] = "R_SH_RELATIVE_LOW16",	"R_SH_RELATIVE_MEDLOW16",
-		"R_SH_RELATIVE_MEDHI16","R_SH_RELATIVE_HI16",
-	[242] = "R_SH_SHMEDIA_CODE",	"R_SH_PT_16",
-		"R_SH_IMMS16",		"R_SH_IMMU16",
-	[246] = "R_SH_IMM_LOW16",	"R_SH_IMM_LOW16_PCREL",
-		"R_SH_IMM_MEDLOW16",	"R_SH_IMM_MEDLOW16_PCREL",
-	[250] = "R_SH_IMM_MEDHI16",	"R_SH_IMM_MEDHI16_PCREL",
-		"R_SH_IMM_HI16",	"R_SH_IMM_HI16_PCREL",
-	[254] = "R_SH_64",		"R_SH_64_PCREL",
-};
diff --git a/ldso/ldso/sh64/dl-startup.h b/ldso/ldso/sh64/dl-startup.h
deleted file mode 100644
index 9dac5ef..0000000
--- a/ldso/ldso/sh64/dl-startup.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Any assembly language/system dependent hacks needed to setup boot1.c so it
- * will work as expected and cope with whatever platform specific wierdness is
- * needed for this architecture.
- */
-
-__asm__("" \
-"	.section .text..SHmedia32,\"ax\"\n"				\
-"	.globl _start\n"						\
-"	.type _start, @function\n"					\
-"	.hidden _start\n"						\
-"	.align 5\n"							\
-"_start:\n"								\
-"	! Set r12 to point to GOT\n"					\
-"	movi	(((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ3-.)) >> 16) & 0xffff), r12\n"	\
-"	shori	((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ3-.)) & 0xffff), r12\n"		\
-".LZZZ3:\n"								\
-"	ptrel/u	r12, tr0\n"						\
-"	gettr	tr0, r12	! GOT address\n"			\
-"	add	r18, r63, r11	! save return address - needed?\n"	\
-"	add	r15, r63, r2	! arg = stack pointer\n"		\
-"	pt	_dl_start, tr0	! should work even if PIC\n"		\
-"	blink	tr0, r18	! call _dl_start - user EP is in r2\n"	\
-"	add	r2, r63, r28\n"						\
-"	movi	(((_dl_fini@GOT) >> 16) & 0xffff), r1\n"		\
-"	shori	((_dl_fini@GOT) & 0xffff), r1\n"			\
-"	ldx.l	r1, r12, r2\n"						\
-"	add	r11, r63, r18\n"					\
-"	ptabs/l r28, tr0\n"						\
-"	blink	tr0, r63\n"						\
-"	.size	_start,.-_start\n"
-"	.previous\n"
-);
-
-/*
- * Get a pointer to the argv array.  On many platforms this can be just
- * the address of the first argument, on other platforms we need to
- * do something a little more subtle here.
- */
-#define GET_ARGV(ARGVP, ARGS) ARGVP = (((unsigned long *)ARGS)+1)
-
-/*
- * Here is a macro to perform a relocation.  This is only used when
- * bootstrapping the dynamic loader.  RELP is the relocation that we
- * are performing, REL is the pointer to the address we are relocating.
- * SYMBOL is the symbol involved in the relocation, and LOAD is the
- * load address.
- */
-
-#include <elf.h>
-
-#define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD,SYMTAB)		\
-	const unsigned int r_type = ELF_R_TYPE((RELP)->r_info);	\
-	int lsb = !!((SYMTAB)->st_other & STO_SH5_ISA32);		\
-									\
-	switch (r_type)	{						\
-	case R_SH_REL32:						\
-		*(REL)  = (SYMBOL) + (RELP)->r_addend			\
-			    - (unsigned long)(REL);			\
-		break;							\
-	case R_SH_DIR32:						\
-	case R_SH_GLOB_DAT:						\
-	case R_SH_JMP_SLOT:						\
-		*(REL)  = ((SYMBOL) + (RELP)->r_addend) | lsb;		\
-		break;							\
-	case R_SH_RELATIVE:						\
-		*(REL)  = (LOAD) + (RELP)->r_addend;			\
-		break;							\
-	case R_SH_RELATIVE_LOW16:					\
-	case R_SH_RELATIVE_MEDLOW16:					\
-	{								\
-		unsigned long word, value;				\
-									\
-		word = (unsigned long)(REL) & ~0x3fffc00;		\
-		value = (LOAD) + (RELP)->r_addend;			\
-									\
-		if (r_type == R_SH_RELATIVE_MEDLOW16)			\
-			value >>= 16;					\
-									\
-		word |= (value & 0xffff) << 10;				\
-		*(REL)	= word;						\
-		break;							\
-	}								\
-	case R_SH_IMM_LOW16:						\
-	case R_SH_IMM_MEDLOW16:						\
-	{								\
-		unsigned long word, value;				\
-									\
-		word = (unsigned long)(REL) & ~0x3fffc00;		\
-		value = ((SYMBOL) + (RELP)->r_addend) | lsb;		\
-									\
-		if (r_type == R_SH_IMM_MEDLOW16)			\
-			value >>= 16;					\
-									\
-		word |= (value & 0xffff) << 10;				\
-		*(REL)	= word;						\
-		break;							\
-	}								\
-	case R_SH_IMM_LOW16_PCREL:					\
-	case R_SH_IMM_MEDLOW16_PCREL:					\
-	{								\
-		unsigned long word, value;				\
-									\
-		word = (unsigned long)(REL) & ~0x3fffc00;		\
-		value = (SYMBOL) + (RELP)->r_addend			\
-			  - (unsigned long)(REL);			\
-									\
-		if (r_type == R_SH_IMM_MEDLOW16_PCREL)			\
-			value >>= 16;					\
-									\
-		word |= (value & 0xffff) << 10;				\
-		*(REL)	= word;						\
-		break;							\
-	}								\
-	case R_SH_NONE:							\
-		break;							\
-	default:							\
-		_dl_exit(1);						\
-	}
diff --git a/ldso/ldso/sh64/dl-syscalls.h b/ldso/ldso/sh64/dl-syscalls.h
deleted file mode 100644
index 2ea4bb7..0000000
--- a/ldso/ldso/sh64/dl-syscalls.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#undef __syscall_return
-#define __syscall_return(type, res)					\
-do {									\
-	/*								\
-	 * Note: when returning from kernel the return value is in r9	\
-	 *								\
-	 * This prevents conflicts between return value and arg1	\
-	 * when dispatching signal handler, in other words makes	\
-	 * life easier in the system call epilogue (see entry.S)	\
-	 */								\
-	register unsigned long __sr2 __asm__ ("r2") = res;		\
-	if ((unsigned long)(res) >= (unsigned long)(-125)) {		\
-		_dl_errno = -(res);					\
-		__sr2 = -1;						\
-	}								\
-	return (type)(__sr2);						\
-} while (0)
-
diff --git a/ldso/ldso/sh64/dl-sysdep.h b/ldso/ldso/sh64/dl-sysdep.h
deleted file mode 100644
index 0434139..0000000
--- a/ldso/ldso/sh64/dl-sysdep.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* vi: set sw=8 ts=8: */
-/*
- * Various assembly language/system dependent hacks that are required
- * so that we can minimize the amount of platform specific code.
- */
-
-/* Define this if the system uses RELOCA.  */
-#define ELF_USES_RELOCA
-#include <elf.h>
-/*
- * Initialization sequence for a GOT.
- */
-#define INIT_GOT(GOT_BASE,MODULE)				\
-{								\
-	GOT_BASE[2] = (unsigned long)_dl_linux_resolve;		\
-	GOT_BASE[1] = (unsigned long)(MODULE);			\
-}
-
-/* Here we define the magic numbers that this dynamic loader should accept */
-#define MAGIC1 EM_SH
-#undef  MAGIC2
-
-/* Used for error messages */
-#define ELF_TARGET "sh64"
-
-/* Need bootstrap relocations */
-#define ARCH_NEEDS_BOOTSTRAP_RELOCS
-
-struct elf_resolve;
-extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
-   TLS variable, so undefined references should not be allowed to
-   define the value.
-   ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
-   of the main executable's symbols, as for a COPY reloc.  */
-#define elf_machine_type_class(type) \
-  ((((type) == R_SH_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)	\
-   | (((type) == R_SH_COPY) * ELF_RTYPE_CLASS_COPY))
-
-/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-   first element of the GOT.  This must be inlined in a function which
-   uses global data.  */
-static __always_inline Elf32_Addr elf_machine_dynamic(void)
-{
-	register Elf32_Addr *got;
-
-	/*
-	 * The toolchain adds 32768 to the GOT address, we compensate for
-	 * that in the movi/sub pair.
-	 *
-	 * XXX: If this is cleaned up in the toolchain, we can end up
-	 * saving 2 instructions and subsequently free up r1 from the
-	 * clobber list..
-	 */
-	__asm__ (
-		"movi\t(((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ1-.)) >> 16) & 0xffff), r2\n\t"
-		"shori\t((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ1-.)) & 0xffff), r2\n\t"
-		".LZZZ1:\tptrel/u r2, tr0\n\t"
-		"movi\t32768, r1\n\t"
-		"gettr\ttr0, r2\n\t"
-		"sub\tr2, r1, %0\n\t"
-		: "=r" (got)
-		: /* no inputs */
-		: "r1", "r2", "tr0"
-	);
-
-	return *got;
-}
-
-/* Return the run-time load address of the shared object.  */
-static __always_inline Elf32_Addr elf_machine_load_address(void)
-{
-	Elf32_Addr addr;
-
-	__asm__ (
-		"movi\t(((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ2-.)) >> 16) & 0xffff), r0\n\t"
-		"shori\t((datalabel _GLOBAL_OFFSET_TABLE_-(.LZZZ2-.)) & 0xffff), r0\n\t"
-		".LZZZ2:\tptrel/u r0, tr0\n\t"
-		"movi\t(((_dl_start@GOTOFF) >> 16) & 0xffff), r2\n\t"
-		"shori\t((_dl_start@GOTOFF) & 0xffff), r2\n\t"
-		"gettr\ttr0, r0\n\t"
-		"add\tr2, r0, r2\n\t"
-		"movi\t(((_dl_start@GOT) >> 16) & 0xffff), r1\n\t"
-		"shori\t((_dl_start@GOT) & 0xffff), r1\n\t"
-		"ldx.l\tr1, r0, r1\n\t"
-		"sub\tr2, r1, %0\n\t"
-		: "=r" (addr)
-		: /* no inputs */
-		: "r0", "r1", "r2", "tr0"
-	);
-
-	return addr;
-}
-
-/*
- * XXX: As we don't need to worry about r25 clobbering, we could probably
- * get away with inlining {st,ld}{x,}.l and friends here instead and
- * forego gcc's idea of code generation.
- */
-#define COPY_UNALIGNED_WORD(swp, twp, align)		\
-{							\
-	void *__s = (swp), *__t = (twp);		\
-	unsigned char *__s1 = __s, *__t1 = __t;		\
-	unsigned short *__s2 = __s, *__t2 = __t;	\
-	unsigned long *__s4 = __s, *__t4 = __t;		\
-							\
-	switch ((align)) {				\
-	case 0:						\
-		*__t4 = *__s4;				\
-		break;					\
-	case 2:						\
-		*__t2++ = *__s2++;			\
-		*__t2 = *__s2;				\
-		break;					\
-	default:					\
-		*__t1++ = *__s1++;			\
-		*__t1++ = *__s1++;			\
-		*__t1++ = *__s1++;			\
-		*__t1 = *__s1;				\
-		break;					\
-	}						\
-}
-
-static __always_inline void
-elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
-		     Elf32_Word relative_count)
-{
-	Elf32_Addr value, word;
-	Elf32_Rela *rpnt = (void *)rel_addr;
-	int reloc_type = ELF_R_TYPE(rpnt->r_info);
-
-	do {
-		Elf32_Addr *const reloc_addr =
-			(void *)(load_off + rpnt->r_offset);
-		int align = (int)reloc_addr & 3;
-
-		switch (reloc_type) {
-		case R_SH_RELATIVE_LOW16:
-			COPY_UNALIGNED_WORD(reloc_addr, &word, align);
-			word &= ~0x3fffc00;
-			value = (rpnt->r_addend + load_off);
-			word |= (value & 0xffff) << 10;
-			COPY_UNALIGNED_WORD(&word, reloc_addr, align);
-			break;
-		case R_SH_RELATIVE_MEDLOW16:
-			COPY_UNALIGNED_WORD(reloc_addr, &word, align);
-			word &= ~0x3fffc00;
-			value = (rpnt->r_addend + load_off) >> 16;
-			word |= (value & 0xffff) << 10;
-			COPY_UNALIGNED_WORD(&word, reloc_addr, align);
-			break;
-		default:
-			if (rpnt->r_addend) {
-				value = load_off + rpnt->r_addend;
-			} else {
-				COPY_UNALIGNED_WORD(reloc_addr, &value, align);
-				value += load_off;
-			}
-
-			COPY_UNALIGNED_WORD(&value, reloc_addr, align);
-			break;
-		}
-
-		rpnt++;
-	} while (--relative_count);
-#undef COPY_UNALIGNED_WORD
-}
diff --git a/ldso/ldso/sh64/elfinterp.c b/ldso/ldso/sh64/elfinterp.c
deleted file mode 100644
index 3a59bc4..0000000
--- a/ldso/ldso/sh64/elfinterp.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/* vi: set sw=8 ts=8: */
-/*
- * ldso/ldso/sh64/elfinterp.c
- *
- * SuperH (sh64) ELF shared library loader suppport
- *
- * Copyright (C) 2003, 2004, 2005  Paul Mundt <lethal(a)linux-sh.org>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. The name of the above contributors may not be
- *    used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* Program to load an ELF binary on a linux system, and run it.
-   References to symbols in sharable libraries can be resolved by either
-   an ELF sharable library or a linux style of shared library. */
-
-/* Disclaimer:  I have never seen any AT&T source code for SVr4, nor have
-   I ever taken any courses on internals.  This program was developed using
-   information available through the book "UNIX SYSTEM V RELEASE 4,
-   Programmers guide: Ansi C and Programming Support Tools", which did
-   a more than adequate job of explaining everything required to get this
-   working. */
-
-#include "ldso.h"
-
-extern int _dl_linux_resolve(void);
-
-unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
-{
-	ELF_RELOC *this_reloc;
-	char *strtab;
-	ElfW(Sym) *symtab;
-	int symtab_index;
-	char *rel_addr;
-	char *new_addr;
-	char **got_addr;
-	unsigned long instr_addr;
-	char *symname;
-
-	rel_addr = (char *)tpnt->dynamic_info[DT_JMPREL];
-
-	this_reloc = (ELF_RELOC *)(intptr_t)(rel_addr + reloc_entry);
-	symtab_index = ELF_R_SYM(this_reloc->r_info);
-
-	symtab = (ElfW(Sym) *)(intptr_t)tpnt->dynamic_info[DT_SYMTAB];
-	strtab = (char *)tpnt->dynamic_info[DT_STRTAB];
-	symname = strtab + symtab[symtab_index].st_name;
-
-	/* Address of jump instruction to fix up */
-	instr_addr = ((unsigned long)this_reloc->r_offset +
-			(unsigned long)tpnt->loadaddr);
-	got_addr = (char **)instr_addr;
-
-
-	/* Get the address of the GOT entry */
-	new_addr = _dl_find_hash(symname, &_dl_loaded_modules->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL);
-	if (unlikely(!new_addr)) {
-		_dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
-			    _dl_progname, symname);
-		_dl_exit(1);
-	}
-
-#ifdef __SUPPORT_LD_DEBUG__
-	if ((unsigned long)got_addr < 0x20000000) {
-		if (_dl_debug_bindings) {
-			_dl_dprintf(_dl_debug_file, "\nresolve function: %s",
-				    symname);
-
-			if (_dl_debug_detail)
-				_dl_dprintf(_dl_debug_file,
-					    "\n\tpatched %x ==> %x @ %x\n",
-					    *got_addr, new_addr, got_addr);
-		}
-	}
-
-	if (!_dl_debug_nofixups)
-		*got_addr = new_addr;
-#else
-	*got_addr = new_addr;
-#endif
-
-	return (unsigned long)new_addr;
-}
-
-static int _dl_parse(struct elf_resolve *tpnt, struct r_scope_elem *scope,
-		     unsigned long rel_addr, unsigned long rel_size,
-		     int (*reloc_fnc)(struct elf_resolve *tpnt,
-				      struct r_scope_elem *scope,
-				      ELF_RELOC *rpnt, ElfW(Sym) *symtab,
-				      char *strtab))
-{
-	unsigned int i;
-	char *strtab;
-	ElfW(Sym) *symtab;
-	ELF_RELOC *rpnt;
-	int symtab_index;
-
-	/* Now parse the relocation information */
-	rpnt = (ELF_RELOC *)(intptr_t)rel_addr;
-	rel_size = rel_size / sizeof(ELF_RELOC);
-
-	symtab = (ElfW(Sym) *)(intptr_t)tpnt->dynamic_info[DT_SYMTAB];
-	strtab = (char *)tpnt->dynamic_info[DT_STRTAB];
-
-	for (i = 0; i < rel_size; i++, rpnt++) {
-		int res;
-
-		symtab_index = ELF_R_SYM(rpnt->r_info);
-		debug_sym(symtab,strtab,symtab_index);
-		debug_reloc(symtab,strtab,rpnt);
-
-		res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
-		if (res == 0)
-			continue;
-
-		_dl_dprintf(2, "\n%s: ",_dl_progname);
-
-		if (symtab_index)
-			_dl_dprintf(2, "symbol '%s': ",
-				strtab + symtab[symtab_index].st_name);
-
-		if (unlikely(res < 0)) {
-		        int reloc_type = ELF_R_TYPE(rpnt->r_info);
-
-			_dl_dprintf(2, "can't handle reloc type "
-#ifdef __SUPPORT_LD_DEBUG__
-					"%s\n", _dl_reltypes(reloc_type)
-#else
-					"%x\n", reloc_type
-#endif
-			);
-
-			_dl_exit(-res);
-		}
-		if (unlikely(res > 0)) {
-			_dl_dprintf(2, "can't resolve symbol\n");
-
-			return res;
-		}
-	}
-
-	return 0;
-}
-
-static int _dl_do_reloc(struct elf_resolve *tpnt,struct r_scope_elem *scope,
-			ELF_RELOC *rpnt, ElfW(Sym) *symtab, char *strtab)
-{
-        int reloc_type;
-	int symtab_index, lsb;
-	char *symname;
-	unsigned long *reloc_addr;
-	unsigned long symbol_addr;
-#ifdef __SUPPORT_LD_DEBUG__
-	unsigned long old_val;
-#endif
-	struct symbol_ref sym_ref;
-
-	reloc_type   = ELF_R_TYPE(rpnt->r_info);
-	symtab_index = ELF_R_SYM(rpnt->r_info);
-	symbol_addr  = 0;
-	lsb          = !!(symtab[symtab_index].st_other & STO_SH5_ISA32);
-	sym_ref.sym = &symtab[symtab_index];
-	sym_ref.tpnt = NULL;
-	symname      = strtab + symtab[symtab_index].st_name;
-	reloc_addr   = (unsigned long *)(intptr_t)
-		(tpnt->loadaddr + (unsigned long)rpnt->r_offset);
-
-	if (symtab_index) {
-		int stb;
-
-		symbol_addr = (unsigned long)_dl_find_hash(symname, scope, tpnt,
-							   elf_machine_type_class(reloc_type), &sym_ref);
-
-		/*
-		 * We want to allow undefined references to weak symbols - this
-		 * might have been intentional. We should not be linking local
-		 * symbols here, so all bases should be covered.
-		 */
-		stb = ELF_ST_BIND(symtab[symtab_index].st_info);
-
-		if (stb != STB_WEAK && !symbol_addr) {
-			_dl_dprintf (2, "%s: can't resolve symbol '%s'\n",
-				     _dl_progname, symname);
-			_dl_exit (1);
-		}
-		if (_dl_trace_prelink) {
-			_dl_debug_lookup (symname, tpnt, &symtab[symtab_index],
-				&sym_ref, elf_machine_type_class(reloc_type));
-		}
-	}
-
-#ifdef __SUPPORT_LD_DEBUG__
-	old_val = *reloc_addr;
-#endif
-
-	switch (reloc_type) {
-	case R_SH_NONE:
-		break;
-	case R_SH_COPY:
-		_dl_memcpy((char *)reloc_addr,
-			   (char *)symbol_addr, symtab[symtab_index].st_size);
-		break;
-	case R_SH_DIR32:
-	case R_SH_GLOB_DAT:
-	case R_SH_JMP_SLOT:
-		*reloc_addr = (symbol_addr + rpnt->r_addend) | lsb;
-		break;
-	case R_SH_REL32:
-		*reloc_addr = symbol_addr + rpnt->r_addend -
-			(unsigned long)reloc_addr;
-		break;
-	case R_SH_RELATIVE:
-		*reloc_addr = (unsigned long)tpnt->loadaddr + rpnt->r_addend;
-		break;
-	case R_SH_RELATIVE_LOW16:
-	case R_SH_RELATIVE_MEDLOW16:
-	    {
-		unsigned long word, value;
-
-		word = (unsigned long)reloc_addr & ~0x3fffc00;
-		value = (unsigned long)tpnt->loadaddr + rpnt->r_addend;
-
-		if (reloc_type == R_SH_RELATIVE_MEDLOW16)
-			value >>= 16;
-
-		word |= (value & 0xffff) << 10;
-		*reloc_addr = word;
-
-		break;
-	    }
-	case R_SH_IMM_LOW16:
-	case R_SH_IMM_MEDLOW16:
-	    {
-		unsigned long word, value;
-
-		word = (unsigned long)reloc_addr & ~0x3fffc00;
-		value = (symbol_addr + rpnt->r_addend) | lsb;
-
-		if (reloc_type == R_SH_IMM_MEDLOW16)
-			value >>= 16;
-
-		word |= (value & 0xffff) << 10;
-		*reloc_addr = word;
-
-		break;
-	    }
-	case R_SH_IMM_LOW16_PCREL:
-	case R_SH_IMM_MEDLOW16_PCREL:
-	    {
-		unsigned long word, value;
-
-		word = (unsigned long)reloc_addr & ~0x3fffc00;
-		value = symbol_addr + rpnt->r_addend -
-			(unsigned long)reloc_addr;
-
-		if (reloc_type == R_SH_IMM_MEDLOW16_PCREL)
-			value >>= 16;
-
-		word |= (value & 0xffff) << 10;
-		*reloc_addr = word;
-
-		break;
-	    }
-	default:
-		return -1; /*call _dl_exit(1) */
-	}
-
-#ifdef __SUPPORT_LD_DEBUG__
-	if (_dl_debug_reloc && _dl_debug_detail)
-		_dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x\n",
-			    old_val, *reloc_addr, reloc_addr);
-#endif
-
-	return 0;
-}
-
-static int _dl_do_lazy_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope,
-			     ELF_RELOC *rpnt, ElfW(Sym) *symtab, char *strtab)
-{
-	int reloc_type, symtab_index, lsb;
-	unsigned long *reloc_addr;
-#ifdef __SUPPORT_LD_DEBUG__
-	unsigned long old_val;
-#endif
-
-	reloc_type   = ELF_R_TYPE(rpnt->r_info);
-	symtab_index = ELF_R_SYM(rpnt->r_info);
-	lsb          = !!(symtab[symtab_index].st_other & STO_SH5_ISA32);
-	reloc_addr   = (unsigned long *)(intptr_t)
-		(tpnt->loadaddr + (unsigned long)rpnt->r_offset);
-
-#ifdef __SUPPORT_LD_DEBUG__
-	old_val = *reloc_addr;
-#endif
-
-	switch (reloc_type) {
-	case R_SH_NONE:
-		break;
-	case R_SH_JMP_SLOT:
-		*reloc_addr += (unsigned long)tpnt->loadaddr | lsb;
-		break;
-	default:
-		return -1; /*call _dl_exit(1) */
-	}
-
-#ifdef __SUPPORT_LD_DEBUG__
-	if (_dl_debug_reloc && _dl_debug_detail)
-		_dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x\n",
-			    old_val, *reloc_addr, reloc_addr);
-#endif
-
-	return 0;
-}
-
-void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
-	unsigned long rel_addr, unsigned long rel_size)
-{
-	(void)_dl_parse(rpnt->dyn, NULL, rel_addr, rel_size, _dl_do_lazy_reloc);
-}
-
-int _dl_parse_relocation_information(struct dyn_elf *rpnt,
-	struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size)
-{
-	return _dl_parse(rpnt->dyn, scope, rel_addr, rel_size, _dl_do_reloc);
-}
diff --git a/ldso/ldso/sh64/resolve.S b/ldso/ldso/sh64/resolve.S
deleted file mode 100644
index ca915d2..0000000
--- a/ldso/ldso/sh64/resolve.S
+++ /dev/null
@@ -1,95 +0,0 @@
-/* vi: set sw=8 ts=8: */
-/*
- * ldso/ldso/sh64/resolve.S
- *
- * SuperH (sh64) dynamic resolver support
- *
- * Copyright (C) 2003  Paul Mundt <lethal(a)linux-sh.org>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. The name of the above contributors may not be
- *    used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
- 	.section .text..SHmedia32,"ax"
-	.globl	_dl_linux_resolver
-	.globl	_dl_linux_resolve
-	.type	_dl_linux_resolve, @function
-
-	.balign	16
-_dl_linux_resolve:
-	addi	r15, -72, r15		! make room on the stack
-	pt	_dl_linux_resolver, tr0
-	st.q	r15, 0, r2		! save regs
-	st.q	r15, 8, r3
-	st.q	r15, 16, r4
-	st.q	r15, 24, r5
-	st.q	r15, 32, r6
-	st.q	r15, 40, r7
-	st.q	r15, 48, r8
-	st.q	r15, 56, r9
-	st.q	r15, 64, r18
-
-#ifdef HAVE_FPU
-	addi	r15, -48, r15		! make room for FP regs
-	fst.d	r15, 0, dr0		! save FP regs
-	fst.d	r15, 8, dr2
-	fst.d	r15, 16, dr4
-	fst.d	r15, 24, dr6
-	fst.d	r15, 32, dr8
-	fst.d	r15, 40, dr10
-#endif
-
-	/*
-	 * Args for _dl_linux_resolver(), set in r17/r21 by PLT code
-	 */
-
-	add	r17, r63, r2		! link map address
-	add	r21, r63, r3		! GOT offset
-	blink	tr0, r18		! call _dl_linux_resolver()
-	ptabs/l	r2, tr0			! save result = addr of function called
-
-#ifdef HAVE_FPU
-	fld.d	r15, 0, dr0		! restore FP regs
-	fld.d	r15, 8, dr2
-	fld.d	r15, 16, dr4
-	fld.d	r15, 24, dr6
-	fld.d	r15, 32, dr8
-	fld.d	r15, 40, dr10
-	addi	r15, 48, r15
-#endif
-
-	ld.q	r15, 0, r2		! restore regs
-	ld.q	r15, 8, r3
-	ld.q	r15, 16, r4
-	ld.q	r15, 24, r5
-	ld.q	r15, 32, r6
-	ld.q	r15, 40, r7
-	ld.q	r15, 48, r8
-	ld.q	r15, 56, r9
-	ld.q	r15, 64, r18
-
-	addi	r15, 72, r15
-	blink	tr0, r63		! jump to function address
-
-	.size	_dl_linux_resolve, . - _dl_linux_resolve
-
diff --git a/libc/inet/rpc/xdr_float.c b/libc/inet/rpc/xdr_float.c
index 5121239..f8a2bb3 100644
--- a/libc/inet/rpc/xdr_float.c
+++ b/libc/inet/rpc/xdr_float.c
@@ -54,67 +54,12 @@ static char sccsid[] = "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro";
 
 #define LSW	(__FLOAT_WORD_ORDER == __BIG_ENDIAN)
 
-#ifdef vax
-
-/* What IEEE single precision floating point looks like on a Vax */
-struct	ieee_single {
-	unsigned int	mantissa: 23;
-	unsigned int	exp     : 8;
-	unsigned int	sign    : 1;
-};
-
-/* Vax single precision floating point */
-struct	vax_single {
-	unsigned int	mantissa1 : 7;
-	unsigned int	exp       : 8;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 16;
-};
-
-#define VAX_SNG_BIAS	0x81
-#define IEEE_SNG_BIAS	0x7f
-
-static struct sgl_limits {
-	struct vax_single s;
-	struct ieee_single ieee;
-} sgl_limits[2] = {
-	{{ 0x7f, 0xff, 0x0, 0xffff },	/* Max Vax */
-	{ 0x0, 0xff, 0x0 }},		/* Max IEEE */
-	{{ 0x0, 0x0, 0x0, 0x0 },	/* Min Vax */
-	{ 0x0, 0x0, 0x0 }}		/* Min IEEE */
-};
-#endif /* vax */
-
 bool_t
 xdr_float(XDR *xdrs, float *fp)
 {
-#ifdef vax
-	struct ieee_single is;
-	struct vax_single vs, *vsp;
-	struct sgl_limits *lim;
-	int i;
-#endif
 	switch (xdrs->x_op) {
 
 	case XDR_ENCODE:
-#ifdef vax
-		vs = *((struct vax_single *)fp);
-		for (i = 0, lim = sgl_limits;
-			i < sizeof(sgl_limits)/sizeof(struct sgl_limits);
-			i++, lim++) {
-			if ((vs.mantissa2 == lim->s.mantissa2) &&
-				(vs.exp == lim->s.exp) &&
-				(vs.mantissa1 == lim->s.mantissa1)) {
-				is = lim->ieee;
-				goto shipit;
-			}
-		}
-		is.exp = vs.exp - VAX_SNG_BIAS + IEEE_SNG_BIAS;
-		is.mantissa = (vs.mantissa1 << 16) | vs.mantissa2;
-	shipit:
-		is.sign = vs.sign;
-		return (XDR_PUTLONG(xdrs, (long *)&is));
-#else
 		if (sizeof(float) == sizeof(long))
 			return (XDR_PUTLONG(xdrs, (long *)fp));
 		else if (sizeof(float) == sizeof(int)) {
@@ -122,29 +67,8 @@ xdr_float(XDR *xdrs, float *fp)
 			return (XDR_PUTLONG(xdrs, &tmp));
 		}
 		break;
-#endif
 
 	case XDR_DECODE:
-#ifdef vax
-		vsp = (struct vax_single *)fp;
-		if (!XDR_GETLONG(xdrs, (long *)&is))
-			return (FALSE);
-		for (i = 0, lim = sgl_limits;
-			i < sizeof(sgl_limits)/sizeof(struct sgl_limits);
-			i++, lim++) {
-			if ((is.exp == lim->ieee.exp) &&
-				(is.mantissa == lim->ieee.mantissa)) {
-				*vsp = lim->s;
-				goto doneit;
-			}
-		}
-		vsp->exp = is.exp - IEEE_SNG_BIAS + VAX_SNG_BIAS;
-		vsp->mantissa2 = is.mantissa;
-		vsp->mantissa1 = (is.mantissa >> 16);
-	doneit:
-		vsp->sign = is.sign;
-		return (TRUE);
-#else
 		if (sizeof(float) == sizeof(long))
 			return (XDR_GETLONG(xdrs, (long *)fp));
 		else if (sizeof(float) == sizeof(int)) {
@@ -155,7 +79,6 @@ xdr_float(XDR *xdrs, float *fp)
 			}
 		}
 		break;
-#endif
 
 	case XDR_FREE:
 		return (TRUE);
@@ -163,82 +86,13 @@ xdr_float(XDR *xdrs, float *fp)
 	return (FALSE);
 }
 
-/*
- * This routine works on Suns (Sky / 68000's) and Vaxen.
- */
-
-#ifdef vax
-/* What IEEE double precision floating point looks like on a Vax */
-struct	ieee_double {
-	unsigned int	mantissa1 : 20;
-	unsigned int	exp       : 11;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 32;
-};
-
-/* Vax double precision floating point */
-struct  vax_double {
-	unsigned int	mantissa1 : 7;
-	unsigned int	exp       : 8;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 16;
-	unsigned int	mantissa3 : 16;
-	unsigned int	mantissa4 : 16;
-};
-
-#define VAX_DBL_BIAS	0x81
-#define IEEE_DBL_BIAS	0x3ff
-#define MASK(nbits)	((1 << nbits) - 1)
-
-static struct dbl_limits {
-	struct	vax_double d;
-	struct	ieee_double ieee;
-} dbl_limits[2] = {
-	{{ 0x7f, 0xff, 0x0, 0xffff, 0xffff, 0xffff },	/* Max Vax */
-	{ 0x0, 0x7ff, 0x0, 0x0 }},			/* Max IEEE */
-	{{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},		/* Min Vax */
-	{ 0x0, 0x0, 0x0, 0x0 }}				/* Min IEEE */
-};
-
-#endif /* vax */
-
-
 bool_t
 xdr_double(XDR *xdrs, double *dp)
 {
-#ifdef vax
-	struct	ieee_double id;
-	struct	vax_double vd;
-	register struct dbl_limits *lim;
-	int i;
-#endif
 
 	switch (xdrs->x_op) {
 
 	case XDR_ENCODE:
-#ifdef vax
-		vd = *((struct vax_double *)dp);
-		for (i = 0, lim = dbl_limits;
-			i < sizeof(dbl_limits)/sizeof(struct dbl_limits);
-			i++, lim++) {
-			if ((vd.mantissa4 == lim->d.mantissa4) &&
-				(vd.mantissa3 == lim->d.mantissa3) &&
-				(vd.mantissa2 == lim->d.mantissa2) &&
-				(vd.mantissa1 == lim->d.mantissa1) &&
-				(vd.exp == lim->d.exp)) {
-				id = lim->ieee;
-				goto shipit;
-			}
-		}
-		id.exp = vd.exp - VAX_DBL_BIAS + IEEE_DBL_BIAS;
-		id.mantissa1 = (vd.mantissa1 << 13) | (vd.mantissa2 >> 3);
-		id.mantissa2 = ((vd.mantissa2 & MASK(3)) << 29) |
-				(vd.mantissa3 << 13) |
-				((vd.mantissa4 >> 3) & MASK(13));
-	shipit:
-		id.sign = vd.sign;
-		dp = (double *)&id;
-#endif
 		if (2*sizeof(long) == sizeof(double)) {
 			long *lp = (long *)dp;
 			return (XDR_PUTLONG(xdrs, lp+!LSW) &&
@@ -254,31 +108,6 @@ xdr_double(XDR *xdrs, double *dp)
 		break;
 
 	case XDR_DECODE:
-#ifdef vax
-		lp = (long *)&id;
-		if (!XDR_GETLONG(xdrs, lp++) || !XDR_GETLONG(xdrs, lp))
-			return (FALSE);
-		for (i = 0, lim = dbl_limits;
-			i < sizeof(dbl_limits)/sizeof(struct dbl_limits);
-			i++, lim++) {
-			if ((id.mantissa2 == lim->ieee.mantissa2) &&
-				(id.mantissa1 == lim->ieee.mantissa1) &&
-				(id.exp == lim->ieee.exp)) {
-				vd = lim->d;
-				goto doneit;
-			}
-		}
-		vd.exp = id.exp - IEEE_DBL_BIAS + VAX_DBL_BIAS;
-		vd.mantissa1 = (id.mantissa1 >> 13);
-		vd.mantissa2 = ((id.mantissa1 & MASK(13)) << 3) |
-				(id.mantissa2 >> 29);
-		vd.mantissa3 = (id.mantissa2 >> 13);
-		vd.mantissa4 = (id.mantissa2 << 3);
-	doneit:
-		vd.sign = id.sign;
-		*dp = *((double *)&vd);
-		return (TRUE);
-#else
 		if (2*sizeof(long) == sizeof(double)) {
 			long *lp = (long *)dp;
 			return (XDR_GETLONG(xdrs, lp+!LSW) &&
@@ -294,7 +123,6 @@ xdr_double(XDR *xdrs, double *dp)
 			}
 		}
 		break;
-#endif
 
 	case XDR_FREE:
 		return (TRUE);
diff --git a/libc/string/sh64/Makefile b/libc/string/sh64/Makefile
deleted file mode 100644
index 0a95346..0000000
--- a/libc/string/sh64/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2005 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-top_srcdir:=../../../
-top_builddir:=../../../
-all: objs
-include $(top_builddir)Rules.mak
-include ../Makefile.in
-include $(top_srcdir)Makerules
diff --git a/libc/string/sh64/memcpy.S b/libc/string/sh64/memcpy.S
deleted file mode 100644
index 470784e..0000000
--- a/libc/string/sh64/memcpy.S
+++ /dev/null
@@ -1,205 +0,0 @@
-/* Cloned and hacked for uClibc by Paul Mundt, December 2003 */
-/* Modified by SuperH, Inc. September 2003 */
-!
-! Fast SH memcpy
-!
-! by Toshiyasu Morita (tm(a)netcom.com)
-! hacked by J"orn Rernnecke (joern.rennecke(a)superh.com) ("o for o-umlaut)
-! SH5 code Copyright 2002 SuperH Ltd.
-!
-! Entry: ARG0: destination pointer
-!        ARG1: source pointer
-!        ARG2: byte count
-!
-! Exit:  RESULT: destination pointer
-!        any other registers in the range r0-r7: trashed
-!
-! Notes: Usually one wants to do small reads and write a longword, but
-!        unfortunately it is difficult in some cases to concatanate bytes
-!        into a longword on the SH, so this does a longword read and small
-!        writes.
-!
-! This implementation makes two assumptions about how it is called:
-!
-! 1.: If the byte count is nonzero, the address of the last byte to be
-!     copied is unsigned greater than the address of the first byte to
-!     be copied.  This could be easily swapped for a signed comparison,
-!     but the algorithm used needs some comparison.
-!
-! 2.: When there are two or three bytes in the last word of an 11-or-more
-!     bytes memory chunk to b copied, the rest of the word can be read
-!     without side effects.
-!     This could be easily changed by increasing the minumum size of
-!     a fast memcpy and the amount subtracted from r7 before L_2l_loop be 2,
-!     however, this would cost a few extra cyles on average.
-!     For SHmedia, the assumption is that any quadword can be read in its
-!     enirety if at least one byte is included in the copy.
-!
-
-#include <features.h>
-
-	.section .text..SHmedia32,"ax"
-	.globl	memcpy
-	.type	memcpy, @function
-	.align	5
-
-memcpy:
-
-#define LDUAQ(P,O,D0,D1) ldlo.q P,O,D0; ldhi.q P,O+7,D1
-#define STUAQ(P,O,D0,D1) stlo.q P,O,D0; sthi.q P,O+7,D1
-#define LDUAL(P,O,D0,D1) ldlo.l P,O,D0; ldhi.l P,O+3,D1
-#define STUAL(P,O,D0,D1) stlo.l P,O,D0; sthi.l P,O+3,D1
-
-	ld.b r3,0,r63
-	pta/l Large,tr0
-	movi 25,r0
-	bgeu/u r4,r0,tr0
-	nsb r4,r0
-	shlli r0,5,r0
-	movi (L1-L0+63*32 + 1) & 0xffff,r1
-	sub r1, r0, r0
-L0:	ptrel r0,tr0
-	add r2,r4,r5
-	ptabs r18,tr1
-	add r3,r4,r6
-	blink tr0,r63
-	
-/* Rearranged to make cut2 safe */
-	.balign 8
-L4_7:	/* 4..7 byte memcpy cntd. */
-	stlo.l r2, 0, r0
-	or r6, r7, r6
-	sthi.l r5, -1, r6
-	stlo.l r5, -4, r6
-	blink tr1,r63
-
-	.balign 8
-L1:	/* 0 byte memcpy */
-	nop
-	blink tr1,r63
-	nop
-	nop
-	nop
-	nop
-
-L2_3:	/* 2 or 3 byte memcpy cntd. */
-	st.b r5,-1,r6
-	blink tr1,r63
-
-	/* 1 byte memcpy */
-	ld.b r3,0,r0
-	st.b r2,0,r0
-	blink tr1,r63
-
-L8_15:	/* 8..15 byte memcpy cntd. */
-	stlo.q r2, 0, r0
-	or r6, r7, r6
-	sthi.q r5, -1, r6
-	stlo.q r5, -8, r6
-	blink tr1,r63
-	
-	/* 2 or 3 byte memcpy */
-	ld.b r3,0,r0
-	ld.b r2,0,r63
-	ld.b r3,1,r1
-	st.b r2,0,r0
-	pta/l L2_3,tr0
-	ld.b r6,-1,r6
-	st.b r2,1,r1
-	blink tr0, r63
-
-	/* 4 .. 7 byte memcpy */
-	LDUAL (r3, 0, r0, r1)
-	pta L4_7, tr0
-	ldlo.l r6, -4, r7
-	or r0, r1, r0
-	sthi.l r2, 3, r0
-	ldhi.l r6, -1, r6
-	blink tr0, r63
-
-	/* 8 .. 15 byte memcpy */
-	LDUAQ (r3, 0, r0, r1)
-	pta L8_15, tr0
-	ldlo.q r6, -8, r7
-	or r0, r1, r0
-	sthi.q r2, 7, r0
-	ldhi.q r6, -1, r6
-	blink tr0, r63
-
-	/* 16 .. 24 byte memcpy */
-	LDUAQ (r3, 0, r0, r1)
-	LDUAQ (r3, 8, r8, r9)
-	or r0, r1, r0
-	sthi.q r2, 7, r0
-	or r8, r9, r8
-	sthi.q r2, 15, r8
-	ldlo.q r6, -8, r7
-	ldhi.q r6, -1, r6
-	stlo.q r2, 8, r8
-	stlo.q r2, 0, r0
-	or r6, r7, r6
-	sthi.q r5, -1, r6
-	stlo.q r5, -8, r6
-	blink tr1,r63
-
-Large:
-	ld.b r2, 0, r63
-	pta/l  Loop_ua, tr1
-	ori r3, -8, r7
-	sub r2, r7, r22
-	sub r3, r2, r6
-	add r2, r4, r5
-	ldlo.q r3, 0, r0
-	addi r5, -16, r5
-	movi 64+8, r27 /* could subtract r7 from that. */
-	stlo.q r2, 0, r0
-	sthi.q r2, 7, r0
-	ldx.q r22, r6, r0
-	bgtu/l r27, r4, tr1
-
-	addi r5, -48, r27
-	pta/l Loop_line, tr0
-	addi r6, 64, r36
-	addi r6, -24, r19
-	addi r6, -16, r20
-	addi r6, -8, r21
-
-Loop_line:
-	ldx.q r22, r36, r63
-	alloco r22, 32
-	addi r22, 32, r22
-	ldx.q r22, r19, r23
-	sthi.q r22, -25, r0
-	ldx.q r22, r20, r24
-	ldx.q r22, r21, r25
-	stlo.q r22, -32, r0
-	ldx.q r22, r6,  r0
-	sthi.q r22, -17, r23
-	sthi.q r22,  -9, r24
-	sthi.q r22,  -1, r25
-	stlo.q r22, -24, r23
-	stlo.q r22, -16, r24
-	stlo.q r22,  -8, r25
-	bgeu r27, r22, tr0
-
-Loop_ua:
-	addi r22, 8, r22
-	sthi.q r22, -1, r0
-	stlo.q r22, -8, r0
-	ldx.q r22, r6, r0
-	bgtu/l r5, r22, tr1
-
-	add r3, r4, r7
-	ldlo.q r7, -8, r1
-	sthi.q r22, 7, r0
-	ldhi.q r7, -1, r7
-	ptabs r18,tr1
-	stlo.q r22, 0, r0
-	or r1, r7, r1
-	sthi.q r5, 15, r1
-	stlo.q r5, 8, r1
-	blink tr1, r63
-
-	.size memcpy,.-memcpy
-
-libc_hidden_def(memcpy)
diff --git a/libc/string/sh64/memset.S b/libc/string/sh64/memset.S
deleted file mode 100644
index 1b8812c..0000000
--- a/libc/string/sh64/memset.S
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Cloned and hacked for uClibc by Paul Mundt, December 2003 */
-/* Modified by SuperH, Inc. September 2003 */
-!
-! Fast SH memset
-!
-! by Toshiyasu Morita (tm(a)netcom.com)
-!
-! SH5 code by J"orn Rennecke (joern.rennecke(a)superh.com)
-! Copyright 2002 SuperH Ltd.
-!
-
-#include <features.h>
-#include <endian.h>
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define SHHI shlld
-#define SHLO shlrd
-#else
-#define SHHI shlrd
-#define SHLO shlld
-#endif
-
-	.section .text..SHmedia32,"ax"
-	.globl	memset
-	.type	memset, @function
-
-	.align 5
-
-memset:
-	pta/l multiquad, tr0
-	andi r2, 7, r22
-	ptabs r18, tr2
-	mshflo.b r3,r3,r3
-	add r4, r22, r23
-	mperm.w r3, r63, r3	/* Fill pattern now in every byte of r3 */
-
-	movi 8, r9
-	bgtu/u r23, r9, tr0 /* multiquad */
-
-	beqi/u r4, 0, tr2       /* Return with size 0 - ensures no mem accesses */
-	ldlo.q r2, 0, r7
-	shlli r4, 2, r4
-	movi -1, r8
-	SHHI r8, r4, r8
-	SHHI r8, r4, r8
-	mcmv r7, r8, r3
-	stlo.q r2, 0, r3
-	blink tr2, r63
-
-multiquad:
-	pta/l lastquad, tr0
-	stlo.q r2, 0, r3
-	shlri r23, 3, r24
-	add r2, r4, r5
-	beqi/u r24, 1, tr0 /* lastquad */
-	pta/l loop, tr1
-	sub r2, r22, r25
-	andi r5, -8, r20   /* calculate end address and */
-	addi r20, -7*8, r8 /* loop end address; This might overflow, so we need
-	                      to use a different test before we start the loop
-	                    */
-	bge/u r24, r9, tr1 /* loop */
-	st.q r25, 8, r3
-	st.q r20, -8, r3
-	shlri r24, 1, r24
-	beqi/u r24, 1, tr0 /* lastquad */
-	st.q r25, 16, r3
-	st.q r20, -16, r3
-	beqi/u r24, 2, tr0 /* lastquad */
-	st.q r25, 24, r3
-	st.q r20, -24, r3
-lastquad:
-	sthi.q r5, -1, r3
-	blink tr2,r63
-
-loop:
-!!!	alloco r25, 32	/* QQQ comment out for short-term fix to SHUK #3895.
-			   QQQ commenting out is locically correct, but sub-optimal
-			   QQQ Sean McGoogan - 4th April 2003. */
-	st.q r25, 8, r3
-	st.q r25, 16, r3
-	st.q r25, 24, r3
-	st.q r25, 32, r3
-	addi r25, 32, r25
-	bgeu/l r8, r25, tr1 /* loop */
-
-	st.q r20, -40, r3
-	st.q r20, -32, r3
-	st.q r20, -24, r3
-	st.q r20, -16, r3
-	st.q r20, -8, r3
-	sthi.q r5, -1, r3
-	blink tr2,r63
-
-	.size	memset,.-memset
-
-libc_hidden_def(memset)
diff --git a/libc/string/sh64/strcpy.S b/libc/string/sh64/strcpy.S
deleted file mode 100644
index f317707..0000000
--- a/libc/string/sh64/strcpy.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Cloned and hacked for uClibc by Paul Mundt, December 2003 */
-/* Modified by SuperH, Inc. September 2003 */
-! Entry: arg0: destination
-!        arg1: source
-! Exit:  result: destination
-!
-! SH5 code Copyright 2002 SuperH Ltd.
-
-#include <features.h>
-#include <endian.h>
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define SHHI shlld
-#define SHLO shlrd
-#else
-#define SHHI shlrd
-#define SHLO shlld
-#endif
-
-	.section .text..SHmedia32,"ax"
-	.globl	strcpy
-	.type	strcpy, @function
-	.align 5
-
-strcpy:
-
-	pta/l shortstring,tr1
-	ldlo.q r3,0,r4
-	ptabs r18,tr4
-	shlli r3,3,r7
-	addi r2, 8, r0
-	mcmpeq.b r4,r63,r6
-	SHHI r6,r7,r6
-	bnei/u r6,0,tr1 /* shortstring */
-	pta/l no_lddst, tr2
-	ori r3,-8,r23
-	sub r2, r23, r0
-	sub r3, r2, r21
-	addi r21, 8, r20
-	ldx.q r0, r21, r5
-	pta/l loop, tr0
-	ori r2,-8,r22
-	mcmpeq.b r5, r63, r6
-	bgt/u r22, r23, tr2 /* no_lddst */
-
-	/* r22 < r23 :  Need to do a load from the destination. */
-	/* r22 == r23 : Doesn't actually need to load from destination, */
-	/*              but still can be handled here. */
-	ldlo.q r2, 0, r9
-	movi -1, r8
-	SHLO r8, r7, r8
-	mcmv r4, r8, r9
-	stlo.q r2, 0, r9
-	beqi/l r6, 0, tr0 /* loop */
-
-	add r5, r63, r4
-	addi r0, 8, r0
-	blink tr1, r63 /* shortstring */
-no_lddst:
-	/* r22 > r23: note that for r22 == r23 the sthi.q would clobber */
-	/*            bytes before the destination region. */
-	stlo.q r2, 0, r4
-	SHHI r4, r7, r4
-	sthi.q r0, -1, r4
-	beqi/l r6, 0, tr0 /* loop */
-
-	add r5, r63, r4
-	addi r0, 8, r0
-shortstring:
-#if __BYTE_ORDER != __LITTLE_ENDIAN
-	pta/l shortstring2,tr1
-	byterev r4,r4
-#endif
-shortstring2:
-	st.b r0,-8,r4
-	andi r4,0xff,r5
-	shlri r4,8,r4
-	addi r0,1,r0
-	bnei/l r5,0,tr1
-	blink tr4,r63 /* return */
-	
-	.balign 8
-loop:
-	stlo.q r0, 0, r5
-	ldx.q r0, r20, r4
-	addi r0, 16, r0
-	sthi.q r0, -9, r5
-	mcmpeq.b r4, r63, r6
-	bnei/u r6, 0, tr1 /* shortstring */
-	ldx.q r0, r21, r5
-	stlo.q r0, -8, r4
-	sthi.q r0, -1, r4
-	mcmpeq.b r5, r63, r6
-	beqi/l r6, 0, tr0 /* loop */
-
-	add r5, r63, r4
-	addi r0, 8, r0
-	blink tr1, r63 /* shortstring */
-
-	.size	strcpy,.-strcpy
-
-libc_hidden_def(strcpy)
diff --git a/libc/string/sh64/strlen.S b/libc/string/sh64/strlen.S
deleted file mode 100644
index 18f4164..0000000
--- a/libc/string/sh64/strlen.S
+++ /dev/null
@@ -1,63 +0,0 @@
-/* vi: set sw=8 ts=8: */
-/*
- * libc/string/sh64/strlen.S
- *
- * Simplistic strlen() implementation for SHmedia.
- *
- * Copyright (C) 2003  Paul Mundt <lethal(a)linux-sh.org>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. The name of the above contributors may not be
- *    used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <features.h>
-
-	.section .text..SHmedia32,"ax"
-	.globl	strlen
-	.type	strlen,@function
-
-	.balign 16
-strlen:
-	ptabs	r18, tr4
-
-	/*
-	 * Note: We could easily deal with the NULL case here with a simple
-	 * sanity check, though it seems that the behavior we want is to fault
-	 * in the event that r2 == NULL, so we don't bother.
-	 */
-/*	beqi    r2, 0, tr4 */	! Sanity check
-
-	movi	-1, r0
-	pta/l	loop, tr0
-loop:
-	ld.b	r2, 0, r1
-	addi	r2, 1, r2
-	addi	r0, 1, r0
-	bnei/l	r1, 0, tr0
-
-	or	r0, r63, r2
-	blink	tr4, r63
-
-	.size	strlen,.-strlen
-
-libc_hidden_def(strlen)
diff --git a/libc/sysdeps/linux/e1/Makefile b/libc/sysdeps/linux/e1/Makefile
deleted file mode 100644
index 29d1c9e..0000000
--- a/libc/sysdeps/linux/e1/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-
-TOPDIR=../../../../
-include $(TOPDIR)Rules.mak
-
-#FIXME -- this arch should include its own crti.S and crtn.S
-UCLIBC_CTOR_DTOR=n
-
-# If you're looking for vfork(), it is defined in include/unistd.h
-
-CRT_SRC := crt0.S
-CRT_OBJ := crt0.o
-CTOR_TARGETS := $(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
-
-# why is crt1.c listed in CSRC ?
-CSRC := crt1.c syscalls.c longjmp.c setjmp.c
-OBJS := $(patsubst %.c,%.o, $(CSRC))
-
-OBJ_LIST := ../../../obj.sysdeps.$(TARGET_ARCH)
-
-all: $(OBJ_LIST) $(CTOR_TARGETS)
-
-$(OBJ_LIST): $(OBJS) $(CRT_OBJ)
-	$(STRIPTOOL) -x -R .note -R .comment $^
-	$(INSTALL) -d $(TOPDIR)lib/
-	cp $(CRT_OBJ) $(TOPDIR)lib/
-	echo $(patsubst %, sysdeps/linux/$(TARGET_ARCH)/%, $(OBJS)) > $@
-
-$(CRT_OBJ): %.o : %.S
-	$(CC) $(ASFLAGS) -c $< -o $@
-
-$(OBJS): %.o : %.c
-	$(CC) $(CFLAGS) -c $< -o $@
-
-ifeq ($(UCLIBC_CTOR_DTOR),y)
-$(TOPDIR)lib/crti.o: crti.S
-	$(INSTALL) -d $(TOPDIR)lib/
-	$(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c $< -o $@
-
-$(TOPDIR)lib/crtn.o: crtn.S
-	$(INSTALL) -d $(TOPDIR)lib/
-	$(CC) $(ASFLAGS) $(SSP_DISABLE_FLAGS) -c $< -o $@
-else
-$(CTOR_TARGETS):
-	$(INSTALL) -d $(TOPDIR)lib/
-	$(AR) $(ARFLAGS) $@
-endif
-
-headers:
-
-clean:
-	$(RM) *.o *~ core
diff --git a/libc/sysdeps/linux/e1/bits/endian.h b/libc/sysdeps/linux/e1/bits/endian.h
deleted file mode 100644
index 0d38c1c..0000000
--- a/libc/sysdeps/linux/e1/bits/endian.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* e1 is big-endian.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#define __BYTE_ORDER __BIG_ENDIAN
diff --git a/libc/sysdeps/linux/e1/bits/fcntl.h b/libc/sysdeps/linux/e1/bits/fcntl.h
deleted file mode 100644
index 2e0e6ba..0000000
--- a/libc/sysdeps/linux/e1/bits/fcntl.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef	_FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-
-#include <sys/types.h>
-
-/* 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		   0100	/* not fcntl */
-#define O_EXCL		   0200	/* not fcntl */
-#define O_NOCTTY	   0400	/* not fcntl */
-#define O_TRUNC		  01000	/* not fcntl */
-#define O_APPEND	  02000
-#define O_NONBLOCK	  04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC		 010000
-#define O_FSYNC		 O_SYNC
-#define O_ASYNC		 020000
-
-#ifdef __USE_GNU
-# define O_DIRECTORY	 040000	/* Must be a directory.	 */
-# define O_NOFOLLOW	0100000	/* Do not follow links.	 */
-# define O_DIRECT	0200000	/* Direct disk access.	*/
-#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
-
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE	0400000
-#endif
-
-/* Values for the second argument to `fcntl'.  */
-#define F_DUPFD		0	/* Duplicate file descriptor.  */
-#define F_GETFD		1	/* Get file descriptor flags.  */
-#define F_SETFD		2	/* Set file descriptor flags.  */
-#define F_GETFL		3	/* Get file status flags.  */
-#define F_SETFL		4	/* Set file status flags.  */
-#ifndef __USE_FILE_OFFSET64
-# define F_GETLK	5	/* Get record locking info.  */
-# define F_SETLK	6	/* Set record locking info (non-blocking).  */
-# define F_SETLKW	7	/* Set record locking info (blocking).	*/
-#else
-# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
-# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
-# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
-#endif
-#define F_GETLK64	12	/* Get record locking info.  */
-#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
-#define F_SETLKW64	14	/* Set record locking info (blocking).	*/
-
-#if defined __USE_BSD || defined __USE_XOPEN2K
-# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	9	/* 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 on new fd.  */
-# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */
-#endif
-
-/* For F_[GET|SET]FL.  */
-#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		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.	*/
-#define F_UNLCK		2	/* Remove lock.	 */
-
-/* For old implementation of bsd flock().  */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation.	*/
-# define LOCK_SH	1	/* shared lock */
-# define LOCK_EX	2	/* exclusive lock */
-# define LOCK_NB	4	/* or'd with one of the above to prevent
-				   blocking */
-# define LOCK_UN	8	/* remove lock */
-#endif
-
-#ifdef __USE_GNU
-# define LOCK_MAND	32	/* This is a mandatory flock:	*/
-# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
-# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
-# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
-#endif
-
-#ifdef __USE_GNU
-/* Types of directory notifications that may be requested with F_NOTIFY.  */
-# define DN_ACCESS	0x00000001	/* File accessed.  */
-# define DN_MODIFY	0x00000002	/* File modified.  */
-# define DN_CREATE	0x00000004	/* File created.  */
-# define DN_DELETE	0x00000008	/* File removed.  */
-# define DN_RENAME	0x00000010	/* File renamed.  */
-# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
-# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
-#endif
-
-struct flock
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-#ifndef __USE_FILE_OFFSET64
-    __off_t l_start;	/* Offset where the lock begins.  */
-    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#else
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#endif
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-#endif
-
-/* 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
-
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-/* 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
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-
-/* 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
-#endif /* LINUX_SPECIFIC */
diff --git a/libc/sysdeps/linux/e1/bits/fenv.h b/libc/sysdeps/linux/e1/bits/fenv.h
deleted file mode 100644
index 3bcc5d9..0000000
--- a/libc/sysdeps/linux/e1/bits/fenv.h
+++ /dev/null
@@ -1,87 +0,0 @@
-
-/*  Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
-                                Yannis Mitsos <yannis.mitsos(a)gdt.gr>
-
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define bits representing the exception.  We use the bit positions of
-   the appropriate bits in the SR.  */
-enum
-  {
-    FE_INEXACT = (1 << 8),
-#define FE_INEXACT	FE_INEXACT
-    FE_UNDERFLOW = (1 << 9),
-#define FE_UNDERFLOW	FE_UNDERFLOW
-    FE_OVERFLOW = (1 << 10),
-#define FE_OVERFLOW	FE_OVERFLOW
-    FE_DIVBYZERO = (1 << 11),
-#define FE_DIVBYZERO	FE_DIVBYZERO
-    FE_INVALID = (1 << 12)
-#define FE_INVALID	FE_INVALID
-  };
-
-#define FE_ALL_EXCEPT \
-	(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
-
-/* We support all of the four defined rounding modes.  We use
-   the bit positions in the FPCR Mode Control Byte as the values for the
-   appropriate macros.  */
-enum
-  {
-    FE_TONEAREST = 0,
-#define FE_TONEAREST	FE_TONEAREST
-    FE_TOWARDZERO = 1 << 13 ,
-#define FE_TOWARDZERO	FE_TOWARDZERO
-    FE_DOWNWARD = 2 << 13,
-#define FE_DOWNWARD	FE_DOWNWARD
-    FE_UPWARD = 3 << 13
-#define FE_UPWARD	FE_UPWARD
-  };
-
-
-/* Type representing exception flags.  */
-typedef unsigned int fexcept_t;
-
-
-/* Type representing floating-point environment.*/
-typedef struct
-{
-    unsigned int round_mode;
-    unsigned int trap_enabled;
-    unsigned int accrued_except;
-    unsigned int actual_except;
-} fenv_t;
-
-#if 0
-/* If the default argument is used we use this value.  */
-const fenv FE_DFL_ENV_OBJ = {0, 0x1C00, 0}
-#define FE_DFL_ENV	(&FE_DFL_ENV_OBJ)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exceptions are masked.  */
-const fenv_t FE_NOMASK_ENV_OBJ = { 0, 0x1F00, 0 };
-# define FE_NOMASK_ENV	(&FE_NOMASK_ENV_OBJ)
-#endif
-
-#endif
-
-#include <bits/fenvinline.h>
diff --git a/libc/sysdeps/linux/e1/bits/fenvinline.h b/libc/sysdeps/linux/e1/bits/fenvinline.h
deleted file mode 100644
index 21d258c..0000000
--- a/libc/sysdeps/linux/e1/bits/fenvinline.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
-   Inline floating-point environment handling functions for Hyperstone e1-32X.
-   Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
-                               Yannis Mitsos <yannis.mitsos(a)gdt.gr>
-
-   Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_MATH_INLINES
-
-/**********************************************************
- *  --- A small description of the E1-16/32X FP unit. ---
- * FP exceptions can be enabled and disabled through
- * <feenableexcept>, <fedisableexcept>.
- *
- * - When an enabled exception takes place a SIGFPE signal
- * is sent to the process by the exception handler. User
- * can test for the exception that took place through
- * <fetestexcept>.
- * feraiseexcept works only for accrued exceptions.
- *
- * - When a disabld exception takes place it does not generate
- * a trap. The user can check if any exception took place after
- * an FP instruction by issuing an <fetestexcept> command.
- * User should first clear the G2 register by issuing an
- * <feclearexcept> function.
- * The following program is a typical example of how the user
- * should check for exceptions that did not generate a SIGFPE
- * signal :
- * {
- *   double f;
- *   int raised;
- *   feclearexcept (FE_ALL_EXCEPT);
- *   f = compute ();
- *   raised = fetestexcept (FE_OVERFLOW | FE_INVALID);
- *   if (raised & FE_OVERFLOW) {  ...  }
- *   if (raised & FE_INVALID) {  ...  }
- *    ...
- * }
- ***********************************************************/
-
-/* Get FPU rounding mode  */
-#define fegetround()                     \
-({                                       \
-	unsigned int tmp;                \
-	__asm__ __volatile__("mov %0, SR"        \
-			:"=l"(tmp)       \
-			:/*no input*/);  \
-	tmp &= (3<<13);                  \
-	(tmp);                           \
-})
-
-/* Set FPU rounding mode  */
-#define fesetround(round)                \
-({                                       \
-	unsigned int tmp = (3 << 13);    \
-	while(1) {                       \
-	/* Clear SR.FRM field */         \
-	__asm__ __volatile__("andn SR, %0"       \
-			:/*no output*/   \
-			:"l"(tmp) );     \
-	tmp &= round;                    \
-                                         \
-	if(tmp) {                        \
-		tmp = -1;                \
-		break;                   \
-	}                                \
-                                         \
-	__asm__ __volatile__("or SR, %0"         \
-			:/*no input*/    \
-			:"l"(round) );   \
-	tmp = 0;                         \
-	break;                           \
-	}                                \
-	(tmp);                           \
-})
-
-/* The following functions test for accrued exceptions.
- * No trap is generated on an FP exception.
- */
-static __inline__ feclearexcept(int __excepts)
-{
-	unsigned int enabled_excepts, disabled_excepts;
-
-	/* Check that __excepts is correctly set */
-	if( __excepts & (~0x1F00) )
-		return -1;
-
-	__asm__ __volatile__("mov %0, SR"
-		     :"=l"(enabled_excepts)
-		     :/*no input*/ );
-
-	enabled_excepts  &= 0x1F00;
-	disabled_excepts = ~enabled_excepts;
-	disabled_excepts &= 0x1F00;
-
-	enabled_excepts  &= __excepts;
-	disabled_excepts &= __excepts;
-
-	/* Clear accrued exceptions */
-	__asm__ __volatile__("andn G2, %0\n\t"
-		     "andn G2, %1\n\t"
-			:/*no output*/
-			:"l"(enabled_excepts),
-			 "l"(disabled_excepts >> 8) );
-	return 0;
-}
-
-/* fetestexcepts tests both for actual and accrued
- * excepts. You can test for an exception either after
- * an FP instruction or within a SIGFPE handler
- */
-__inline__ int fetestexcept(int __excepts)
-{
-	unsigned int G2, G2en, G2dis;
-	unsigned int enabled_excepts, disabled_excepts;
-
-	/* Check that __excepts is correctly set */
-	if( __excepts & (~0x1F00) )
-		return -1;
-
-	__asm__ __volatile__("mov %0, SR"
-		     :"=l"(enabled_excepts)
-		     :/*no input*/ );
-
-	enabled_excepts &= 0x1F00;
-	disabled_excepts = ~enabled_excepts;
-	disabled_excepts &= 0x1F00;
-
- 	__asm__ __volatile__("mov %0, G2"
-		    :"=l"(G2)
-		    :/*no input*/ );
-
-	G2en  = G2 & 0x1F00;
-	G2dis = G2 & 0x1F;
-	G2en  &= enabled_excepts;
-	G2dis &= (disabled_excepts >> 8);
-	return ( G2en | (G2dis << 8) );
-}
-
-static __inline__ int feraiseexcept(int __excepts)
-{
-	__asm__ __volatile__("or G2, %0"
-			:/*no output*/
-			:"l"( __excepts >> 8  ) );
-	return 0;
-}
-
-/* The following functions enable/disable individual exceptions.
- * If enabling an exception trap is going to occur, in case of error.
- */
-#define feenableexcept(__excepts)          \
-({                                         \
-	int __retval, __pexcepts;          \
-	int __tmpexcepts = __excepts;      \
-                                           \
-	while(1) {                         \
-	    __asm__ __volatile__("mov %0, SR"      \
-		     :"=l"(__pexcepts)     \
-		     :/*no input*/ );      \
-	    __pexcepts &= 0x1F00;          \
-	                                   \
-/* Check if __except values are valid */   \
-	    if( __tmpexcepts & ~0x1F00 ) { \
-	        __retval = -1;             \
-		fprintf(stderr,"Non valid excepts\n");\
-	        break;                     \
-	    }                              \
-	                                   \
-	    __asm__ __volatile__("or SR, %0"       \
-			:/*no output*/     \
-			:"l"(__tmpexcepts) ); \
-	    __retval = __pexcepts;         \
-	    break;                         \
-	}                                  \
-	(__retval);                        \
-})
-
-
-#define fedisableexcept(__excepts)         \
-({                                         \
-	int __retval, __pexcepts;          \
-	int __tmpexcepts = __excepts;      \
-	                                   \
-	while(1) {                         \
-	    __asm__ __volatile__("mov %0, SR"      \
-		     :"=l"(__pexcepts)     \
-		     :/*no input*/ );      \
-	    __pexcepts &= 0x1F00;          \
-	                                   \
-/* Check if __except values are valid */   \
-	    if( __tmpexcepts & ~0x1F00 ) { \
-	        __retval = -1;             \
-		fprintf(stderr,"Non valid excepts\n");\
-	        break;                     \
-	    }                              \
-	                                   \
-	    __asm__ __volatile__("andn SR, %0"     \
-			:/*no output*/     \
-			:"l"(__tmpexcepts) ); \
-	    __retval = __pexcepts;         \
-	    break;                         \
-	}                                  \
-	(__retval);                        \
-})
-
-static __inline__ int fegetexcept(int excepts)
-{
-	unsigned int tmp;
-	__asm__ __volatile__("mov %0, SR"
-		    :"=l"(tmp)
-		    :/*no input*/ );
-	tmp &= 0x1F00;
-	return tmp;
-}
-
-static __inline__ int fegetenv(fenv_t *envp)
-{
-	__asm__ __volatile__("mov %0, SR\n\t
-		      mov %1, SR\n\t
-		      mov %2, G2\n\t
-		      mov %3, G2\n\t"
-		     :"=l"(envp->round_mode),
-		      "=l"(envp->trap_enabled),
-		      "=l"(envp->accrued_except),
-		      "=l"(envp->actual_except)
-		     :/*no input*/ );
-	envp->round_mode &= (3<<13);
-	envp->trap_enabled &= 0x1F00;
-	envp->accrued_except &= 0x1F;
-	envp->accrued_except <<= 8;
-	envp->actual_except &= 0x1F00;
-}
-
-#define feholdexcept(envp)        \
-(                                         \
-	fegetenv(envp);                   \
-	fedisableexcept(FE_ALL_EXCEPT);   \
-	feclearexcept(FE_ALL_EXCEPT);     \
-	(0);                              \
-)
-
-#define fesetenv(envp)                \
-({                                                  \
-	/* Clear FRM & FTE field of SR */           \
-	unsigned long clearSR = ( 127<<8 );         \
-	__asm__ __volatile__("andn SR, %0\n\t"              \
-		     "or   SR, %1\n\t"              \
-		     "or   SR, %2\n\t"              \
-		     :/*no output*/                 \
-		     :"l"(clearSR),                 \
-		      "l"(envp->round_mode),        \
-		      "l"(envp->trap_enabled) );    \
-	__asm__ __volatile__("andn G2, 0x1F1F\n\t"          \
-		     "or   G2, %0\n\t"              \
-		     "or   G2, %1\n\t"              \
-		     :/*no output*/                 \
-		     :"l"( envp->accrued_except >> 8),\
-		     :"l"( envp->actual_except ) ); \
-	(0); /* return 0 */                         \
-})
-
-#define feupdateenv(envp)                           \
-({                                                  \
-	/* Clear FRM & FTE field of SR */           \
-	__asm__ __volatile__(/* We dont clear the prev SR*/ \
-		     "or   SR, %1\n\t"              \
-		     "or   SR, %2\n\t"              \
-		     :/*no output*/                 \
-		     :"l"(clearSR),                 \
-		      "l"(envp->round_mode),        \
-		      "l"(envp->accrued_except) );  \
-	__asm__ __volatile__(/* We dont clear the prev SR*/ \
-		     "or   G2, %0\n\t"              \
-		     "or   G2, %1\n\t"              \
-		     :/*no output*/                 \
-		     :"l"( envp->accrued_except >> 8),\
-		     :"l"( envp->actual_except ) ); \
-	(0); /* return 0 */                         \
-})
-
-
-#endif /* __GNUC__ && !_SOFT_FLOAT */
-
diff --git a/libc/sysdeps/linux/e1/bits/kernel_stat.h b/libc/sysdeps/linux/e1/bits/kernel_stat.h
deleted file mode 100644
index 99a6cba..0000000
--- a/libc/sysdeps/linux/e1/bits/kernel_stat.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BITS_STAT_STRUCT_H
-#define _BITS_STAT_STRUCT_H
-
-/* This file provides whatever this particular arch's kernel thinks
- * struct kernel_stat should look like...  It turns out each arch has a
- * different opinion on the subject... */
-
-struct kernel_stat {
-	unsigned short st_dev;
-	unsigned short __pad1;
-	unsigned long st_ino;
-	unsigned short st_mode;
-	unsigned short st_nlink;
-	unsigned short st_uid;
-	unsigned short st_gid;
-	unsigned short st_rdev;
-	unsigned short __pad2;
-	unsigned long  st_size;
-	unsigned long  st_blksize;
-	unsigned long  st_blocks;
-	struct timespec st_atim;
-	struct timespec st_mtim;
-	struct timespec st_ctim;
-	unsigned long  __unused4;
-	unsigned long  __unused5;
-};
-
-struct kernel_stat64 {
-	unsigned short	st_dev;
-	unsigned char	__pad0[10];
-#define _HAVE_STAT64___ST_INO
-	unsigned long	__st_ino;
-	unsigned int	st_mode;
-	unsigned int	st_nlink;
-	unsigned long	st_uid;
-	unsigned long	st_gid;
-	unsigned short	st_rdev;
-	unsigned char	__pad3[10];
-	long long	st_size;
-	unsigned long	st_blksize;
-	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
-	unsigned long	__pad4;		/* future possible st_blocks high bits */
-	struct timespec	st_atim;
-	struct timespec	st_mtim;
-	struct timespec	st_ctim;
-	unsigned long long	st_ino;
-};
-
-#endif	/*  _BITS_STAT_STRUCT_H */
-
diff --git a/libc/sysdeps/linux/e1/bits/kernel_types.h b/libc/sysdeps/linux/e1/bits/kernel_types.h
deleted file mode 100644
index f55a129..0000000
--- a/libc/sysdeps/linux/e1/bits/kernel_types.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Note that we use the exact same include guard #define names
- * as asm/posix_types.h.  This will avoid gratuitous conflicts
- * with the posix_types.h kernel header, and will ensure that
- * our private content, and not the kernel header, will win.
- *  -Erik
- */
-#ifndef __ARCH_E1_POSIX_TYPES_H
-#define __ARCH_E1_POSIX_TYPES_H
-
-typedef unsigned short	__kernel_dev_t;
-typedef unsigned long	__kernel_ino_t;
-typedef unsigned short	__kernel_mode_t;
-typedef unsigned short	__kernel_nlink_t;
-typedef long		__kernel_off_t;
-typedef int		__kernel_pid_t;
-typedef unsigned short	__kernel_ipc_pid_t;
-typedef unsigned short	__kernel_uid_t;
-typedef unsigned short	__kernel_gid_t;
-typedef unsigned int	__kernel_size_t;
-typedef int		__kernel_ssize_t;
-typedef int		__kernel_ptrdiff_t;
-typedef long		__kernel_time_t;
-typedef long		__kernel_suseconds_t;
-typedef long		__kernel_clock_t;
-typedef int		__kernel_daddr_t;
-typedef char *		__kernel_caddr_t;
-typedef unsigned short	__kernel_uid16_t;
-typedef unsigned short	__kernel_gid16_t;
-typedef unsigned int	__kernel_uid32_t;
-typedef unsigned int	__kernel_gid32_t;
-typedef unsigned short	__kernel_old_uid_t;
-typedef unsigned short	__kernel_old_gid_t;
-typedef __kernel_dev_t	__kernel_old_dev_t;
-typedef long		__kernel_long_t;
-typedef unsigned long	__kernel_ulong_t;
-typedef long long	__kernel_loff_t;
-
-/*
-typedef struct {
-#ifdef __USE_ALL
-	int val[2];
-#else
-	int __val[2];
-#endif
-} __kernel_fsid_t;
-*/
-
-#endif /* __ARCH_E1_POSIX_TYPES_H */
diff --git a/libc/sysdeps/linux/e1/bits/proto.h b/libc/sysdeps/linux/e1/bits/proto.h
deleted file mode 100644
index 7aa38ff..0000000
--- a/libc/sysdeps/linux/e1/bits/proto.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef _E1_PROTO_H_
-#define _E1_PROTO_H_
-int kprintf( char *msg, int len);
-#define KPRINTF(msg)  kprintf(msg, strlen(msg)+1)
-#endif
diff --git a/libc/sysdeps/linux/e1/bits/setjmp.h b/libc/sysdeps/linux/e1/bits/setjmp.h
deleted file mode 100644
index 88fa76f..0000000
--- a/libc/sysdeps/linux/e1/bits/setjmp.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* This file is lisenced under LGPL.
- * Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                             Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- */
-
-#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
-
-typedef struct {
-	unsigned long G3;
-	unsigned long G4;
-	unsigned long SavedSP;
-	unsigned long SavedPC;
-	unsigned long SavedSR;
-	unsigned long ReturnValue;
-} __jmp_buf[1];
-
-#endif	/* bits/setjmp.h */
diff --git a/libc/sysdeps/linux/e1/bits/syscalls.h b/libc/sysdeps/linux/e1/bits/syscalls.h
deleted file mode 100644
index 8852a0f..0000000
--- a/libc/sysdeps/linux/e1/bits/syscalls.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* This file is licensed under LGPL.
- * Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                             Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- */
-#ifndef _BITS_SYSCALLS_H
-#define _BITS_SYSCALLS_H
-#ifndef _SYSCALL_H
-# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
-#endif
-
-#include <features.h>
-
-/* Include the library _syscallx macros */
-#include <bits/unistd.h>
-
-#endif /* _BITS_SYSCALLS_H */
-
diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
deleted file mode 100644
index 293cc9b..0000000
--- a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Track misc arch-specific features that aren't config options
- */
-
-#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
-#define _BITS_UCLIBC_ARCH_FEATURES_H
-
-/* instruction used when calling abort() to kill yourself */
-/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/
-#undef __UCLIBC_ABORT_INSTRUCTION__
-
-/* can your target use syscall6() for mmap ? */
-#undef __UCLIBC_MMAP_HAS_6_ARGS__
-
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
-
-/* does your target have a broken create_module() ? */
-#undef __UCLIBC_BROKEN_CREATE_MODULE__
-
-/* does your target have to worry about older [gs]etrlimit() ? */
-#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
-
-/* does your target have an asm .set ? */
-#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-
-/* define if target supports .weak */
-#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-
-/* define if target supports .weakext */
-#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-
-/* define if target supports CFI pseudo ops */
-#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
-
-/* define if target supports IEEE signed zero floats */
-#define __UCLIBC_HAVE_SIGNED_ZERO__
-
-/* only weird assemblers generally need this */
-#undef __UCLIBC_ASM_LINE_SEP__
-
-#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/e1/bits/unistd.h b/libc/sysdeps/linux/e1/bits/unistd.h
deleted file mode 100644
index 9288a3a..0000000
--- a/libc/sysdeps/linux/e1/bits/unistd.h
+++ /dev/null
@@ -1,457 +0,0 @@
- /* This file is lisenced under LGPL.
-  * Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
-  *                             Yannis Mitsos <yannis.mitsos(a)gdt.gr>
-  */
-#ifndef _BITS_UNISTD_H_
-#define _BITS_UNISTD_H_
-
-#include <bits/proto.h>
-#include <errno.h>
-
-#define __E1_COFF_GCC__
-
-/* The following macros have been provided by C.Baumhof
- * They can be inlined in contrast to the previous ones*/
-#define _syscall0(type, name)  \
-type name(void)              \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-    par1 = -1;              \
-	par2 = __NR_##name;         \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2)  \
-		:"memory","L14","L15");   \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define _syscall1(type, name,atype, a)  \
-type name(atype a)              \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-    par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3)  \
-		:"memory","L13","L14","L15");   \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define _syscall2(type, name,atype, a, btype, b)  \
-type name(atype a, btype b)              \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-    par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3), "l"(par4) \
-		:"memory","L12","L13","L14","L15");   \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define _syscall3(type, name,atype, a, btype, b, ctype, c)  \
-type name(atype a, btype b, ctype c)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-    par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3), "l"(par4), "l"(par5) \
-		:"memory","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define _syscall4(type, name,atype, a, btype, b, ctype, c, dtype, d)  \
-type name(atype a, btype b, ctype c,dtype d)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-    par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6) \
-		:"memory","L10","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define _syscall5(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e)  \
-type name(atype a, btype b, ctype c,dtype d, etype e)                      \
-{                                                       \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-	register int par7 __asm__("L9");   \
-    par1 = -1;              	\
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	par7 = (int)e;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6),"l"(par7) \
-		:"memory","L9","L10","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-	return (type)(par1);                    \
-}
-
-#define _syscall6(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e, ftype, f)  \
-type name(atype a, btype b, ctype c,dtype d, etype e, ftype f)                      \
-{                                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-	register int par7 __asm__("L9");   \
-	register int par8 __asm__("L8");   \
-	int sys_retval;				\
-    par1 = -1;              	\
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	par7 = (int)e;              \
-	par7 = (int)f;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6),"l"(par7),"l"(par8) \
-		:"memory","L8","L9","L10","L11","L12","L13","L14","L15");	\
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall0(type, name)  \
-type name(...)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	par1 = -1;              \
-	par2 = __NR_##name;         \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2)\
-		:"memory","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall1(type, name, atype, a)  \
-type name(atype a, ...)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3)\
-		:"memory","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall2(type, name,atype, a, btype, b)  \
-type name(atype a, btype b, ...)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3), "l"(par4)\
-		:"memory","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall3(type, name,atype, a, btype, b, ctype, c)  \
-type name(atype a, btype b, ctype c, ...)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1), "l"(par2), "l"(par3), "l"(par4), "l"(par5) \
-		:"memory","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall4(type, name,atype, a, btype, b, ctype, c, dtype, d)  \
-type name(atype a, btype b, ctype c,dtype d, ...)                      \
-{                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-	par1 = -1;              \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6) \
-		:"memory","L10","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall5(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e)  \
-type name(atype a, btype b, ctype c,dtype d, etype e, ...)                      \
-{                                                       \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-	register int par7 __asm__("L9");   \
-	par1 = -1;                  \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	par7 = (int)e;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6),"l"(par7) \
-		:"memory","L9","L10","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#define __syscall6(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e, ftype, f)  \
-type name(atype a, btype b, ctype c,dtype d, etype e, ftype f, ...)                      \
-{                                                               \
-	register int par1 __asm__("L15");   \
-	register int par2 __asm__("L14");   \
-	register int par3 __asm__("L13");   \
-	register int par4 __asm__("L12");   \
-	register int par5 __asm__("L11");   \
-	register int par6 __asm__("L10");   \
-	register int par7 __asm__("L9");   \
-	register int par8 __asm__("L8");   \
-	par1 = -1;                  \
-	par2 = __NR_##name;         \
-	par3 = (int)a;              \
-	par4 = (int)b;              \
-	par5 = (int)c;              \
-	par6 = (int)d;              \
-	par7 = (int)e;              \
-	par7 = (int)f;              \
-	__asm__ __volatile__(                   \
-		"trap    47"                        \
-		:"=l"(par1)                             \
-		:"0"(par1),"l"(par2),"l"(par3),"l"(par4),"l"(par5),"l"(par6),"l"(par7),"l"(par8) \
-		:"memory","L8","L9","L10","L11","L12","L13","L14","L15");    \
-																	\
-	if( par1 < 0 ) {													\
-			__set_errno( -par1 );										\
-			return -1;											\
-	} else															\
-		return (type)(par1);                    					\
-}
-
-#if 0
-#define _syscall3(type, name,atype, a , btype, b, ctype, c)  \
-type name(atype a, btype b, ctype c,)                      \
-{                                               \
-		__asm__ __volatile__(					\
-			"movi  L9, -1\n\t"                  \
-			"movi  L8, %0\n\t"					\
-			"ldw.d G3, L7, 0\n\t"				\
-			"ldw.d G3, L6, 4\n\t"				\
-			"ldw.d G3, L5, 8\n\t"				\
-		:/* no output */						\
-		:"i"(__NR_##name)						\
-		:"cc","memory","%L5","L6","L7","L8","L9");\
-        __asm__ __volatile__(                   \
-			"trap    47\n\t"                    \
-			"mov L2, L9\n\t");                  \
-}
-
-#define _syscall4(type, name,atype, a, btype, b, ctype, c, dtype, d)  \
-type name(atype a, btype b, ctype c,dtype d)                      \
-{                                               \
-		__asm__ __volatile__(					\
-			"movi  L11, -1\n\t"                  \
-			"movi  L10, %0\n\t"					\
-			"ldw.d G3, L9, 0\n\t"				\
-			"ldw.d G3, L8, 4\n\t"				\
-			"ldw.d G3, L7, 8\n\t"				\
-			"ldw.d G3, L6, 12\n\t"				\
-		:/* no output */						\
-		:"i"(__NR_##name)						\
-		:"cc","memory","L6","L7","L8","L9","L10","L11");\
-        __asm__ __volatile__(                   \
-			"trap    47\n\t"                    \
-			"mov L2, L11\n\t");                  \
-}
-
-#define _syscall5(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e)  \
-type name(atype a, btype b, ctype c,dtype d, etype e)                      \
-{                                                       \
-		__asm__ __volatile__(					\
-			"movi  L13, -1\n\t"                  \
-			"movi  L12, %0\n\t"					\
-			"ldw.d G3, L11, 0\n\t"				\
-			"ldw.d G3, L10, 4\n\t"				\
-			"ldw.d G3, L9, 8\n\t"				\
-			"ldw.d G3, L8, 12\n\t"				\
-			"ldw.d G3, L7, 16\n\t"				\
-		:/* no output */						\
-		:"i"(__NR_##name)						\
-		:"cc","memory","L7","L8","L9","L10","L11","L12","L13");\
-        __asm__ __volatile__(                   \
-			"trap    47\n\t"                    \
-			"mov L2, L13\n\t");                  \
-}
-
-#define _syscall6(type, name,atype, a, btype, b, ctype, c, dtype, d, etype, e, ftype, f)  \
-type name(atype a, btype b, ctype c,dtype d, etype e, ftype f)                      \
-{                                                               \
-		__asm__ __volatile__(					\
-			"movi  L15, -1\n\t"                  \
-			"movi  L14, %0\n\t"					\
-			"ldw.d G3, L13, 0\n\t"				\
-			"ldw.d G3, L12, 4\n\t"				\
-			"ldw.d G3, L11, 8\n\t"				\
-			"ldw.d G3, L10, 12\n\t"				\
-			"ldw.d G3, L9, 16\n\t"				\
-			"ldw.d G3, L8, 20\n\t"				\
-		:/* no output */						\
-		:"i"(__NR_##name)						\
-		:"cc","memory","L8","L9","L10","L11","L12","L13","L14","L15");\
-        __asm__ __volatile__(                   \
-			"trap    47\n\t"                    \
-			"mov L2, L15\n\t");                  \
-}
-#endif
-
-#endif /* !_HYPERSTONE_NOMMU_UNISTD_H_ */
diff --git a/libc/sysdeps/linux/e1/bits/wordsize.h b/libc/sysdeps/linux/e1/bits/wordsize.h
deleted file mode 100644
index 1124469..0000000
--- a/libc/sysdeps/linux/e1/bits/wordsize.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
-                               Yannis Mitsos <yannis.mitsos(a)gdt.gr>
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define __WORDSIZE	32
diff --git a/libc/sysdeps/linux/e1/crt0.S b/libc/sysdeps/linux/e1/crt0.S
deleted file mode 100644
index 9d5e98d..0000000
--- a/libc/sysdeps/linux/e1/crt0.S
+++ /dev/null
@@ -1,17 +0,0 @@
-/*  This file is lisenced under LGPL
- *  Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                              Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- */
-
-.global __start
-__start:
-	call L1, 0, __uClibc_start
-
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.long 0
-	.weak data_start
-	data_start = __data_start
-
diff --git a/libc/sysdeps/linux/e1/crt1.c b/libc/sysdeps/linux/e1/crt1.c
deleted file mode 100644
index 7d51e66..0000000
--- a/libc/sysdeps/linux/e1/crt1.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/* uClibc/sysdeps/linux/m68k/crt0.S
- * Pull stuff off the stack and get uClibc moving.
- *
- * Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                             Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- *
- * Copyright (C) 2000,2001 by Erik Andersen <andersen(a)uclibc.org>
- *
- * This program 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.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; see the file COPYING.LIB.  If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-/* Stick in a dummy reference to main(), so that if an application
- * is linking when the main() function is in a static library (.a)
- * we can be sure that main() actually gets linked in */
-extern void main(int argc,void *argv,void *envp);
-/* void (*mainp)(int argc,void *argv,void *envp) = main; */
-
-void __uClibc_main(int argc,void *argv,void *envp);
-
-void _uClibc_start(unsigned int first_arg)
-{
-	unsigned int argc;
-	char **argv, **envp;
-	unsigned long *stack;
-
-	stack = (unsigned long*) first_arg;
-	argc = *(stack);
-	argv = (char **)(stack + 1);
-	envp = (char **)(stack + 1 + argc + 1);
-
-	__uClibc_main(argc, argv, envp);
-}
-
-void __main() { }
-
diff --git a/libc/sysdeps/linux/e1/longjmp.c b/libc/sysdeps/linux/e1/longjmp.c
deleted file mode 100644
index 3d188c4..0000000
--- a/libc/sysdeps/linux/e1/longjmp.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                             Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <syscall.h>
-#include <setjmp.h>
-#include <stdio.h>
-#include <signal.h>
-
-#define __NR_e1newSP  224
-static __inline__ _syscall1(int, e1newSP, unsigned long, SavedSP )
-
-unsigned long jmpbuf_ptr;
-
-void longjmp(jmp_buf state, int value )
-{
-	if(!value)
-		state->__jmpbuf->ReturnValue = 1;
-	else
-		state->__jmpbuf->ReturnValue = value;
-
-	jmpbuf_ptr = (unsigned long)state;
-	e1newSP(state->__jmpbuf->SavedSP);
-
-#define _state_ ((struct __jmp_buf_tag*)jmpbuf_ptr)
-	__asm__ __volatile__("mov L0, %0\n\t"
-		     "mov L1, %1\n\t"
-		     "mov L2, %2\n\t"
-		     "mov G3, %3\n\t"
-		     "mov G4, %4\n\t"
-		     "ret PC, L1\n\t"
-		     :/*no output*/
-		     :"l"(_state_->__jmpbuf->ReturnValue),
-		      "l"(_state_->__jmpbuf->SavedPC),
-		      "l"(_state_->__jmpbuf->SavedSR),
-		      "l"(_state_->__jmpbuf->G3),
-		      "l"(_state_->__jmpbuf->G4)
-		     :"%G3", "%G4", "%L0", "%L1" );
-#undef _state_
-}
-
-
-void siglongjmp(sigjmp_buf state, int value )
-{
-	if( state->__mask_was_saved )
-		sigprocmask(SIG_SETMASK, &state->__saved_mask, NULL);
-
-	if(!value)
-		state->__jmpbuf->ReturnValue = 1;
-	else
-		state->__jmpbuf->ReturnValue = value;
-
-	jmpbuf_ptr = (unsigned long)state;
-	e1newSP(state->__jmpbuf->SavedSP);
-
-
-#define _state_ ((struct __jmp_buf_tag*)jmpbuf_ptr)
-	__asm__ __volatile__("mov L0, %0\n\t"
-		     "mov L1, %1\n\t"
-		     "mov L2, %2\n\t"
-		     "mov G3, %3\n\t"
-		     "mov G4, %4\n\t"
-		     "ret PC, L1\n\t"
-		     :/*no output*/
-		     :"l"(_state_->__jmpbuf->ReturnValue),
-		      "l"(_state_->__jmpbuf->SavedPC),
-		      "l"(_state_->__jmpbuf->SavedSR),
-		      "l"(_state_->__jmpbuf->G3),
-		      "l"(_state_->__jmpbuf->G4)
-		     :"%G3", "%G4", "%L0", "%L1" );
-#undef _state_
-}
diff --git a/libc/sysdeps/linux/e1/setjmp.c b/libc/sysdeps/linux/e1/setjmp.c
deleted file mode 100644
index e8a758c..0000000
--- a/libc/sysdeps/linux/e1/setjmp.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*  This file is lisenced under LGPL
- *  Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                              Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- */
-
-#include <setjmp.h>
-#include <stdio.h>
-#include <signal.h>
-
-
-int setjmp( jmp_buf state)
-{
-	__asm__ __volatile__(	"mov %0, G3\n\t"
-			"mov %1, G4\n\t"
-			:"=l"(state->__jmpbuf->G3),
-			 "=l"(state->__jmpbuf->G4)
-			:/*no input*/
-			:"%G3", "%G4" );
-
-	__asm__ __volatile__(   "setadr  %0\n\t"
-			"mov %1, L1\n\t"
-			"mov %2, L2\n\t"
-			:"=l"(state->__jmpbuf->SavedSP),
-			 "=l"(state->__jmpbuf->SavedPC),
-			 "=l"(state->__jmpbuf->SavedSR)
-			:/*no input*/);
-	return 0;
-}
-
-int sigsetjmp( sigjmp_buf state , int savesigs)
-{
-
-	if(savesigs) {
-		state->__mask_was_saved = 1;
-		/* how arg in <sigprocmask> is not significant */
-		sigprocmask(SIG_SETMASK, NULL, &state->__saved_mask);
-	} else
-		state->__mask_was_saved = 0;
-
-	__asm__ __volatile__(	"mov %0, G3\n\t"
-			"mov %1, G4\n\t"
-			:"=l"(state->__jmpbuf->G3),
-			 "=l"(state->__jmpbuf->G4)
-			:/*no input*/
-			:"%G3", "%G4" );
-
-	__asm__ __volatile__(   "setadr  %0\n\t"
-			"mov %1, L2\n\t"
-			"mov %2, L3\n\t"
-			:"=l"(state->__jmpbuf->SavedSP),
-			 "=l"(state->__jmpbuf->SavedPC),
-			 "=l"(state->__jmpbuf->SavedSR)
-			:/*no input*/);
-	return 0;
-}
diff --git a/libc/sysdeps/linux/e1/sys/procfs.h b/libc/sysdeps/linux/e1/sys/procfs.h
deleted file mode 100644
index 1dc34b1..0000000
--- a/libc/sysdeps/linux/e1/sys/procfs.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1996, 1997, 1999, 2000, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H	1
-
-/* This is somewhat modelled after the file of the same name on SVR4
-   systems.  It provides a definition of the core file format for ELF
-   used on Linux.  It doesn't have anything to do with the /proc file
-   system, even though Linux has one.
-
-   Anyway, the whole purpose of this file is for GDB and GDB only.
-   Don't read too much into it.  Don't use it for anything other than
-   GDB unless you know what you are doing.  */
-
-#endif	/* sys/procfs.h */
diff --git a/libc/sysdeps/linux/e1/sys/reg.h b/libc/sysdeps/linux/e1/sys/reg.h
deleted file mode 100644
index 1d7cb90..0000000
--- a/libc/sysdeps/linux/e1/sys/reg.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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_REG_H
-#define _SYS_REG_H	1
-
-/* Index into an array of 4 byte integers returned from ptrace for
-   location of the users' stored general purpose registers. */
-
-#endif	/* _SYS_REG_H */
diff --git a/libc/sysdeps/linux/e1/sys/ucontext.h b/libc/sysdeps/linux/e1/sys/ucontext.h
deleted file mode 100644
index 85d2dd9..0000000
--- a/libc/sysdeps/linux/e1/sys/ucontext.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Copyright (C) 1997, 1999, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* System V/m68k ABI compliant context switching support.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-/* Type for general register.  */
-typedef int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	18
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
-
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  R_D0 = 0,
-#define R_D0	R_D0
-  R_D1 = 1,
-#define R_D1	R_D1
-  R_D2 = 2,
-#define R_D2	R_D2
-  R_D3 = 3,
-#define R_D3	R_D3
-  R_D4 = 4,
-#define R_D4	R_D4
-  R_D5 = 5,
-#define R_D5	R_D5
-  R_D6 = 6,
-#define R_D6	R_D6
-  R_D7 = 7,
-#define R_D7	R_D7
-  R_A0 = 8,
-#define R_A0	R_A0
-  R_A1 = 9,
-#define R_A1	R_A1
-  R_A2 = 10,
-#define R_A2	R_A2
-  R_A3 = 11,
-#define R_A3	R_A3
-  R_A4 = 12,
-#define R_A4	R_A4
-  R_A5 = 13,
-#define R_A5	R_A5
-  R_A6 = 14,
-#define R_A6	R_A6
-  R_A7 = 15,
-#define R_A7	R_A7
-  R_SP = 15,
-#define R_SP	R_SP
-  R_PC = 16,
-#define R_PC	R_PC
-  R_PS = 17
-#define R_PS	R_PS
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct fpregset
-{
-  int f_fpregs[8][3];
-  int f_pcr;
-  int f_psr;
-  int f_fpiaddr;
-} fpregset_t;
-
-/* Context to describe whole processor state.  */
-typedef struct
-{
-  int version;
-  gregset_t gregs;
-  fpregset_t fpregs;
-} mcontext_t;
-
-#define MCONTEXT_VERSION 2
-
-/* Userlevel context.  */
-typedef struct ucontext
-{
-  unsigned long int uc_flags;
-  struct ucontext *uc_link;
-  __sigset_t uc_sigmask;
-  stack_t uc_stack;
-  mcontext_t uc_mcontext;
-  long int uc_filler[174];
-} ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/libc/sysdeps/linux/e1/syscalls.c b/libc/sysdeps/linux/e1/syscalls.c
deleted file mode 100644
index e58ad5f..0000000
--- a/libc/sysdeps/linux/e1/syscalls.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/*  This file is lisenced under LGPL
- *  Copyright (C) 2002-2003,    George Thanos <george.thanos(a)gdt.gr>
- *                              Yannis Mitsos <yannis.mitsos(a)gdt.gr>
- */
-
-#include <syscall.h>
-
-/* We now need a declaration of the `errno' variable.  */
-extern int errno;
-#   define __set_errno(val) ((errno) = (val))
-_syscall2( int, kprintf, char *, msg, int, len)
diff --git a/libc/sysdeps/linux/nios/Makefile b/libc/sysdeps/linux/nios/Makefile
deleted file mode 100644
index 3970f62..0000000
--- a/libc/sysdeps/linux/nios/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-top_srcdir=../../../../
-top_builddir=../../../../
-all: objs
-include $(top_builddir)Rules.mak
-include Makefile.arch
-include $(top_srcdir)Makerules
diff --git a/libc/sysdeps/linux/nios/Makefile.arch b/libc/sysdeps/linux/nios/Makefile.arch
deleted file mode 100644
index 75f4079..0000000
--- a/libc/sysdeps/linux/nios/Makefile.arch
+++ /dev/null
@@ -1,12 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-CSRC-y := brk.c crtbegin.c crtend.c
-
-SSRC-y := \
-	__longjmp.S bsd-_setjmp.S bsd-setjmp.S setjmp.S \
-	clone.S vfork.S
diff --git a/libc/sysdeps/linux/nios/NM_Macros.S b/libc/sysdeps/linux/nios/NM_Macros.S
deleted file mode 100644
index da61365..0000000
--- a/libc/sysdeps/linux/nios/NM_Macros.S
+++ /dev/null
@@ -1,473 +0,0 @@
-
-;------------------------------
-; Macros I: Faux Instructions
-;
-; The following "faux instructions" are
-; implemented here as macros:
-;
-; MOVIP register,constant		MOVI with optional PFX & MOVHI, or BGEN
-; ADDIP register,constant		PFX and ADDI with optional PFX
-; SUBIP register,constant		PFX and SUBI with optional PFX
-; CMPIP register,constant		PFX and CMPI with optional PFX
-;
-; MOVI16 register,constant		PFX and MOVI
-; MOVI32 register,constant		PFX, MOVI, PFX, and MOVHI
-; MOVIA  register,constant		PFX and MOVHI on Nios32, and PFX and MOVI
-;
-; ANDIP register,constant		PFX and ANDI
-; ANDNIP register,constant		PFX and ANDN
-; ORIP register,constant		PFX and ORI
-; XORIP register,constant		PFX and XORI
-;
-; _BSR address						MOVIP address to %g7, and CALL
-; _BR address						MOVIP address to %g7, and JMP
-;
-; BEQ address						SKPS cc_nz and BR, has delay slot
-; BNE address						SKPS cc_z and BR, has delay slot
-; BLE address						SKPS cc_gt and BR, has delay slot
-; BLT address						SKPS cc_ge and BR, has delay slot
-; RESTRET							RESTORE and JMP %i7 
-;
-;-------------------------------
-; Macros II: Printing
-;
-; These macros are guaranteed *not*
-; to have branch delay slot after them.
-;
-; NM_PrintChar char
-; NM_Print "string"
-; NM_PrintLn "string"			Follows it with a carriage return
-; NM_PrintRegister reg			For debugging, prints register name & value
-;
-;-------------------------------
-; Macros III: Inline Debugging
-;
-; These macros print various information
-; using large sections of expanded inline code.
-; They each use either few or no registers.
-; Thus, they may be safely used in interrupt handlers.
-;
-; NM_D_TxChar char			print char to UART, affects no registers
-; NM_D_TxRegister char,char,register	prints the two characters, and the hex register value
-
-; --------------------------------------
-
-
-		.macro	_pfx_op	OP,reg,val,pForce=0
-		.if		(\pForce) || ((\val) > (31)) || ((\val) < (0))
-		PFX		%hi(\val)
-		.endif
-		\OP		\reg,%lo(\val)
-		.endm
-
-		.macro	_bgen reg,val,bit
-		.if ((\val)==(1<<\bit))
-		BGEN	\reg,\bit
-		.equ	_bgenBit,1
-		.endif
-		.endm
-
-	;------------------------
-	; MOVIP %reg,32-bit-value
-		.macro	MOVIP reg,val
-		; Methodically test every BGEN possibility...
-		.equ	_bgenBit,0
-.if 1
-		_bgen \reg,\val,0
-		_bgen \reg,\val,1
-		_bgen \reg,\val,2
-		_bgen \reg,\val,3
-		_bgen \reg,\val,4
-		_bgen \reg,\val,5
-		_bgen \reg,\val,6
-		_bgen \reg,\val,7
-		_bgen \reg,\val,8
-		_bgen \reg,\val,9
-		_bgen \reg,\val,10
-		_bgen \reg,\val,11
-		_bgen \reg,\val,12
-		_bgen \reg,\val,13
-		_bgen \reg,\val,14
-		_bgen \reg,\val,15
-		_bgen \reg,\val,16
-		_bgen \reg,\val,17
-		_bgen \reg,\val,18
-		_bgen \reg,\val,19
-		_bgen \reg,\val,20
-		_bgen \reg,\val,21
-		_bgen \reg,\val,22
-		_bgen \reg,\val,23
-		_bgen \reg,\val,24
-		_bgen \reg,\val,25
-		_bgen \reg,\val,26
-		_bgen \reg,\val,27
-		_bgen \reg,\val,28
-		_bgen \reg,\val,29
-		_bgen \reg,\val,30
-		_bgen \reg,\val,31
-
-		; If no bgen fit...
-.endif
-		.if !_bgenBit
-			.if ((\val) & 0xFFE0)
-				PFX %hi(\val)
-			.endif
-			MOVI \reg,%lo(\val)
-			.if __nios32__
-				.if ((\val) & 0xffff0000)
-					.if ((\val) & 0xFFE00000)
-						PFX %xhi(\val)
-					.endif
-					MOVHI \reg,%xlo(\val)
-				.endif
-			.endif
-		.endif
-
-		.endm
-
-	; ADDIP %reg,16-bit-value
-		.macro	ADDIP reg,val
-		_pfx_op	ADDI,\reg,\val
-		.endm
-
-	; SUBIP %reg,16-bit-value
-		.macro	SUBIP reg,val
-		_pfx_op	SUBI,\reg,\val
-		.endm
-
-	; CMPIP %reg,16-bit-value
-		.macro	CMPIP reg,val
-		_pfx_op	CMPI,\reg,\val
-		.endm
-
-	; ANDIP %reg,16-bit-value
-		.macro	ANDIP reg,val
-		PFX		%hi(\val)
-		AND		\reg,%lo(\val)
-		.endm
-
-	; ANDNIP %reg,16-bit-value
-		.macro	ANDNIP reg,val
-		PFX		%hi(\val)
-		ANDN		\reg,%lo(\val)
-		.endm
-
-	; ORIP %reg,16-bit-value
-		.macro	ORIP reg,val
-		PFX		%hi(\val)
-		OR			\reg,%lo(\val)
-		.endm
-
-	; XORIP %reg,16-bit-value
-		.macro	XORIP reg,val
-		PFX		%hi(\val)
-		XOR		\reg,%lo(\val)
-		.endm
-
-	; BEQ addr
-		.macro	BEQ addr
-		IFS		cc_eq
-		BR			\addr
-		.endm
-
-	; BNE addr
-		.macro	BNE addr
-		IFS		cc_ne
-		BR			\addr
-		.endm
-
-	; BLE addr
-		.macro	BLE addr
-		SKPS		cc_gt
-		BR			\addr
-		.endm
-
-	; BLT addr
-		.macro	BLT addr
-		SKPS		cc_ge
-		BR			\addr
-		.endm
-
-		.macro	digitToChar reg
-		ANDIP	\reg,0x000f
-		CMPI	\reg,10
-		SKPS	cc_lt
-		ADDI	\reg,'A'-'0'-10
-		PFX		%hi('0')
-		ADDI	\reg,%lo('0')
-		.endm
-
-; PUSHRET == dec sp, and stash return addr
-	.macro	PUSHRET
-	SUBI		%sp,2
-	ST			[%sp],%o7
-	.endm
-; POPRET == pop and jump
-	.macro	POPRET
-	LD			%o7,[%sp]
-	JMP		%o7
-	ADDI		%sp,2		; branch delay slot
-	.endm
-
-; RESTRET = restore & return
-	.macro	RESTRET
-	JMP		%i7
-	RESTORE
-	.endm
-
-	;--------------------
-	; MOVI16 %reg,Address
-	;
-	.macro	MOVI16	reg,val
-	PFX	%hi(\val)
-	MOVI	\reg,%lo(\val)
-	.endm
-
-	;--------------------
-	; MOVI32 %reg,Address
-	;
-	.macro	MOVI32	reg,val
-	PFX	%hi(\val)
-	MOVI	\reg,%lo(\val)
-	PFX	%xhi(\val)
-	MOVHI	\reg,%xlo(\val)
-	.endm
-
-	;--------------------
-	; MOVIA %reg,Address
-	;
-	.macro	MOVIA		reg,val
-	.if __nios32__
-		MOVI32 \reg,\val
-	.else
-		MOVI16 \reg,\val
-	.endif
-	.endm
-
-	;--------------------
-	; _BR
-
-	.macro _BR target,viaRegister=%g7
-	MOVIA	\viaRegister,\target@h
-	JMP	\viaRegister
-	.endm
-
-	;--------------------
-	; _BSR
-
-	.macro _BSR target,viaRegister=%g7
-	MOVIA	\viaRegister,\target@h
-	CALL	\viaRegister
-	.endm
-
-	;---------------------
-	; NM_Print "Your String Here"
-	;
-	.macro	NM_Print	string
-
-	BR		pastStringData\@
-	NOP
-
-stringData\@:
-	.asciz	"\string"
-	.align 1		; aligns by 2^n
-pastStringData\@:
-	MOVIA		%o0,stringData\@
-	_BSR		NR_TxString
-	NOP
-	.endm
-
-	.macro	NM_PrintLn string
-	NM_Print	"\string"
-	_BSR		NR_TxCR
-	NOP
-	.endm
-
-	.macro	NM_PrintRegister reg	; affects %g0 & %g1 & %g7, but thrashes the CWP a bit
-	SAVE		%sp,-16
-	NM_Print	"\reg = "
-	RESTORE
-	MOV		%g0,\reg
-	SAVE		%sp,-16
-	MOV		%o0,%g0
-	_BSR		NR_TxHex
-	NOP
-	_BSR		NR_TxCR
-	NOP
-	RESTORE
-	.endm
-
-	.macro	NM_PrintChar char
-	MOVIP		%o0,\char
-	_BSR		NR_TxChar
-	NOP
-	.endm
-
-	.macro	NM_Print2Chars char1,char2
-	MOVIP		%o0,(\char2<<8)+\char1
-	_BSR		NR_TxChar
-	NOP
-	_BSR		NR_TxChar
-	LSRI		%o0,8
-	.endm
-
-
-
-; ---------------------------
-; Completely inline UART sends
-; Send the char, or %g7 if not there.
-; Trashes %g5 and %g6 and %g7...
-
-	.macro	NM_TxChar char=0
-;NM_D_Delay 1000
-	MOVIA	%g6,NA_UARTBase
-txCharLoop\@:
-	PFX	2
-.if \char
-	LD	%g7,[%g6]
-	SKP1	%g7,6
-.else
-	LD	%g5,[%g6]
-	SKP1	%g5,6
-.endif
-	BR	txCharLoop\@
-	NOP
-.if \char
-	MOVIP	%g7,\char
-.endif
-	PFX	1
-	ST	[%g6],%g7
-;NM_D_Delay 4
-	.endm
-
-		.macro NM_TxCR
-		NM_TxChar 13
-		NM_TxChar 10
-		.endm
-
-		.macro NM_TxHexDigit,reg,shift
-		MOV		%g7,\reg
-		LSRI		%g7,\shift
-		ANDIP		%g7,0x000f
-		CMPI		%g7,10
-		SKPS		cc_lt
-		ADDIP		%g7,'A'-'0'-10
-		ADDIP		%g7,'0'
-		NM_TxChar
-		.endm
-
-		.macro NM_TxHex
-
-	.if __nios32__
-		NM_TxHexDigit %g0,28
-		NM_TxHexDigit %g0,24
-		NM_TxHexDigit %g0,20
-		NM_TxHexDigit %g0,16
-	.endif
-
-		NM_TxHexDigit %g0,12
-		NM_TxHexDigit %g0,8
-		NM_TxHexDigit %g0,4
-		NM_TxHexDigit %g0,0
-		.endm
-
-
-
-
-
-
-
-
-
-
-; ----------------------
-; The following macros are
-; rather mighty. They expand
-; to large inline code for
-; printing various things to
-; the serial port. They are
-; useful for debugging
-; trap handlers, where you
-; can't just go and call
-; NR_TxChar and such, because,
-; well, the CWP might be
-; off limits!
-;
-; They do, however, presume
-; that the stack is in good
-; working order.
-
-
-.macro NM_D_PushGRegisters
- 	SUBIP %sp,16+69				; oddball number so if we accidentally see it, it looks funny.
-	STS	[%sp,16+0],%g0
-	STS	[%sp,16+1],%g1
-	STS	[%sp,16+2],%g2
-	STS	[%sp,16+3],%g3
-	STS	[%sp,16+4],%g4
-	STS	[%sp,16+5],%g5
-	STS	[%sp,16+6],%g6
-	STS	[%sp,16+7],%g7
-	.endm
-
-.macro NM_D_PopGRegisters
-	LDS	%g0,[%sp,16+0]
-	LDS	%g1,[%sp,16+1]
-	LDS	%g2,[%sp,16+2]
-	LDS	%g3,[%sp,16+3]
-	LDS	%g4,[%sp,16+4]
-	LDS	%g5,[%sp,16+5]
-	LDS	%g6,[%sp,16+6]
-	LDS	%g7,[%sp,16+7]
-	ADDIP	%sp,16+69				; must match the push
-	.endm
-
-
-.macro NM_D_TxChar	c
-	SUBI	%sp,16+8		; 32 or 16 bit, that's enough space
-	STS	[%sp,16+0],%g6
-	STS	[%sp,16+0],%g7
-	NM_TxChar \c
-	LDS	%g6,[%sp,16+0]
-	LDS	%g7,[%sp,16+1]
-	ADDI	%sp,16+8
-	.endm
-
-.macro NM_D_TxChar3 c1,c2,c3
- NM_D_TxChar '<'
- NM_D_TxChar \c1
- NM_D_TxChar \c2
- NM_D_TxChar \c3
- NM_D_TxChar '>'
-.endm
-
-.macro NM_D_TxRegister r,n,reg
- NM_D_PushGRegisters
- NM_TxChar '('
- NM_TxChar \r
- NM_TxChar \n
- NM_TxChar ':'
- MOV		%g0,\reg
- NM_TxHex
- NM_TxChar ')'
- NM_D_PopGRegisters
-.endm
-
-.macro NM_D_TxReg r,n,reg
-	NM_D_TxRegister \r,\n,\reg
-.endm
-
-; Do a delay loop, affects no registers.
-
-.macro NM_D_Delay d
-	SUBI	%sp,16+4
-	STS	[%sp,16+0],%g0
-	MOVIP	%g0,\d
-NM_D_DelayLoop\@:
-	IFRnz	%g0
-	 BR	NM_D_DelayLoop\@
-	SUBI	%g0,1
-	LDS	%g0,[%sp,16+0]
-	ADDI	%sp,16+4
-.endm
-
diff --git a/libc/sysdeps/linux/nios/NR_Math1.S b/libc/sysdeps/linux/nios/NR_Math1.S
deleted file mode 100644
index 5d5169b..0000000
--- a/libc/sysdeps/linux/nios/NR_Math1.S
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-	.include "NM_Macros.S"
-
-	.file	"okmul.c"
-gcc2_compiled.:
-	.text
-	.p2align 1
-	.globl __mulsi3
-	.type	 __mulsi3,@function
-__mulsi3:
-
-	;SKP0	%o0,31
-	;NEG	%o1
-	;ABS	%o0
-
-		.MACRO ZSTEP bit
-		SKP0	%o0,\bit
-		ADD	%g0,%o1
-		LSLI	%o1,1
-		.ENDM
-
-	MOVI	%g0,0
-	ZSTEP	0
-	ZSTEP	1
-	ZSTEP	2
-	ZSTEP	3
-	ZSTEP	4
-	ZSTEP	5
-	ZSTEP	6
-	ZSTEP	7
-	ZSTEP	8
-	ZSTEP	9
-	ZSTEP	10
-	ZSTEP	11
-	ZSTEP	12
-	ZSTEP	13
-	ZSTEP	14
-	ZSTEP	15
-	ZSTEP	16
-	ZSTEP	17
-	ZSTEP	18
-	ZSTEP	19
-	ZSTEP	20
-	ZSTEP	21
-	ZSTEP	22
-	ZSTEP	23
-	ZSTEP	24
-	ZSTEP	25
-	ZSTEP	26
-	ZSTEP	27
-	ZSTEP	28
-	ZSTEP	29
-	ZSTEP	30
-	ZSTEP	31
-	; No bit 31: we already set %o0 to positive
-
-	JMP	%o7
-	MOV	%o0,%g0
-
-.Lfe1:
-	.size	 __mulsi3,.Lfe1-__mulsi3
-
diff --git a/libc/sysdeps/linux/nios/__longjmp.S b/libc/sysdeps/linux/nios/__longjmp.S
deleted file mode 100644
index 5500c7b..0000000
--- a/libc/sysdeps/linux/nios/__longjmp.S
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#include <jmpbuf-offsets.h>
-
-;----------------------------------------
-;         Name: __longjmp
-;  Description: Restore the current context
-;               as saved by a previous nr_setjmp
-;        Input: %o0: jmp_buf (ptr to) array to restore context from
-;               %o1: integer to return
-;       Output: %o0 = 0 the first time we're called, or
-;               whatever longjmp returns later
-; Side Effects: uses %g0, %g1 & %g2
-;    CWP Depth: 0
-;
-
-	.align 2
-	.global	__longjmp
-__longjmp:
-	;
-	; The way we'll do this is by executing
-	; RESTORE instructions until the old
-	; return address matches. Then we'll
-	; jump to where setjmp was called from.
-	;
-	; Since we're moving the window pointer
-	; all over the place, we'll naturally
-	; only use the %g registers.
-	;
-
-	mov	%g0,%o0		; %g0 -> jmp_buf
-	mov	%g1,%o1		; %g1 = return value
-	pfx	jmpbuf_callersret
-	ld	%g2,[%g0]	; %g2 = old return address
-__longjmp_loop:
-	cmp	%g2,%i7		; Are we there yet?
-	skps	cc_ne
-	 br	__longjmp_done
-	 nop			; (delay slot)
-
-	br	__longjmp_loop
-	restore			; (delay slot)
-	;
-	; One might put in a watchdog counter here, to
-	; prevent a runaway stack crawl... but what would that
-	; accomplish? What error can we throw? To whom?
-	;
-
-__longjmp_done:
-	pfx	jmpbuf_l0	; Restore local register l0
-	ld	%l0,[%g0]
-	pfx	jmpbuf_l1	; Restore local register l1
-	ld	%l1,[%g0]
-	pfx	jmpbuf_l2	; Restore local register l2
-	ld	%l2,[%g0]
-	pfx	jmpbuf_l3	; Restore local register l3
-	ld	%l3,[%g0]
-	pfx	jmpbuf_l4	; Restore local register l4
-	ld	%l4,[%g0]
-	pfx	jmpbuf_l5	; Restore local register l5
-	ld	%l5,[%g0]
-	pfx	jmpbuf_l6	; Restore local register l6
-	ld	%l6,[%g0]
-	pfx	jmpbuf_l7	; Restore local register l7
-	ld	%l7,[%g0]
-	pfx	jmpbuf_i0	; Restore input register i0
-	ld	%i0,[%g0]
-	pfx	jmpbuf_i1	; Restore input register i1
-	ld	%i1,[%g0]
-	pfx	jmpbuf_i2	; Restore input register i2
-	ld	%i2,[%g0]
-	pfx	jmpbuf_i3	; Restore input register i3
-	ld	%i3,[%g0]
-	pfx	jmpbuf_i4	; Restore input register i4
-	ld	%i4,[%g0]
-	pfx	jmpbuf_i5	; Restore input register i5
-	ld	%i5,[%g0]
-	pfx	jmpbuf_jmpret
-	ld	%o7,[%g0]	; set fake return address
-	jmp	%o7		; and kinda return there.
-	mov	%o0,%g1		; (delay slot) return value
-
-libc_hidden_def(__longjmp)
diff --git a/libc/sysdeps/linux/nios/bits/endian.h b/libc/sysdeps/linux/nios/bits/endian.h
deleted file mode 100644
index 34ea91f..0000000
--- a/libc/sysdeps/linux/nios/bits/endian.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* nios is little-endian.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-/*mle */
-#define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/libc/sysdeps/linux/nios/bits/fcntl.h b/libc/sysdeps/linux/nios/bits/fcntl.h
deleted file mode 100644
index 36ca766..0000000
--- a/libc/sysdeps/linux/nios/bits/fcntl.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 1995, 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#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		  0100	/* not fcntl */
-#define O_EXCL		  0200	/* not fcntl */
-#define O_NOCTTY	  0400	/* not fcntl */
-#define O_TRUNC		 01000	/* not fcntl */
-#define O_APPEND	 02000
-#define O_NONBLOCK	 04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC		010000
-#define O_FSYNC		O_SYNC
-#define O_ASYNC		020000
-
-#ifdef __USE_GNU
-# define O_DIRECTORY	 040000	/* Must be a directory.	 */
-# define O_NOFOLLOW	0100000	/* Do not follow links.	 */
-# define O_DIRECT	0200000	/* Direct disk access.	*/
-#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
-
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE	0400000
-#endif
-
-/* Values for the second argument to `fcntl'.  */
-#define F_DUPFD		0	/* Duplicate file descriptor.  */
-#define F_GETFD		1	/* Get file descriptor flags.  */
-#define F_SETFD		2	/* Set file descriptor flags.  */
-#define F_GETFL		3	/* Get file status flags.  */
-#define F_SETFL		4	/* Set file status flags.  */
-#ifndef __USE_FILE_OFFSET64
-# define F_GETLK	5	/* Get record locking info.  */
-# define F_SETLK	6	/* Set record locking info (non-blocking).  */
-# define F_SETLKW	7	/* Set record locking info (blocking).	*/
-#else
-# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
-# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
-# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
-#endif
-#define F_GETLK64	12	/* Get record locking info.  */
-#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
-#define F_SETLKW64	14	/* Set record locking info (blocking).	*/
-
-#if defined __USE_BSD || defined __USE_XOPEN2K
-# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	9	/* 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 on new fd.  */
-# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */
-#endif
-
-/* For F_[GET|SET]FL.  */
-#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		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.	*/
-#define F_UNLCK		2	/* Remove lock.	 */
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation */
-# define LOCK_SH	1	/* shared lock */
-# define LOCK_EX	2	/* exclusive lock */
-# define LOCK_NB	4	/* or'd with one of the above to prevent
-				   blocking */
-# define LOCK_UN	8	/* remove lock */
-#endif
-
-#ifdef __USE_GNU
-# define LOCK_MAND	32	/* This is a mandatory flock:	*/
-# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
-# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
-# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
-#endif
-
-#ifdef __USE_GNU
-/* Types of directory notifications that may be requested with F_NOTIFY.  */
-# define DN_ACCESS	0x00000001	/* File accessed.  */
-# define DN_MODIFY	0x00000002	/* File modified.  */
-# define DN_CREATE	0x00000004	/* File created.  */
-# define DN_DELETE	0x00000008	/* File removed.  */
-# define DN_RENAME	0x00000010	/* File renamed.  */
-# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
-# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
-#endif
-
-struct flock
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-#ifndef __USE_FILE_OFFSET64
-    __off_t l_start;	/* Offset where the lock begins.  */
-    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#else
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#endif
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-#endif
-
-/* 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
-
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-/* 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
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-
-/* 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/libc/sysdeps/linux/nios/bits/kernel_types.h b/libc/sysdeps/linux/nios/bits/kernel_types.h
deleted file mode 100644
index e66f42d..0000000
--- a/libc/sysdeps/linux/nios/bits/kernel_types.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Note that we use the exact same include guard #define names
- * as asm/posix_types.h.  This will avoid gratuitous conflicts
- * with the posix_types.h kernel header, and will ensure that
- * our private content, and not the kernel header, will win.
- *  -Erik
- */
-#ifndef __ARCH_NIOS_POSIX_TYPES_H
-#define __ARCH_NIOS_POSIX_TYPES_H
-
-typedef unsigned short	__kernel_dev_t;
-typedef unsigned long	__kernel_ino_t;
-typedef unsigned short	__kernel_mode_t;
-typedef unsigned short	__kernel_nlink_t;
-typedef long		__kernel_off_t;
-typedef int		__kernel_pid_t;
-typedef unsigned short	__kernel_ipc_pid_t;
-typedef unsigned short	__kernel_uid_t;
-typedef unsigned short	__kernel_gid_t;
-typedef unsigned int	__kernel_size_t;
-typedef int		__kernel_ssize_t;
-typedef int		__kernel_ptrdiff_t;
-typedef long		__kernel_time_t;
-typedef long		__kernel_suseconds_t;
-typedef long		__kernel_clock_t;
-typedef int		__kernel_daddr_t;
-typedef char *		__kernel_caddr_t;
-typedef unsigned short	__kernel_uid16_t;
-typedef unsigned short	__kernel_gid16_t;
-typedef unsigned int	__kernel_uid32_t;
-typedef unsigned int	__kernel_gid32_t;
-typedef unsigned short	__kernel_old_uid_t;
-typedef unsigned short	__kernel_old_gid_t;
-typedef long long	__kernel_loff_t;
-
-typedef struct {
-#ifdef __USE_ALL
-	int val[2];
-#else
-	int __val[2];
-#endif
-} __kernel_fsid_t;
-
-#endif /* __ARCH_NIOS2_POSIX_TYPES_H */
diff --git a/libc/sysdeps/linux/nios/bits/mathdef.h b/libc/sysdeps/linux/nios/bits/mathdef.h
deleted file mode 100644
index 478ceed..0000000
--- a/libc/sysdeps/linux/nios/bits/mathdef.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1999, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF	1
-
-/* GCC does not promote `float' values to `double'.  */
-typedef float float_t;		/* `float' expressions are evaluated as
-				   `float'.  */
-typedef double double_t;	/* `double' expressions are evaluated as
-				   `double'.  */
-
-/* The values returned by `ilogb' for 0 and NaN respectively.  */
-# define FP_ILOGB0	(-2147483647)
-# define FP_ILOGBNAN	(2147483647)
-
-#endif	/* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'.  This disables the
-   declaration of all the `long double' function variants.  */
-/* XXX The FPA does support this but the patterns in GCC are currently
-   turned off.  */
-# define __NO_LONG_DOUBLE_MATH	1
-#endif
diff --git a/libc/sysdeps/linux/nios/bits/setjmp.h b/libc/sysdeps/linux/nios/bits/setjmp.h
deleted file mode 100644
index 81669bb..0000000
--- a/libc/sysdeps/linux/nios/bits/setjmp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Define the machine-dependent type `jmp_buf'.  Nios version.  */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H	1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#include <signal.h>
-
-typedef struct
-  {
-    /* There are eight 4-byte local registers saved.  */
-    long int __lregs[8];
-
-    /* There are six 4-byte input registers saved.  */
-    long int __iregs[6];
-
-    /* The SP, return address to caller (also for longjmp)
-       and return address of caller are saved.  */
-    int *__sp;
-    int *__jmpret;
-    int *__callersret;
-
-  } __jmp_buf[1];
-
-#endif	/* bits/setjmp.h */
diff --git a/libc/sysdeps/linux/nios/bits/sigcontextinfo.h b/libc/sysdeps/linux/nios/bits/sigcontextinfo.h
deleted file mode 100644
index 96739e6..0000000
--- a/libc/sysdeps/linux/nios/bits/sigcontextinfo.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub(a)redhat.com>, 1999.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
-#define GET_PC(ctx)	((void *) ((ctx)->regs.pc))
-
-/* now way for nios to do GET_FRAME(ctx), it is not saved in ctx */
-#define GET_STACK(ctx)	((void *) (ctx)->regs.u_regs[14])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
-  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/libc/sysdeps/linux/nios/bits/stackinfo.h b/libc/sysdeps/linux/nios/bits/stackinfo.h
deleted file mode 100644
index 0d4eeb8..0000000
--- a/libc/sysdeps/linux/nios/bits/stackinfo.h
+++ /dev/null
@@ -1,27 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-/* On nios II the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif	/* stackinfo.h */
diff --git a/libc/sysdeps/linux/nios/bits/stat.h b/libc/sysdeps/linux/nios/bits/stat.h
deleted file mode 100644
index e4ed005..0000000
--- a/libc/sysdeps/linux/nios/bits/stat.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/* Copyright (C) 1992,95,96,97,98,99,2000,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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#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_LINUX_OLD	1
-#define _STAT_VER_KERNEL	1
-#define _STAT_VER_SVR4		2
-#define _STAT_VER_LINUX		3
-#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
-
-/* Versions of the `xmknod' interface.  */
-#define _MKNOD_VER_LINUX	1
-#define _MKNOD_VER_SVR4		2
-#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
-
-
-struct stat
-  {
-    __dev_t st_dev;			/* Device.  */
-    unsigned short int __pad1;
-#ifndef __USE_FILE_OFFSET64
-    __ino_t st_ino;			/* File serial number.	*/
-#else
-    __ino_t __st_ino;			/* 32bit file serial number.	*/
-#endif
-    __mode_t st_mode;			/* File mode.  */
-    __nlink_t st_nlink;			/* Link count.  */
-    __uid_t st_uid;			/* User ID of the file's owner.	*/
-    __gid_t st_gid;			/* Group ID of the file's group.*/
-    __dev_t st_rdev;			/* Device number, if device.  */
-    unsigned short int __pad2;
-#ifndef __USE_FILE_OFFSET64
-    __off_t st_size;			/* Size of file, in bytes.  */
-#else
-    __off64_t st_size;			/* Size of file, in bytes.  */
-#endif
-    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
-
-#ifndef __USE_FILE_OFFSET64
-    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
-#else
-    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
-#endif
-#ifdef __USE_MISC
-    /* Nanosecond resolution timestamps are stored in a format
-       equivalent to 'struct timespec'.  This is the type used
-       whenever possible but the Unix namespace rules do not allow the
-       identifier 'timespec' to appear in the <sys/stat.h> header.
-       Therefore we have to handle the use of this header in strictly
-       standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
-# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
-# define st_mtime st_mtim.tv_sec
-# define st_ctime st_ctim.tv_sec
-#else
-    __time_t st_atime;			/* Time of last access.  */
-    unsigned long int st_atimensec;	/* Nscecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
-#endif
-#ifndef __USE_FILE_OFFSET64
-    unsigned long int __unused4;
-    unsigned long int __unused5;
-#else
-    __ino64_t st_ino;			/* File serial number.	*/
-#endif
-  };
-
-#ifdef __USE_LARGEFILE64
-struct stat64
-  {
-    __dev_t st_dev;			/* Device.  */
-    unsigned short int __pad1;
-
-    __ino_t __st_ino;			/* 32bit file serial number.	*/
-    __mode_t st_mode;			/* File mode.  */
-    __nlink_t st_nlink;			/* Link count.  */
-    __uid_t st_uid;			/* User ID of the file's owner.	*/
-    __gid_t st_gid;			/* Group ID of the file's group.*/
-    __dev_t st_rdev;			/* Device number, if device.  */
-    unsigned short int __pad2;
-    __off64_t st_size;			/* Size of file, in bytes.  */
-    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
-
-    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
-#ifdef __USE_MISC
-    /* Nanosecond resolution timestamps are stored in a format
-       equivalent to 'struct timespec'.  This is the type used
-       whenever possible but the Unix namespace rules do not allow the
-       identifier 'timespec' to appear in the <sys/stat.h> header.
-       Therefore we have to handle the use of this header in strictly
-       standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
-#else
-    __time_t st_atime;			/* Time of last access.  */
-    unsigned long int st_atimensec;	/* Nscecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
-#endif
-    __ino64_t st_ino;			/* File serial number.		*/
-  };
-#endif
-
-/* Tell code we have these members.  */
-#define	_STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-/* Nanosecond resolution time values are supported.  */
-#define _STATBUF_ST_NSEC
-
-/* Encoding of the file mode.  */
-
-#define	__S_IFMT	0170000	/* These bits determine file type.  */
-
-/* File types.  */
-#define	__S_IFDIR	0040000	/* Directory.  */
-#define	__S_IFCHR	0020000	/* Character device.  */
-#define	__S_IFBLK	0060000	/* Block device.  */
-#define	__S_IFREG	0100000	/* Regular file.  */
-#define	__S_IFIFO	0010000	/* FIFO.  */
-#define	__S_IFLNK	0120000	/* Symbolic link.  */
-#define	__S_IFSOCK	0140000	/* Socket.  */
-
-/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But
-   they do it by enforcing the correct use of the macros.  */
-#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
-
-/* Protection bits.  */
-
-#define	__S_ISUID	04000	/* Set user ID on execution.  */
-#define	__S_ISGID	02000	/* Set group ID on execution.  */
-#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */
-#define	__S_IREAD	0400	/* Read by owner.  */
-#define	__S_IWRITE	0200	/* Write by owner.  */
-#define	__S_IEXEC	0100	/* Execute by owner.  */
-
-#ifdef __USE_ATFILE
-# define UTIME_NOW	((1l << 30) - 1l)
-# define UTIME_OMIT	((1l << 30) - 2l)
-#endif
diff --git a/libc/sysdeps/linux/nios/bits/syscalls.h b/libc/sysdeps/linux/nios/bits/syscalls.h
deleted file mode 100644
index c2b6b97..0000000
--- a/libc/sysdeps/linux/nios/bits/syscalls.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _BITS_SYSCALLS_H
-#define _BITS_SYSCALLS_H
-#ifndef _SYSCALL_H
-# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
-#endif
-
-#include <features.h>
-/* Do something very evil for now.  Until we include our out syscall
- * macros, short circuit bits/syscall.h  and use asm/unistd.h instead */
-#include <asm/unistd.h>
-
-#endif /* _BITS_SYSCALLS_H */
-
diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
deleted file mode 100644
index 293cc9b..0000000
--- a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Track misc arch-specific features that aren't config options
- */
-
-#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
-#define _BITS_UCLIBC_ARCH_FEATURES_H
-
-/* instruction used when calling abort() to kill yourself */
-/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/
-#undef __UCLIBC_ABORT_INSTRUCTION__
-
-/* can your target use syscall6() for mmap ? */
-#undef __UCLIBC_MMAP_HAS_6_ARGS__
-
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
-
-/* does your target have a broken create_module() ? */
-#undef __UCLIBC_BROKEN_CREATE_MODULE__
-
-/* does your target have to worry about older [gs]etrlimit() ? */
-#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
-
-/* does your target have an asm .set ? */
-#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-
-/* define if target supports .weak */
-#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-
-/* define if target supports .weakext */
-#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-
-/* define if target supports CFI pseudo ops */
-#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
-
-/* define if target supports IEEE signed zero floats */
-#define __UCLIBC_HAVE_SIGNED_ZERO__
-
-/* only weird assemblers generally need this */
-#undef __UCLIBC_ASM_LINE_SEP__
-
-#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/nios/bits/wordsize.h b/libc/sysdeps/linux/nios/bits/wordsize.h
deleted file mode 100644
index ca82fd7..0000000
--- a/libc/sysdeps/linux/nios/bits/wordsize.h
+++ /dev/null
@@ -1,18 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define __WORDSIZE	32
diff --git a/libc/sysdeps/linux/nios/brk.c b/libc/sysdeps/linux/nios/brk.c
deleted file mode 100644
index 2514262..0000000
--- a/libc/sysdeps/linux/nios/brk.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* brk system call for Linux/Nios2.
-   Copyright (C) 1995, 1996, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <unistd.h>
-#include <sys/syscall.h>
-#include <errno.h>
-
-/* This must be initialized data because commons can't have aliases.  */
-void *__curbrk attribute_hidden = 0;
-
-int brk (void *addr)
-{
-    void *newbrk;
-    register int g1 __asm__("%g1") = __NR_brk;
-    register void *o0 __asm__("%o0") = addr;
-
-    __asm__ __volatile__ ("trap 63\n\t" : "=r"(newbrk) : "0"(o0), "r"(g1));
-
-    __curbrk = newbrk;
-
-    if (newbrk < addr) {
-      __set_errno (ENOMEM);
-      return -1;
-    }
-
-    return 0;
-}
-libc_hidden_def(brk)
diff --git a/libc/sysdeps/linux/nios/bsd-_setjmp.S b/libc/sysdeps/linux/nios/bsd-_setjmp.S
deleted file mode 100644
index f2f0f23..0000000
--- a/libc/sysdeps/linux/nios/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp in setjmp.S */
\ No newline at end of file
diff --git a/libc/sysdeps/linux/nios/bsd-setjmp.S b/libc/sysdeps/linux/nios/bsd-setjmp.S
deleted file mode 100644
index 36f2bab..0000000
--- a/libc/sysdeps/linux/nios/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp in setjmp.S */
\ No newline at end of file
diff --git a/libc/sysdeps/linux/nios/clone.S b/libc/sysdeps/linux/nios/clone.S
deleted file mode 100644
index 9641d68..0000000
--- a/libc/sysdeps/linux/nios/clone.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth(a)tamu.edu)
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* clone() is even more special than fork() as it mucks with stacks
-   and invokes a function in the right context after its all over.  */
-
-#include <asm/errno.h>
-#include <sys/syscall.h>
-#include "NM_Macros.S"
-
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
-
-	.text
-	.align	2
-	.globl	clone
-	.type	clone,@function
-
-clone:
-	save	%sp,-16
-
-	MOVIP	%l0, -EINVAL
-	/* sanity check arguments */
-	skprnz	%i0				/* no NULL function pointers */
-	 br	CLONE_ERROR_LABEL
-	mov	%o0, %i2
-
-	skprnz  %i1				/* no NULL stack pointers */
-	 br	CLONE_ERROR_LABEL
-	mov	%o1, %i1
-
-	/* Do the system call */
-	MOVIP	%g1, __NR_clone
-	trap	63
-
-	/* if ret >=0? */
-	cmpi %o0, 0
-	skps cc_pl
-	 br CLONE_ERROR_LABEL
-	 mov %l0, %o0
-
-	/* Start thread */
-	skprz  %o1
-	 br __thread_start
-	 nop
-	mov %i0, %o0
-	ret
-	 restore
-
-CLONE_ERROR_LABEL:
-	neg %l0
-	MOVIA	%g1, __errno_location@h
-	call	%g1
-	 nop
-	st	[%o0], %l0		/* store errno */
-
-	xor %i0, %i0
-	dec %i0				/* retval=-1 */
-	ret
-	 restore
-
-	.size	clone, .-clone
-
-	.type	__thread_start,@function
-
-__thread_start:
-	call	%i0
-	 mov	%o0, %i3
-	MOVIA	%g1, _exit@h
-	call	%g1
-	 nop
-
-	.size	__thread_start, .-__thread_start
diff --git a/libc/sysdeps/linux/nios/crt1.S b/libc/sysdeps/linux/nios/crt1.S
deleted file mode 100644
index 683c5c0..0000000
--- a/libc/sysdeps/linux/nios/crt1.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, see <http://www.gnu.org/licenses/>.  */
-
-#include <features.h>
-#include <asm/unistd.h>
-#include "NM_Macros.S"
-#define __ASSEMBLY__
-#include <asm/ptrace.h>		/* for REGWIN_SZ */
-
-    .global _start
-    .type   __start,@function
-    .weak   _init
-    .weak   _fini
-    .type   main,@function
-    .type   __uClibc_main,@function
-
-	.text
-
-_start:
-	nop
-	nop
-
-	MOVIA	%o0, main@h
-	lds	%o1,[%sp, (REGWIN_SZ / 4) + 0]	/* main's argc */
-	lds	%o2,[%sp, (REGWIN_SZ / 4) + 1]	/* main's argv */
-
-	MOVIA	%o3, _init@h
-	MOVIA	%o4, _fini@h
-	mov	%o5, %i0	/* rtld_fini */
-	mov	%o6, %sp	/* stack_end */
-	MOVIA	%o7, __uClibc_main@h
-
-	call	%o7
-	nop
-
-
-	/* If that didn't kill us, ... */
-__exit:
-	MOVIP	%g1, __NR_exit
-	trap	63
diff --git a/libc/sysdeps/linux/nios/crtbegin.c b/libc/sysdeps/linux/nios/crtbegin.c
deleted file mode 100644
index ac3f23f..0000000
--- a/libc/sysdeps/linux/nios/crtbegin.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <errno.h>
-#include <stdlib.h>
-/*
-static void (*__CTOR_LIST__[1]) __P((void))
-    __attribute__((__unused__))
-    __attribute__((section(".ctors"))) = { (void *)0 };
-
-static void (*__DTOR_LIST__[1]) __P((void))
-    __attribute__((section(".dtors"))) = { (void *)-1 };
-*/
-extern void (*__DTOR_LIST__[]) __P((void));
-static void	__do_global_dtors_aux __P((void));
-
-static void
-__do_global_dtors_aux()
-{
-	void (**p)(void) = __DTOR_LIST__ + 1;
-
-	while (*p)
-		(**p++)();
-}
-
-static void dummy_fini(void) __attribute__((section(".trash")));
-
-void
-dummy_fini(void)
-{
-	static void (* volatile call__dtors)(void) = __do_global_dtors_aux;
-	/*
-	 * Call global destructors.
-	 */
-	/* prevent function pointer constant propagation */
-	__asm__ __volatile__ (".section .fini");
-	(*call__dtors)();
-	__asm__ __volatile__ (".section .trash");
-
-}
diff --git a/libc/sysdeps/linux/nios/crtend.c b/libc/sysdeps/linux/nios/crtend.c
deleted file mode 100644
index 775eb0f..0000000
--- a/libc/sysdeps/linux/nios/crtend.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-/*
-static void (*__CTOR_END__[1]) __P((void))
-    __attribute__((section(".ctors"))) = { (void *)-1 };
-
-static void (*__DTOR_END__[1]) __P((void))
-    __attribute__((__unused__))
-    __attribute__((section(".dtors"))) = { (void *)0 };
-*/
-extern void (*__CTOR_END__[]) __P((void));
-static void	__do_global_ctors_aux __P((void));
-
-static void
-__do_global_ctors_aux()
-{
-	void (**p)(void) = __CTOR_END__ - 1;
-
-	while (*p)
-		(**p--)();
-}
-
-static void dummy_init(void) __attribute__((section(".trash")));
-
-void
-dummy_init(void)
-{
-	static smallint initialized;
-	static void (*volatile call__ctors)(void) = __do_global_ctors_aux;
-	/*
-	 * Call global constructors.
-	 * Arrange to call global destructors at exit.
-	 */
-	/* prevent function pointer constant propagation */
-	__asm__ __volatile__ (".section .init");
-
-	if (!initialized) {
-		initialized = 1;
-		(*call__ctors)();
-	}
-	__asm__ __volatile__ (".section .trash");
-
-}
\ No newline at end of file
diff --git a/libc/sysdeps/linux/nios/fpu_control.h b/libc/sysdeps/linux/nios/fpu_control.h
deleted file mode 100644
index 4ba51b5..0000000
--- a/libc/sysdeps/linux/nios/fpu_control.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* FPU control word bits.  Nios2 version.
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-/* MIPS FPU floating point control register bits.
- *
- * 31-25  -> floating point conditions code bits 7-1.  These bits are only
- *           available in MIPS IV.
- * 24     -> flush denormalized results to zero instead of
- *           causing unimplemented operation exception.  This bit is only
- *           available for MIPS III and newer.
- * 23     -> Condition bit
- * 22-18  -> reserved (read as 0, write with 0)
- * 17     -> cause bit for unimplemented operation
- * 16     -> cause bit for invalid exception
- * 15     -> cause bit for division by zero exception
- * 14     -> cause bit for overflow exception
- * 13     -> cause bit for underflow exception
- * 12     -> cause bit for inexact exception
- * 11     -> enable exception for invalid exception
- * 10     -> enable exception for division by zero exception
- *  9     -> enable exception for overflow exception
- *  8     -> enable exception for underflow exception
- *  7     -> enable exception for inexact exception
- *  6     -> flag invalid exception
- *  5     -> flag division by zero exception
- *  4     -> flag overflow exception
- *  3     -> flag underflow exception
- *  2     -> flag inexact exception
- *  1-0   -> rounding control
- *
- *
- * Rounding Control:
- * 00 - rounding to nearest (RN)
- * 01 - rounding toward zero (RZ)
- * 10 - rounding (up) toward plus infinity (RP)
- * 11 - rounding (down)toward minus infinity (RM)
- */
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_V     0x0800  /* Invalid operation */
-#define _FPU_MASK_Z     0x0400  /* Division by zero  */
-#define _FPU_MASK_O     0x0200  /* Overflow          */
-#define _FPU_MASK_U     0x0100  /* Underflow         */
-#define _FPU_MASK_I     0x0080  /* Inexact operation */
-
-/* flush denormalized numbers to zero */
-#define _FPU_FLUSH_TZ   0x1000000
-
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0     /* RECOMMENDED */
-#define _FPU_RC_ZERO    0x1
-#define _FPU_RC_UP      0x2
-#define _FPU_RC_DOWN    0x3
-
-#define _FPU_RESERVED 0xfe3c0000  /* Reserved bits in cw */
-
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
-   and no interrupts for exceptions, rounding to nearest.  */
-
-#define _FPU_DEFAULT  0x00000000
-
-/* IEEE:  same as above, but exceptions */
-#define _FPU_IEEE     0x00000F80
-
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
-
-/* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(cw) __asm__ ("cfc1 %0,$31" : "=r" (cw))
-#define _FPU_SETCW(cw) __asm__ ("ctc1 %0,$31" : : "r" (cw))
-
-#if 0
-/* Default control word set at startup.  */
-extern fpu_control_t __fpu_control;
-#endif
-
-#endif	/* fpu_control.h */
diff --git a/libc/sysdeps/linux/nios/jmpbuf-offsets.h b/libc/sysdeps/linux/nios/jmpbuf-offsets.h
deleted file mode 100644
index 266a7e9..0000000
--- a/libc/sysdeps/linux/nios/jmpbuf-offsets.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#define jmpbuf_l0 0x00
-#define jmpbuf_l1 0x01
-#define jmpbuf_l2 0x02
-#define jmpbuf_l3 0x03
-#define jmpbuf_l4 0x04
-#define jmpbuf_l5 0x05
-#define jmpbuf_l6 0x06
-#define jmpbuf_l7 0x07
-
-#define jmpbuf_i0 0x08
-#define jmpbuf_i1 0x09
-#define jmpbuf_i2 0x0a
-#define jmpbuf_i3 0x0b
-#define jmpbuf_i4 0x0c
-#define jmpbuf_i5 0x0d
-
-#define jmpbuf_sp 0x0e
-#define jmpbuf_jmpret 0x0f
-#define jmpbuf_callersret 0x10
diff --git a/libc/sysdeps/linux/nios/jmpbuf-unwind.h b/libc/sysdeps/linux/nios/jmpbuf-unwind.h
deleted file mode 100644
index 64cd55f..0000000
--- a/libc/sysdeps/linux/nios/jmpbuf-unwind.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-#include <setjmp.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
-   containing a local variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (void *) (jmpbuf)->__sp)
diff --git a/libc/sysdeps/linux/nios/setjmp.S b/libc/sysdeps/linux/nios/setjmp.S
deleted file mode 100644
index d1ff1a7..0000000
--- a/libc/sysdeps/linux/nios/setjmp.S
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#include <jmpbuf-offsets.h>
-#include "NM_Macros.S"
-
-;----------------------------------------
-;         Name: __sigsetjmp
-;  Description: Save the current context so
-;               a nr_longjmp works later.
-;        Input: %o0: jmp_buf: (ptr to) array to store context in
-;       Output: %o0 = 0 the first time we're called, or
-;               whatever longjmp returns later
-; Side Effects: Uses %g0
-;    CWP Depth: 0
-;
-
-	.align	2
-	.global	_setjmp
-	
-_setjmp:
-	br	__sigsetjmp
-	 movi	%o1,0		; (Delay slot) Set signal mask to zero
-
-	.align	2
-	.global	setjmp
-	
-setjmp:
-	MOVIP	%o1,1		; Set signal mask to 1 to save mask
-
-	.align	2
-	.global	__sigsetjmp
-
-__sigsetjmp:
-	pfx	jmpbuf_callersret ; present return address
-	st	[%o0],%i7	
-	pfx	jmpbuf_jmpret	; where the longjmp will later execute from
-	st	[%o0],%o7	
-	pfx	jmpbuf_sp	; Save stack pointer
-	st	[%o0],%o6
-	pfx	jmpbuf_l0	; Save local register l0
-	st	[%o0],%l0
-	pfx	jmpbuf_l1	; Save local register l1
-	st	[%o0],%l1
-	pfx	jmpbuf_l2	; Save local register l2
-	st	[%o0],%l2
-	pfx	jmpbuf_l3	; Save local register l3
-	st	[%o0],%l3
-	pfx	jmpbuf_l4	; Save local register l4
-	st	[%o0],%l4
-	pfx	jmpbuf_l5	; Save local register l5
-	st	[%o0],%l5
-	pfx	jmpbuf_l6	; Save local register l6
-	st	[%o0],%l6
-	pfx	jmpbuf_l7	; Save local register l7
-	st	[%o0],%l7
-	pfx	jmpbuf_i0	; Save input register i0
-	st	[%o0],%i0
-	pfx	jmpbuf_i1	; Save input register i1
-	st	[%o0],%i1
-	pfx	jmpbuf_i2	; Save input register i2
-	st	[%o0],%i2
-	pfx	jmpbuf_i3	; Save input register i3
-	st	[%o0],%i3
-	pfx	jmpbuf_i4	; Save input register i4
-	st	[%o0],%i4
-	pfx	jmpbuf_i5	; Save input register i5
-	st	[%o0],%i5
-	pfx	%hi(__sigjmp_save@h)	  ; Load up %g0 with address
-	movi	%g0,%lo(__sigjmp_save@h)
-	pfx	%xhi(__sigjmp_save@h)
-	movhi	%g0,%xlo(__sigjmp_save@h)
-	jmp	%g0
-	 nop			; (delay slot)
-
-
-
-
-
-
-
-
-
-
diff --git a/libc/sysdeps/linux/nios/sys/procfs.h b/libc/sysdeps/linux/nios/sys/procfs.h
deleted file mode 100644
index edbd5a5..0000000
--- a/libc/sysdeps/linux/nios/sys/procfs.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H	1
-
-/* This is somehow modelled after the file of the same name on SysVr4
-   systems.  It provides a definition of the core file format for ELF
-   used on Linux.  */
-
-#include <features.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/ucontext.h>
-#include <sys/user.h>
-#include <bits/wordsize.h>
-
-__BEGIN_DECLS
-
-#define ELF_NGREG		38
-
-typedef struct
-  {
-    union
-      {
-	unsigned long	pr_regs[32];
-	double		pr_dregs[16];
-      }			pr_fr;
-    unsigned long	__unused;
-    unsigned long	pr_fsr;
-    unsigned char	pr_qcnt;
-    unsigned char	pr_q_entrysize;
-    unsigned char	pr_en;
-    unsigned int	pr_q[64];
-  } elf_fpregset_t;
-
-typedef unsigned long elf_greg_t;
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-struct elf_siginfo
-  {
-    int si_signo;			/* Signal number.  */
-    int si_code;			/* Extra code.  */
-    int si_errno;			/* Errno.  */
-  };
-
-/* Definitions to generate Intel SVR4-like core files.  These mostly
-   have the same names as the SVR4 types with "elf_" tacked on the
-   front to prevent clashes with linux definitions, and the typedef
-   forms have been avoided.  This is mostly like the SVR4 structure,
-   but more Linuxy, with things that Linux does not support and which
-   gdb doesn't really use excluded.  Fields present but not used are
-   marked with "XXX".  */
-struct elf_prstatus
-  {
-    struct elf_siginfo pr_info;		/* Info associated with signal.  */
-    short int pr_cursig;		/* Current signal.  */
-    unsigned long int pr_sigpend;	/* Set of pending signals.  */
-    unsigned long int pr_sighold;	/* Set of held signals.  */
-    __pid_t pr_pid;
-    __pid_t pr_ppid;
-    __pid_t pr_pgrp;
-    __pid_t pr_sid;
-    struct timeval pr_utime;		/* User time.  */
-    struct timeval pr_stime;		/* System time.  */
-    struct timeval pr_cutime;		/* Cumulative user time.  */
-    struct timeval pr_cstime;		/* Cumulative system time.  */
-    elf_gregset_t pr_reg;		/* GP registers.  */
-    int pr_fpvalid;			/* True if math copro being used.  */
-  };
-
-
-#define ELF_PRARGSZ     (80)    /* Number of chars for args */
-
-struct elf_prpsinfo
-  {
-    char pr_state;			/* Numeric process state.  */
-    char pr_sname;			/* Char for pr_state.  */
-    char pr_zomb;			/* Zombie.  */
-    char pr_nice;			/* Nice val.  */
-    unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
-    /* Lots missing */
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
-  };
-
-/* Addresses.  */
-typedef void *psaddr_t;
-
-/* Register sets.  Linux has different names.  */
-typedef elf_gregset_t prgregset_t;
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
-   therefore have only one 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/libc/sysdeps/linux/nios/sys/ucontext.h b/libc/sysdeps/linux/nios/sys/ucontext.h
deleted file mode 100644
index 02781c7..0000000
--- a/libc/sysdeps/linux/nios/sys/ucontext.h
+++ /dev/null
@@ -1,103 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-/*
- * Location of the users' stored registers relative to R0.
- * Usage is as an index into a gregset_t array or as u.u_ar0[XX].
- */
-#define REG_PSR (0)
-#define REG_PC  (1)
-#define REG_SPARE   (2)
-#define REG_WVALID  (3)
-#define REG_G1  (4)
-#define REG_G2  (5)
-#define REG_G3  (6)
-#define REG_G4  (7)
-#define REG_G5  (8)
-#define REG_G6  (9)
-#define REG_G7  (10)
-#define REG_O0  (11)
-#define REG_O1  (12)
-#define REG_O2  (13)
-#define REG_O3  (14)
-#define REG_O4  (15)
-#define REG_O5  (16)
-#define REG_O6  (17)
-#define REG_O7  (18)
-#define REG_GLOBALS (19)
-
-/*
- * A gregset_t is defined as an array type for compatibility with the reference
- * source. This is important due to differences in the way the C language
- * treats arrays and structures as parameters.
- *
- * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)),
- * but that the ABI defines it absolutely to be 21 (resp. 19).
- */
-
-#define NGREG   20
-typedef int greg_t;
-
-typedef greg_t  gregset_t[NGREG];
-
-/*
- * The following structures define how a register window can appear on the
- * stack. This structure is available (when required) through the `gwins'
- * field of an mcontext (nested within ucontext). NIOS_MAXWINDOW is the
- * maximum number of outstanding register windows defined in the NIOS
- * architecture (*not* implementation).
- */
-#define NIOS_MAXREGWINDOW	31	/* max windows in NIOS arch. */
-struct  rwindow
-  {
-    greg_t rw_local[8];			/* locals */
-    greg_t rw_in[8];			/* ins */
-  };
-
-#define rw_fp   rw_in[6]		/* frame pointer */
-#define rw_rtn  rw_in[7]		/* return address */
-
-typedef struct gwindows
-  {
-    int            wbcnt;
-    int           *spbuf[NIOS_MAXREGWINDOW];
-    struct rwindow wbuf[NIOS_MAXREGWINDOW];
-  } gwindows_t;
-
-typedef struct
-  {
-    gregset_t   gregs;		/* general register set */
-    gwindows_t  *gwins;		/* POSSIBLE pointer to register windows */
-  } mcontext_t;
-
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long   uc_flags;
-    struct ucontext *uc_link;
-    __sigset_t	    uc_sigmask;
-    stack_t         uc_stack;
-    mcontext_t      uc_mcontext;
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/libc/sysdeps/linux/nios/vfork.S b/libc/sysdeps/linux/nios/vfork.S
deleted file mode 100644
index 603a07e..0000000
--- a/libc/sysdeps/linux/nios/vfork.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * libc/sysdeps/linux/nios/vfork.S -- `vfork' syscall for linux/nios
- *
- *  Copyright (C) 2004  Microtronix Datacom Ltd
- *
- * This file is subject to the terms and conditions of the GNU Lesser
- * General Public License.  See the file COPYING.LIB in the main
- * directory of this archive for more details.
- * 
- * Written by Wentao Xu <wentao(a)microtronix.com>
- */
-
-#include <sys/syscall.h>
-#include "NM_Macros.S"
-
-#ifndef __NR_vfork
-#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */
-#endif
-
-   .text
-   .align 2
-   .globl __vfork
-  .hidden __vfork
-  .type   __vfork,@function
-__vfork:
-	MOVIP	%g1, __NR_vfork
-	trap	63
-	
-	bgen	%g1, 12
-	not		%g1			/* (unsigned long) -4096 */
-	cmp		%o0, %g1
-	skps	cc_hi
-	jmp		%o7
-	nop
-	
-fix_errno:
-	neg		%o0
-	save	%sp, -16
-	MOVIA	%g1, __errno_location@h
-	call	%g1
-	nop
-	st	[%o0], %i0		/* store errno */
-	
-	xor %i0, %i0
-	subi %i0, 1		/* retval=-1 */
-	ret
-	restore
-
-.size __vfork,.-__vfork
-weak_alias(__vfork,vfork)
-libc_hidden_def(vfork)
diff --git a/libc/sysdeps/linux/sh64/Makefile b/libc/sysdeps/linux/sh64/Makefile
deleted file mode 100644
index ecbf142..0000000
--- a/libc/sysdeps/linux/sh64/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2001 SuperH (UK) Ltd.
-# Copyright (C) 2003 Paul Mundt <lethal(a)linux-sh.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-
-top_srcdir=../../../../
-top_builddir=../../../../
-all: objs
-include $(top_builddir)Rules.mak
-include Makefile.arch
-include $(top_srcdir)Makerules
-TOPDIR=../../../../
-include $(TOPDIR)Rules.mak
diff --git a/libc/sysdeps/linux/sh64/Makefile.arch b/libc/sysdeps/linux/sh64/Makefile.arch
deleted file mode 100644
index 02fcd0b..0000000
--- a/libc/sysdeps/linux/sh64/Makefile.arch
+++ /dev/null
@@ -1,10 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2008 Paul Mundt <lethal(a)linux-sh.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-CSRC-y := __init_brk.c brk.c sbrk.c syscall.c
-
-SSRC-y := setjmp.S __longjmp.S
diff --git a/libc/sysdeps/linux/sh64/__init_brk.c b/libc/sysdeps/linux/sh64/__init_brk.c
deleted file mode 100644
index 8a41eb3..0000000
--- a/libc/sysdeps/linux/sh64/__init_brk.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* From libc-5.3.12 */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-
-void * __curbrk attribute_hidden = 0;
-
-#define __NR__brk __NR_brk
-attribute_hidden _syscall1(void *, _brk, void *, ptr)
-
-extern int __init_brk (void) attribute_hidden;
-int
-__init_brk (void)
-{
-    if (__curbrk == 0)
-    {
-		__curbrk = _brk(0);
-		if (__curbrk == 0)
-		{
-		  __set_errno(ENOMEM);
-		  return -1;
-		}
-    }
-    return 0;
-}
diff --git a/libc/sysdeps/linux/sh64/__longjmp.S b/libc/sysdeps/linux/sh64/__longjmp.S
deleted file mode 100644
index 84343d1..0000000
--- a/libc/sysdeps/linux/sh64/__longjmp.S
+++ /dev/null
@@ -1,140 +0,0 @@
-/* __longjmp for SH-5.
-   Copyright (C) 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-
-#define	INTEGER(reg,offset)	ld.q	r2, offset*8, reg
-#define	DOUBLE(reg,offset)	fld.d	r2, offset*8, reg
-
-
-	.file	"__longjmp.S"
-
-	.section .text64,"xa"
-	.align 2
-
-	.global	__longjmp	
-	.type	__longjmp,@function
-
-__longjmp:
-	/*
-	 *	extern void __longjmp(jmp_buf env, int val);
-	 *
-	 *	r2 == env
-	 *	r3 == val
-	 *	r4 == temporary
-	 */
-
-			/* callee-save registers R10-R16 */
-	INTEGER(r10, __SETJMP_INT(0))
-	INTEGER(r11, __SETJMP_INT(1))
-	INTEGER(r12, __SETJMP_INT(2))
-	INTEGER(r13, __SETJMP_INT(3))
-	INTEGER(r14, __SETJMP_INT(4))
-	INTEGER(r15, __SETJMP_INT(5))
-	INTEGER(r16, __SETJMP_INT(6))
-
-			/* callee-save registers R28-R35 */
-	INTEGER(r28, __SETJMP_INT(7))
-	INTEGER(r29, __SETJMP_INT(8))
-	INTEGER(r30, __SETJMP_INT(9))
-	INTEGER(r31, __SETJMP_INT(10))
-	INTEGER(r32, __SETJMP_INT(11))
-	INTEGER(r33, __SETJMP_INT(12))
-	INTEGER(r34, __SETJMP_INT(13))
-	INTEGER(r35, __SETJMP_INT(14))
-
-			/* callee-save registers R44-R59 */
-	INTEGER(r44, __SETJMP_INT(15))
-	INTEGER(r45, __SETJMP_INT(16))
-	INTEGER(r46, __SETJMP_INT(17))
-	INTEGER(r47, __SETJMP_INT(18))
-	INTEGER(r48, __SETJMP_INT(19))
-	INTEGER(r49, __SETJMP_INT(20))
-	INTEGER(r50, __SETJMP_INT(21))
-	INTEGER(r51, __SETJMP_INT(22))
-	INTEGER(r52, __SETJMP_INT(23))
-	INTEGER(r53, __SETJMP_INT(24))
-	INTEGER(r54, __SETJMP_INT(25))
-	INTEGER(r55, __SETJMP_INT(26))
-	INTEGER(r56, __SETJMP_INT(27))
-	INTEGER(r57, __SETJMP_INT(28))
-	INTEGER(r58, __SETJMP_INT(29))
-	INTEGER(r59, __SETJMP_INT(30))
-
-	#if __SETJMP_NUM_INT != 31
-	#error	__SETJMP_NUM_INT does agree with expected value
-	#endif
-
-#if __SETJMP_NUM_DBL > 0
-			/* callee-save registers FR12-FR15 */
-	DOUBLE(d12, __SETJMP_DBL(0))
-	DOUBLE(d14, __SETJMP_DBL(1))
-
-			/* callee-save registers FR36-FR63 */
-	DOUBLE(d36, __SETJMP_DBL(2))
-	DOUBLE(d38, __SETJMP_DBL(3))
-	DOUBLE(d40, __SETJMP_DBL(4))
-	DOUBLE(d42, __SETJMP_DBL(5))
-	DOUBLE(d44, __SETJMP_DBL(6))
-	DOUBLE(d46, __SETJMP_DBL(7))
-	DOUBLE(d48, __SETJMP_DBL(8))
-	DOUBLE(d50, __SETJMP_DBL(9))
-	DOUBLE(d52, __SETJMP_DBL(10))
-	DOUBLE(d54, __SETJMP_DBL(11))
-	DOUBLE(d56, __SETJMP_DBL(12))
-	DOUBLE(d58, __SETJMP_DBL(13))
-	DOUBLE(d60, __SETJMP_DBL(14))
-	DOUBLE(d62, __SETJMP_DBL(15))
-
-	#if __SETJMP_NUM_DBL != 16
-	#error	__SETJMP_NUM_DBL does agree with expected value
-	#endif
-
-#endif	/* __SETJMP_NUM_DBL > 0 */
-
-			/* callee-save registers TR5-TR7 */
-	INTEGER(r4, __SETJMP_TRG(0))
-	ptabs	r4, tr5
-	INTEGER(r4, __SETJMP_TRG(1))
-	ptabs	r4, tr6
-	INTEGER(r4, __SETJMP_TRG(2))
-	ptabs	r4, tr7
-
-	#if __SETJMP_NUM_TRG != 3
-	#error	__SETJMP_NUM_TRG does agree with expected value
-	#endif
-
-			/* restore Linkage Register (LR) for __longjmp return */
-	INTEGER(r18, __SETJMP_LR)
-	ptabs/l	r18, tr0
-
-			/*
-			 *	must ensure __longjmp() never returns 0.
-			 *	if 'val' == 0, then return 1.
-			 */
-	cmpeq	r3, r63, r2	/* r2 = (r3==0) ? 1 : 0; */
-	add.l	r3, r2, r2	/* return value */
-
-			/* return to caller */
-	blink	tr0, r63
-
-libc_hidden_def(__longjmp)
diff --git a/libc/sysdeps/linux/sh64/bits/endian.h b/libc/sysdeps/linux/sh64/bits/endian.h
deleted file mode 100644
index ae7e3bb..0000000
--- a/libc/sysdeps/linux/sh64/bits/endian.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * libc/sysdeps/linux/sh64/bits/endian.h
- *
- * Copyright (C) 2003  Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU Lesser
- * General Public License.  See the file COPYING.LIB in the main
- * directory of this archive for more details.
- */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#ifdef __LITTLE_ENDIAN__
-#  define __BYTE_ORDER __LITTLE_ENDIAN
-#else
-#  define __BYTE_ORDER __BIG_ENDIAN
-#endif
-
diff --git a/libc/sysdeps/linux/sh64/bits/fcntl.h b/libc/sysdeps/linux/sh64/bits/fcntl.h
deleted file mode 100644
index b319e8b..0000000
--- a/libc/sysdeps/linux/sh64/bits/fcntl.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef	_FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-
-#include <sys/types.h>
-
-/* 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		   0100	/* not fcntl */
-#define O_EXCL		   0200	/* not fcntl */
-#define O_NOCTTY	   0400	/* not fcntl */
-#define O_TRUNC		  01000	/* not fcntl */
-#define O_APPEND	  02000
-#define O_NONBLOCK	  04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC		 010000
-#define O_FSYNC		 O_SYNC
-#define O_ASYNC		 020000
-
-#ifdef __USE_GNU
-# define O_DIRECT	 040000	/* Direct disk access.  */
-# define O_DIRECTORY	0200000	/* Must be a directory.  */
-# define O_NOFOLLOW	0400000	/* Do not follow links.  */
-# define O_NOATIME	01000000 /* Do not set atime.  */
-# define O_CLOEXEC	02000000 /* set close_on_exec */
-#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
-
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE	0100000
-#endif
-
-/* Values for the second argument to `fcntl'.  */
-#define F_DUPFD		0	/* Duplicate file descriptor.  */
-#define F_GETFD		1	/* Get file descriptor flags.  */
-#define F_SETFD		2	/* Set file descriptor flags.  */
-#define F_GETFL		3	/* Get file status flags.  */
-#define F_SETFL		4	/* Set file status flags.  */
-#ifndef __USE_FILE_OFFSET64
-# define F_GETLK	5	/* Get record locking info.  */
-# define F_SETLK	6	/* Set record locking info (non-blocking).  */
-# define F_SETLKW	7	/* Set record locking info (blocking).  */
-#else
-# define F_GETLK	F_GETLK64  /* Get record locking info.  */
-# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
-# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
-#endif
-#define F_GETLK64	12	/* Get record locking info.  */
-#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
-#define F_SETLKW64	14	/* Set record locking info (blocking).  */
-
-#if defined __USE_BSD || defined __USE_XOPEN2K
-# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	9	/* 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 on new fd.  */
-# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */
-#endif
-
-/* For F_[GET|SET]FL.  */
-#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		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.  */
-#define F_UNLCK		2	/* Remove lock.  */
-
-/* For old implementation of bsd flock().  */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation.  */
-# define LOCK_SH	1	/* shared lock */
-# define LOCK_EX	2	/* exclusive lock */
-# define LOCK_NB	4	/* or'd with one of the above to prevent
-				   blocking */
-# define LOCK_UN	8	/* remove lock */
-#endif
-
-struct flock
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-#ifndef __USE_FILE_OFFSET64
-    __off_t l_start;	/* Offset where the lock begins.  */
-    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#else
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#endif
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-#endif
-
-/* 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
-
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-/* 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
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-
-/* 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/libc/sysdeps/linux/sh64/bits/kernel_stat.h b/libc/sysdeps/linux/sh64/bits/kernel_stat.h
deleted file mode 100644
index 1a29433..0000000
--- a/libc/sysdeps/linux/sh64/bits/kernel_stat.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Stat structure for Linux/sh64 */
-
-#ifndef _BITS_STAT_STRUCT_H
-#define _BITS_STAT_STRUCT_H
-
-struct kernel_stat {
-	unsigned short st_dev;
-	unsigned short __pad1;
-	unsigned long st_ino;
-	unsigned short st_mode;
-	unsigned short st_nlink;
-	unsigned short st_uid;
-	unsigned short st_gid;
-	unsigned short st_rdev;
-	unsigned short __pad2;
-	unsigned long  st_size;
-	unsigned long  st_blksize;
-	unsigned long  st_blocks;
-	struct timespec st_atim;
-	struct timespec st_mtim;
-	struct timespec st_ctim;
-	unsigned long  __unused4;
-	unsigned long  __unused5;
-};
-
-struct kernel_stat64 {
-	unsigned short	st_dev;
-	unsigned char	__pad0[10];
-
-	unsigned long	st_ino;
-	unsigned int	st_mode;
-	unsigned int	st_nlink;
-
-	unsigned long	st_uid;
-	unsigned long	st_gid;
-
-	unsigned short	st_rdev;
-	unsigned char	__pad3[10];
-
-	long long	st_size;
-	unsigned long	st_blksize;
-
-	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
-	unsigned long	__pad4;		/* future possible st_blocks high bits */
-
-	struct timespec	st_atim;
-	struct timespec	st_mtim;
-	struct timespec	st_ctim;
-
-	unsigned long	__unused1;
-	unsigned long	__unused2;
-};
-
-#endif /* _BITS_STAT_STRUCT_H */
-
diff --git a/libc/sysdeps/linux/sh64/bits/kernel_types.h b/libc/sysdeps/linux/sh64/bits/kernel_types.h
deleted file mode 100644
index 8cc6c61..0000000
--- a/libc/sysdeps/linux/sh64/bits/kernel_types.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * sysdeps/linux/sh64/bits/kernel_types.h
- *
- * Copyright (C) 2000, 2001  Paolo Alberelli
- * Copyright (C) 2003  Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU Lesser
- * General Public License.  See the file COPYING.LIB in the main
- * directory of this archive for more details.
- */
-
-/*
- * Note that we use the exact same include guard #define names
- * as asm/posix_types.h.  This will avoid gratuitous conflicts
- * with the posix_types.h kernel header, and will ensure that
- * our private content, and not the kernel header, will win.
- *  -Erik
- */
-#ifndef __ASM_SH64_POSIX_TYPES_H
-#define __ASM_SH64_POSIX_TYPES_H
-
-typedef unsigned short  __kernel_dev_t;
-typedef unsigned long   __kernel_ino_t;
-typedef unsigned short  __kernel_mode_t;
-typedef unsigned short  __kernel_nlink_t;
-typedef long            __kernel_off_t;
-typedef int             __kernel_pid_t;
-typedef unsigned short  __kernel_ipc_pid_t;
-typedef unsigned short  __kernel_uid_t;
-typedef unsigned short  __kernel_gid_t;
-typedef long unsigned int       __kernel_size_t;
-typedef int             __kernel_ssize_t;
-typedef int             __kernel_ptrdiff_t;
-typedef long            __kernel_time_t;
-typedef long            __kernel_suseconds_t;
-typedef long            __kernel_clock_t;
-typedef int             __kernel_daddr_t;
-typedef char *          __kernel_caddr_t;
-typedef unsigned short  __kernel_uid16_t;
-typedef unsigned short  __kernel_gid16_t;
-typedef unsigned int    __kernel_uid32_t;
-typedef unsigned int    __kernel_gid32_t;
-typedef unsigned short  __kernel_old_uid_t;
-typedef unsigned short  __kernel_old_gid_t;
-typedef __kernel_dev_t	__kernel_old_dev_t;
-typedef long		__kernel_long_t;
-typedef unsigned long	__kernel_ulong_t;
-typedef long long       __kernel_loff_t;
-
-typedef struct {
-#ifdef __USE_ALL
-	int val[2];
-#else
-	int __val[2];
-#endif
-} __kernel_fsid_t;
-
-#endif /* __ASM_SH64_POSIX_TYPES_H */
diff --git a/libc/sysdeps/linux/sh64/bits/setjmp.h b/libc/sysdeps/linux/sh64/bits/setjmp.h
deleted file mode 100644
index 5d13b88..0000000
--- a/libc/sysdeps/linux/sh64/bits/setjmp.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Define the machine-dependent type `jmp_buf'.  SH-5 version. */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H	1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#define	__SETJMP_NUM_INT	31		/* number of integer registers to save */
-#define	__SETJMP_NUM_DBL	0 /* 16 */	/* number of double registers to save */
-#define	__SETJMP_NUM_TRG	3		/* number of traget registers to save */
-
-#define	__SETJMP_INT(x)	(x)
-#define	__SETJMP_DBL(x)	(__SETJMP_NUM_INT+(x))
-#define	__SETJMP_TRG(x)	(__SETJMP_NUM_INT+__SETJMP_NUM_DBL+(x))
-#define	__SETJMP_LR	(__SETJMP_NUM_INT+__SETJMP_NUM_DBL+__SETJMP_NUM_TRG)
-
-typedef struct
-  {
-	    /* Callee-saved registers.  */
-    unsigned long long __ints[__SETJMP_NUM_INT];	/* integer registers */
-#if __SETJMP_NUM_DBL > 0
-    unsigned long long __dbls[__SETJMP_NUM_DBL];	/* double registers */
-#endif
-    unsigned long long __trgs[__SETJMP_NUM_TRG];	/* traget registers */
-    unsigned long long __lr;				/* linkage register */
-  } __jmp_buf[1];
-
-#endif	/* bits/setjmp.h */
diff --git a/libc/sysdeps/linux/sh64/bits/shm.h b/libc/sysdeps/linux/sh64/bits/shm.h
deleted file mode 100644
index 274f36a..0000000
--- a/libc/sysdeps/linux/sh64/bits/shm.h
+++ /dev/null
@@ -1,102 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_SHM_H
-# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Permission flag for shmget.  */
-#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
-#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
-
-/* Flags for `shmat'.  */
-#define SHM_RDONLY	010000		/* attach read-only else read-write */
-#define SHM_RND		020000		/* round attach address to SHMLBA */
-#define SHM_REMAP	040000		/* take-over region on attach */
-
-/* Commands for `shmctl'.  */
-#define SHM_LOCK	11		/* lock segment (root only) */
-#define SHM_UNLOCK	12		/* unlock segment (root only) */
-
-__BEGIN_DECLS
-
-/* Segment low boundary address multiple.  */
-#define SHMLBA		(__getpagesize() << 2)
-extern int __getpagesize (void) __THROW __attribute__ ((__const__));
-
-
-/* Type to count number of attaches.  */
-typedef unsigned long int shmatt_t;
-
-/* Data structure describing a set of semaphores.  */
-struct shmid_ds
-  {
-    struct ipc_perm shm_perm;		/* operation permission struct */
-    size_t shm_segsz;			/* size of segment in bytes */
-    __time_t shm_atime;			/* time of last shmat() */
-    unsigned long int __unused1;
-    __time_t shm_dtime;			/* time of last shmdt() */
-    unsigned long int __unused2;
-    __time_t shm_ctime;			/* time of last change by shmctl() */
-    unsigned long int __unused3;
-    __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 __unused4;
-    unsigned long int __unused5;
-  };
-
-#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/libc/sysdeps/linux/sh64/bits/stackinfo.h b/libc/sysdeps/linux/sh64/bits/stackinfo.h
deleted file mode 100644
index c52e7d7..0000000
--- a/libc/sysdeps/linux/sh64/bits/stackinfo.h
+++ /dev/null
@@ -1,27 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-/* On SH the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif	/* stackinfo.h */
diff --git a/libc/sysdeps/linux/sh64/bits/syscalls.h b/libc/sysdeps/linux/sh64/bits/syscalls.h
deleted file mode 100644
index 84877d0..0000000
--- a/libc/sysdeps/linux/sh64/bits/syscalls.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _BITS_SYSCALLS_H
-#define _BITS_SYSCALLS_H
-#ifndef _SYSCALL_H
-# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
-#endif
-
-#ifndef __ASSEMBLER__
-
-#include <errno.h>
-
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-/* user-visible error numbers are in the range -1 - -125: see <asm-sh64/errno.h> */
-#define __syscall_return(type, res) \
-do { \
-	/* Note: when returning from kernel the return value is in r9	    \
-	**       This prevents conflicts between return value and arg1      \
-	**       when dispatching signal handler, in other words makes	    \
-	**       life easier in the system call epilogue (see entry.S)      \
-	*/								    \
-        register unsigned long __sr2 __asm__ ("r2") = res;		    \
-	if ((unsigned long)(res) >= (unsigned long)(-125)) { \
-		errno = -(res);						    \
-		__sr2 = -1; 						    \
-	} \
-	return (type) (__sr2); 						    \
-} while (0)
-
-/* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
-
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x10 << 16) | __NR_##name); \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0) ); 						    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x11 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2));					    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x12 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-register unsigned long __sc3 __asm__ ("r3") = (unsigned long) arg2;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3) );			    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x13 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-register unsigned long __sc3 __asm__ ("r3") = (unsigned long) arg2;	    \
-register unsigned long __sc4 __asm__ ("r4") = (unsigned long) arg3;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3), "r" (__sc4) );		    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x14 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-register unsigned long __sc3 __asm__ ("r3") = (unsigned long) arg2;	    \
-register unsigned long __sc4 __asm__ ("r4") = (unsigned long) arg3;	    \
-register unsigned long __sc5 __asm__ ("r5") = (unsigned long) arg4;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3), "r" (__sc4), "r" (__sc5) );\
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x15 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-register unsigned long __sc3 __asm__ ("r3") = (unsigned long) arg2;	    \
-register unsigned long __sc4 __asm__ ("r4") = (unsigned long) arg3;	    \
-register unsigned long __sc5 __asm__ ("r5") = (unsigned long) arg4;	    \
-register unsigned long __sc6 __asm__ ("r6") = (unsigned long) arg5;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3), "r" (__sc4), "r" (__sc5), \
-	  "r" (__sc6));							    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5, type6, arg6) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6) \
-{ \
-register unsigned long __sc0 __asm__ ("r9") = ((0x16 << 16) | __NR_##name); \
-register unsigned long __sc2 __asm__ ("r2") = (unsigned long) arg1;	    \
-register unsigned long __sc3 __asm__ ("r3") = (unsigned long) arg2;	    \
-register unsigned long __sc4 __asm__ ("r4") = (unsigned long) arg3;	    \
-register unsigned long __sc5 __asm__ ("r5") = (unsigned long) arg4;	    \
-register unsigned long __sc6 __asm__ ("r6") = (unsigned long) arg5;	    \
-register unsigned long __sc7 __asm__ ("r7") = (unsigned long) arg6;	    \
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) 							    \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3), "r" (__sc4), "r" (__sc5), \
-	  "r" (__sc6), "r" (__sc7));					    \
-__syscall_return(type,__sc0); 						    \
-}
-
-#endif /* __ASSEMBLER__ */
-#endif /* _BITS_SYSCALLS_H */
-
diff --git a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
deleted file mode 100644
index e2091b5..0000000
--- a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Track misc arch-specific features that aren't config options
- */
-
-#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
-#define _BITS_UCLIBC_ARCH_FEATURES_H
-
-/* instruction used when calling abort() to kill yourself */
-#define __UCLIBC_ABORT_INSTRUCTION__ "movi 0x10, r9; shori 0xff, r9; trapa r9"
-
-/* can your target use syscall6() for mmap ? */
-#undef __UCLIBC_MMAP_HAS_6_ARGS__
-
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
-
-/* does your target have a broken create_module() ? */
-#undef __UCLIBC_BROKEN_CREATE_MODULE__
-
-/* does your target have to worry about older [gs]etrlimit() ? */
-#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
-
-/* does your target have an asm .set ? */
-#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-
-/* define if target supports .weak */
-#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-
-/* define if target supports .weakext */
-#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-
-/* define if target supports CFI pseudo ops */
-#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
-
-/* define if target supports IEEE signed zero floats */
-#define __UCLIBC_HAVE_SIGNED_ZERO__
-
-/* only weird assemblers generally need this */
-#undef __UCLIBC_ASM_LINE_SEP__
-
-#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/sh64/bits/wordsize.h b/libc/sysdeps/linux/sh64/bits/wordsize.h
deleted file mode 100644
index 7c2723b..0000000
--- a/libc/sysdeps/linux/sh64/bits/wordsize.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * libc/sysdeps/linux/sh64/bits/wordsize.h
- *
- * Copyright (C) 2003  Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU Lesser
- * General Public License.  See the file COPYING.LIB in the main
- * directory of this archive for more details.
- */
-
-#define __WORDSIZE 32
-
diff --git a/libc/sysdeps/linux/sh64/brk.c b/libc/sysdeps/linux/sh64/brk.c
deleted file mode 100644
index a98cd54..0000000
--- a/libc/sysdeps/linux/sh64/brk.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* From libc-5.3.12 */
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-
-extern void * __curbrk attribute_hidden;
-extern int __init_brk (void) attribute_hidden;
-extern void *_brk(void *ptr) attribute_hidden;
-
-int brk(void * end_data_seg)
-{
-    if (__init_brk () == 0)
-    {
-		__curbrk = _brk(end_data_seg);
-		if (__curbrk == end_data_seg)
-			return 0;
-		__set_errno(ENOMEM);
-    }
-    return -1;
-}
-libc_hidden_def(brk)
diff --git a/libc/sysdeps/linux/sh64/crt1.S b/libc/sysdeps/linux/sh64/crt1.S
deleted file mode 100644
index 6cc3773..0000000
--- a/libc/sysdeps/linux/sh64/crt1.S
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Startup code for SH5 & ELF.
-   Copyright (C) 1999 Free Software Foundation, Inc.
-   Copyright (C) 2001 Hewlett-Packard Australia
-
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-/* This is the canonical entry point, usually the first thing in the text
-   segment.
-
-	At this entry point, most registers' values are unspecified, except:
-
-   sp		The stack contains the arguments and environment:
-   		0(sp)			argc
-		4(sp)			argv[0]
-		...
-		(4*argc)(sp)		NULL
-		(4*(argc+1))(sp)	envp[0]
-		...
-					NULL
-*/
-
-	.file	"crt1.S"
-
-	.globl	_start
-	.type	_start,%function
-	.type	main,%function
-
-	.section .text64,"xa"
-	.align 2	/* 2^2 = 4 */
-
-_start:
-	/* __uClibc_main (main, argc, argv, init, fini) */
-	movi	__main, r18
-	or	r2, r63, r18	
-
-	/* Pop argc off the stack and save a pointer to argv */
-	ld.l	r15, 0, r3	/* argc */
-	addi	r15, 4, r4	/* argv */
-
-	movi	_init, r5
-	movi	_fini, r6
-
-	/* call main() */
-	movi	__uClibc_main, r17
-	ptabs/l	r17, tr0
-	blink	tr0, r18
-
-	/* should never get here....*/
-	movi	abort, r17
-	ptabs/l	r17, tr0
-	blink	tr0, r63	/* call abort() => (r63) do not come back ... */
-
-/*
- *	The following is a stub to stop the GNU toolchain
- *	from calling its C-RTL initialization routines.
- */
-__main:
-	movi	main, r18
-	ptabs/l	r18, tr0
-	blink	tr0, r63
-
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.long 0
-	.weak data_start
-	data_start = __data_start
diff --git a/libc/sysdeps/linux/sh64/crti.S b/libc/sysdeps/linux/sh64/crti.S
deleted file mode 100644
index 597be36..0000000
--- a/libc/sysdeps/linux/sh64/crti.S
+++ /dev/null
@@ -1,42 +0,0 @@
-	.file	"initfini.c"
-	.section	.text..SHmedia32,"ax"
-	.little
-	
-	.section .init
-	.hidden  _init
-	.align 2
-	.global	_init
-	.type	_init, @function
-_init:
-	addi.l	r15, -16, r15
-	st.l	r15, 4, r12
-	movi	(((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) >> 16) & 65535), r12
-	shori	((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) & 65535), r12
-	.LPCS0: ptrel/u	r12, tr0
-	st.l	r15, 8, r14
-	st.l	r15, 12, r18
-	add.l	r15, r63, r14
-	gettr	tr0, r12
-	
-	.align 2
-	
-	
-	.section .fini
-	.hidden  _fini
-	.align 2
-	.global	_fini
-	.type	_fini, @function
-_fini:
-	addi.l	r15, -16, r15
-	st.l	r15, 4, r12
-	movi	(((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) >> 16) & 65535), r12
-	shori	((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) & 65535), r12
-	.LPCS1: ptrel/u	r12, tr0
-	st.l	r15, 8, r14
-	st.l	r15, 12, r18
-	add.l	r15, r63, r14
-	gettr	tr0, r12
-	.align 2
-	
-	
-	.ident	"GCC: (GNU) 3.3.2"
diff --git a/libc/sysdeps/linux/sh64/crtn.S b/libc/sysdeps/linux/sh64/crtn.S
deleted file mode 100644
index 501fe91..0000000
--- a/libc/sysdeps/linux/sh64/crtn.S
+++ /dev/null
@@ -1,31 +0,0 @@
-	.file	"initfini.c"
-	.section	.text..SHmedia32,"ax"
-	.little
-	
-	.section .init
-	.hidden  _init
-	.align 2
-	.global	_init
-	.type	_init, @function
-	add.l	r14, r63, r15
-	ld.l	r15, 12, r18
-	ld.l	r15, 4, r12
-	ld.l	r15, 8, r14
-	ptabs	r18, tr0
-	addi.l	r15, 16, r15
-	blink	tr0, r63
-	
-	.section .fini
-	.hidden  _fini
-	.align 2
-	.global	_fini
-	.type	_fini, @function
-	add.l	r14, r63, r15
-	ld.l	r15, 12, r18
-	ld.l	r15, 4, r12
-	ld.l	r15, 8, r14
-	ptabs	r18, tr0
-	addi.l	r15, 16, r15
-	blink	tr0, r63
-	
-	.ident	"GCC: (GNU) 3.3.2"
diff --git a/libc/sysdeps/linux/sh64/sbrk.c b/libc/sysdeps/linux/sh64/sbrk.c
deleted file mode 100644
index 2dc719a..0000000
--- a/libc/sysdeps/linux/sh64/sbrk.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* From libc-5.3.12 */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-
-extern void * __curbrk attribute_hidden;
-extern int __init_brk (void) attribute_hidden;
-extern void *_brk(void *ptr) attribute_hidden;
-
-void *
-sbrk(intptr_t increment)
-{
-    if (__init_brk () == 0)
-    {
-		char * tmp = (char*)__curbrk+increment;
-		__curbrk = _brk(tmp);
-		if (__curbrk == tmp)
-			return tmp-increment;
-		__set_errno(ENOMEM);
-		return ((void *) -1);
-    }
-    return ((void *) -1);
-}
-libc_hidden_def(sbrk)
diff --git a/libc/sysdeps/linux/sh64/setjmp.S b/libc/sysdeps/linux/sh64/setjmp.S
deleted file mode 100644
index f81961c..0000000
--- a/libc/sysdeps/linux/sh64/setjmp.S
+++ /dev/null
@@ -1,139 +0,0 @@
-/* setjmp for SH-5.
-   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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-
-#define	INTEGER(reg,offset)	st.q	r2, offset*8, reg
-#define	DOUBLE(reg,offset)	fst.d	r2, offset*8, reg
-
-
-	.file	"setjmp.S"
-
-	.section .text64,"xa"
-	.align 2
-
-	.global	__sigsetjmp	
-	.type	__sigsetjmp,@function
-
-__sigsetjmp:
-	/*
-	 *	extern int __sigsetjmp(jmp_buf env, int savemask);
-	 *
-	 *	r2 == env
-	 *	r3 == savemask
-	 *	r4 == temporary
-	 */
-
-			/* callee-save registers R10-R16 */
-	INTEGER(r10, __SETJMP_INT(0))
-	INTEGER(r11, __SETJMP_INT(1))
-	INTEGER(r12, __SETJMP_INT(2))
-	INTEGER(r13, __SETJMP_INT(3))
-	INTEGER(r14, __SETJMP_INT(4))
-	INTEGER(r15, __SETJMP_INT(5))
-	INTEGER(r16, __SETJMP_INT(6))
-
-			/* callee-save registers R28-R35 */
-	INTEGER(r28, __SETJMP_INT(7))
-	INTEGER(r29, __SETJMP_INT(8))
-	INTEGER(r30, __SETJMP_INT(9))
-	INTEGER(r31, __SETJMP_INT(10))
-	INTEGER(r32, __SETJMP_INT(11))
-	INTEGER(r33, __SETJMP_INT(12))
-	INTEGER(r34, __SETJMP_INT(13))
-	INTEGER(r35, __SETJMP_INT(14))
-
-			/* callee-save registers R44-R59 */
-	INTEGER(r44, __SETJMP_INT(15))
-	INTEGER(r45, __SETJMP_INT(16))
-	INTEGER(r46, __SETJMP_INT(17))
-	INTEGER(r47, __SETJMP_INT(18))
-	INTEGER(r48, __SETJMP_INT(19))
-	INTEGER(r49, __SETJMP_INT(20))
-	INTEGER(r50, __SETJMP_INT(21))
-	INTEGER(r51, __SETJMP_INT(22))
-	INTEGER(r52, __SETJMP_INT(23))
-	INTEGER(r53, __SETJMP_INT(24))
-	INTEGER(r54, __SETJMP_INT(25))
-	INTEGER(r55, __SETJMP_INT(26))
-	INTEGER(r56, __SETJMP_INT(27))
-	INTEGER(r57, __SETJMP_INT(28))
-	INTEGER(r58, __SETJMP_INT(29))
-	INTEGER(r59, __SETJMP_INT(30))
-
-	#if __SETJMP_NUM_INT != 31
-	#error	__SETJMP_NUM_INT does agree with expected value
-	#endif
-
-#if __SETJMP_NUM_DBL > 0
-			/* callee-save registers FR12-FR15 */
-	DOUBLE(d12, __SETJMP_DBL(0))
-	DOUBLE(d14, __SETJMP_DBL(1))
-
-			/* callee-save registers FR36-FR63 */
-	DOUBLE(d36, __SETJMP_DBL(2))
-	DOUBLE(d38, __SETJMP_DBL(3))
-	DOUBLE(d40, __SETJMP_DBL(4))
-	DOUBLE(d42, __SETJMP_DBL(5))
-	DOUBLE(d44, __SETJMP_DBL(6))
-	DOUBLE(d46, __SETJMP_DBL(7))
-	DOUBLE(d48, __SETJMP_DBL(8))
-	DOUBLE(d50, __SETJMP_DBL(9))
-	DOUBLE(d52, __SETJMP_DBL(10))
-	DOUBLE(d54, __SETJMP_DBL(11))
-	DOUBLE(d56, __SETJMP_DBL(12))
-	DOUBLE(d58, __SETJMP_DBL(13))
-	DOUBLE(d60, __SETJMP_DBL(14))
-	DOUBLE(d62, __SETJMP_DBL(15))
-
-	#if __SETJMP_NUM_DBL != 16
-	#error	__SETJMP_NUM_DBL does agree with expected value
-	#endif
-
-#endif	/* __SETJMP_NUM_DBL > 0 */
-
-			/* callee-save registers TR5-TR7 */
-	gettr   tr5, r4
-	INTEGER(r4, __SETJMP_TRG(0))
-	gettr   tr6, r4
-	INTEGER(r4, __SETJMP_TRG(1))
-	gettr   tr7, r4
-	INTEGER(r4, __SETJMP_TRG(2))
-
-	#if __SETJMP_NUM_TRG != 3
-	#error	__SETJMP_NUM_TRG does agree with expected value
-	#endif
-
-			/* save Linkage Register (LR) for longjmp return */
-	INTEGER(r18, __SETJMP_LR)
-
-			/*
-			 *	return a value of zero if call is __sigsetjmp().
-			 *	This is so that caller of setjmp() knows
-			 *	we have retruned via setjmp, and not via longjmp.
-			 *	R0 is the result register.
-			 */
-
-	ptabs/l	r18, tr0	/* return to caller */
-	movi	0, r2	/* return value */
-	blink	tr0, r63
-
diff --git a/libc/sysdeps/linux/sh64/sys/procfs.h b/libc/sysdeps/linux/sh64/sys/procfs.h
deleted file mode 100644
index 5fc4c57..0000000
--- a/libc/sysdeps/linux/sh64/sys/procfs.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H	1
-
-/* This is somehow modelled after the file of the same name on SysVr4
-   systems.  It provides a definition of the core file format for ELF
-   used on Linux.  */
-
-#include <features.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/ucontext.h>
-#include <sys/user.h>
-
-__BEGIN_DECLS
-
-/*
- * ELF register definitions...
- */
-typedef unsigned long elf_greg_t;
-
-#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-typedef struct user_fpu_struct elf_fpregset_t;
-
-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.  */
-    long pr_uid;
-    long pr_gid;
-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
-    /* Lots missing */
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
-  };
-
-
-/* Addresses.  */
-typedef void *psaddr_t;
-
-/* Register sets.  Linux has different names.  */
-typedef elf_gregset_t prgregset_t;
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
-   therefore habe only ine PID type.  */
-typedef __pid_t lwpid_t;
-
-
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif	/* sys/procfs.h */
diff --git a/libc/sysdeps/linux/sh64/sys/ucontext.h b/libc/sysdeps/linux/sh64/sys/ucontext.h
deleted file mode 100644
index 7369559..0000000
--- a/libc/sysdeps/linux/sh64/sys/ucontext.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/* Copyright (C) 1999, 2000, 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-/* Where is System V/SH ABI?  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-/* We need the signal context definitions even if they are not used
-   included in <signal.h>.  */
-#include <bits/sigcontext.h>
-
-
-typedef long long greg_t;
-
-/* Number of general registers.  */
-#define NGREG	64
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  R0 = 0,
-#define R0	R0
-  R1 = 1,
-#define R1	R1
-  R2 = 2,
-#define R2	R2
-  R3 = 3,
-#define R3	R3
-  R4 = 4,
-#define R4	R4
-  R5 = 5,
-#define R5	R5
-  R6 = 6,
-#define R6	R6
-  R7 = 7,
-#define R7	R7
-  R8 = 8,
-#define R8	R8
-  R9 = 9,
-#define R9	R9
-  R10 = 10,
-#define R10	R10
-  R11 = 11,
-#define R11	R11
-  R12 = 12,
-#define R12	R12
-  R13 = 13,
-#define R13	R13
-  R14 = 14,
-#define R14	R14
-  R15 = 15,
-#define R15	R15
-  R16 = 16,
-#define R16	R16
-  R17 = 17,
-#define R17	R17
-  R18 = 18,
-#define R18	R18
-  R19 = 19,
-#define R19	R19
-  R20 = 20,
-#define R20	R20
-  R21 = 21,
-#define R21	R21
-  R22 = 22,
-#define R22	R22
-  R23 = 23,
-#define R23	R23
-  R24 = 24,
-#define R24	R24
-  R25 = 25,
-#define R25	R25
-  R26 = 26,
-#define R26	R26
-  R27 = 27,
-#define R27	R27
-  R28 = 28,
-#define R28	R28
-  R29 = 29,
-#define R29	R29
-  R30 = 30,
-#define R30	R30
-  R31 = 31,
-#define R31	R31
-  R32 = 32,
-#define R32	R32
-  R33 = 33,
-#define R33	R33
-  R34 = 34,
-#define R34	R34
-  R35 = 35,
-#define R35	R35
-  R36 = 36,
-#define R36	R36
-  R37 = 37,
-#define R37	R37
-  R38 = 38,
-#define R38	R38
-  R39 = 39,
-#define R39	R39
-  R40 = 40,
-#define R40	R40
-  R41 = 41,
-#define R41	R41
-  R42 = 42,
-#define R42	R42
-  R43 = 43,
-#define R43	R43
-  R44 = 44,
-#define R44	R44
-  R45 = 45,
-#define R45	R45
-  R46 = 46,
-#define R46	R46
-  R47 = 47,
-#define R47	R47
-  R48 = 48,
-#define R48	R48
-  R49 = 49,
-#define R49	R49
-  R50 = 50,
-#define R50	R50
-  R51 = 51,
-#define R51	R51
-  R52 = 52,
-#define R52	R52
-  R53 = 53,
-#define R53	R53
-  R54 = 54,
-#define R54	R54
-  R55 = 55,
-#define R55	R55
-  R56 = 56,
-#define R56	R56
-  R57 = 57,
-#define R57	R57
-  R58 = 58,
-#define R58	R58
-  R59 = 59,
-#define R59	R59
-  R60 = 60,
-#define R60	R60
-  R61 = 61,
-#define R61	R61
-  R62 = 62,
-#define R62	R62
-  R63 = 63,
-#define R63	R63
-};
-#endif
-
-typedef int freg_t;
-
-/* Number of FPU registers.  */
-#define NFPREG	32
-
-/* Structure to describe FPU registers.  */
-typedef freg_t fpregset_t[NFPREG];
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    gregset_t gregs;
-    fpregset_t fpregs;
-    unsigned long long sc_tregs[8];
-    unsigned long long sc_pc;
-    unsigned long long sc_sr;
-    unsigned long long sc_fpscr;
-
-  } mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long int uc_flags;
-    struct ucontext *uc_link;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    __sigset_t uc_sigmask;
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/libc/sysdeps/linux/sh64/syscall.c b/libc/sysdeps/linux/sh64/syscall.c
deleted file mode 100644
index a6c55eb..0000000
--- a/libc/sysdeps/linux/sh64/syscall.c
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-#include <features.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/syscall.h>
-
-long syscall(long sysnum,
-		long arg1, long arg2, long arg3,
-		long arg4, long arg5, long arg6)
-{
-register long __sc0 __asm__ ("r9") = ((0x16 << 16) | sysnum);
-register long __sc2 __asm__ ("r2") = (long) arg1;
-register long __sc3 __asm__ ("r3") = (long) arg2;
-register long __sc4 __asm__ ("r4") = (long) arg3;
-register long __sc5 __asm__ ("r5") = (long) arg4;
-register long __sc6 __asm__ ("r6") = (long) arg5;
-register long __sc7 __asm__ ("r7") = (long) arg6;
-__asm__ __volatile__ ("trapa	%1" \
-	: "=r" (__sc0) \
-	: "r" (__sc0), "r" (__sc2), "r" (__sc3), "r" (__sc4), "r" (__sc5), \
-	  "r" (__sc6), "r" (__sc7));
-__syscall_return(long,__sc0);
-}
diff --git a/libc/sysdeps/linux/sparc/soft-fp/longlong.h b/libc/sysdeps/linux/sparc/soft-fp/longlong.h
index ccff2d8..9eebae3 100644
--- a/libc/sysdeps/linux/sparc/soft-fp/longlong.h
+++ b/libc/sysdeps/linux/sparc/soft-fp/longlong.h
@@ -1197,51 +1197,6 @@ UDItype __umulsidi3 (USItype, USItype);
 #define UDIV_TIME 230
 #endif /* sparc64 */
 
-#if defined (__vax__) && W_TYPE_SIZE == 32
-#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-  __asm__ ("addl2 %5,%1\n\tadwc %3,%0"					\
-	   : "=g" ((USItype) (sh)),					\
-	     "=&g" ((USItype) (sl))					\
-	   : "%0" ((USItype) (ah)),					\
-	     "g" ((USItype) (bh)),					\
-	     "%1" ((USItype) (al)),					\
-	     "g" ((USItype) (bl)))
-#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-  __asm__ ("subl2 %5,%1\n\tsbwc %3,%0"					\
-	   : "=g" ((USItype) (sh)),					\
-	     "=&g" ((USItype) (sl))					\
-	   : "0" ((USItype) (ah)),					\
-	     "g" ((USItype) (bh)),					\
-	     "1" ((USItype) (al)),					\
-	     "g" ((USItype) (bl)))
-#define umul_ppmm(xh, xl, m0, m1) \
-  do {									\
-    union {								\
-	UDItype __ll;							\
-	struct {USItype __l, __h;} __i;					\
-      } __xx;								\
-    USItype __m0 = (m0), __m1 = (m1);					\
-    __asm__ ("emul %1,%2,$0,%0"						\
-	     : "=r" (__xx.__ll)						\
-	     : "g" (__m0),						\
-	       "g" (__m1));						\
-    (xh) = __xx.__i.__h;						\
-    (xl) = __xx.__i.__l;						\
-    (xh) += ((((SItype) __m0 >> 31) & __m1)				\
-	     + (((SItype) __m1 >> 31) & __m0));				\
-  } while (0)
-#define sdiv_qrnnd(q, r, n1, n0, d) \
-  do {									\
-    union {DItype __ll;							\
-	   struct {SItype __l, __h;} __i;				\
-	  } __xx;							\
-    __xx.__i.__h = n1; __xx.__i.__l = n0;				\
-    __asm__ ("ediv %3,%2,%0,%1"						\
-	     : "=g" (q), "=g" (r)					\
-	     : "g" (__xx.__ll), "g" (d));				\
-  } while (0)
-#endif /* __vax__ */
-
 #if defined (__xtensa__) && W_TYPE_SIZE == 32
 /* This code is not Xtensa-configuration-specific, so rely on the compiler
    to expand builtin functions depending on what configuration features
diff --git a/libc/sysdeps/linux/vax/Makefile b/libc/sysdeps/linux/vax/Makefile
deleted file mode 100644
index b1bf1ef..0000000
--- a/libc/sysdeps/linux/vax/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2005 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-TOPDIR=../../../../
-
-top_srcdir=$(TOPDIR)
-top_builddir=../../../../
-all: objs
-include $(top_builddir)Rules.mak
-include Makefile.arch
-include $(top_srcdir)Makerules
diff --git a/libc/sysdeps/linux/vax/Makefile.arch b/libc/sysdeps/linux/vax/Makefile.arch
deleted file mode 100644
index 04ed101..0000000
--- a/libc/sysdeps/linux/vax/Makefile.arch
+++ /dev/null
@@ -1,10 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
-# Copyright (C) 2005-2006 Jan-Benedict Glaw <jbglaw(a)lug-owl.de>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-CSRC-y := brk.c
-SSRC-y := __longjmp.S setjmp.S _setjmp.S clone.S
diff --git a/libc/sysdeps/linux/vax/__longjmp.S b/libc/sysdeps/linux/vax/__longjmp.S
deleted file mode 100644
index 61b37a3..0000000
--- a/libc/sysdeps/linux/vax/__longjmp.S
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <features.h>
-
-/*
- * longjmp.S	atp sept 2001
- *		Jan-Benedict Glaw <jbglaw(a)lug-owl.de> 2006
- *
- * Restore regs and info and jmp back to a previous setjmp
- */
-
-.globl	__longjmp
-.align	4
-__longjmp:
-	.word	0x0040		/* This matches setjmp and PLT	*/
-	movl	0x4(%ap), %r0	/* Our scratch reg		*/
-/*	movl	$0, %r0						*/
-/*	movl	(%r0), %r0					*/
-	/* We are going to modify our stack frame		*/
-	/* to the same as that of the setjmp we called earlier	*/
-	movl	(%r0), (%fp)		/* cond handler		*/
-	movl	0x4(%r0), 0x4(%fp)	/* psw			*/
-	movl	0x8(%r0), 0x8(%fp)	/* ap			*/
-	movl	0xc(%r0), 0xc(%fp)	/* fp			*/
-	movl	0x10(%r0), 0x10(%fp)	/* pc			*/
-
-	/* Restore the regs					*/
-	movl	0x14(%r0), %r1
-	movl	0x18(%r0), %r2
-	movl	0x1c(%r0), %r3
-	movl	0x20(%r0), %r4
-	movl	0x24(%r0), %r5
-	movl	0x28(%r0), %r6
-	movl	0x2c(%r0), %r7
-	movl	0x30(%r0), %r8
-	movl	0x34(%r0), %r9
-	movl	0x38(%r0), %r10
-	movl	0x3c(%r0), %r11
-
-	/* Check val and set to 1 if set to zero		*/
-	movl	0x8(%ap), %r0
-	tstl	%r0
-	bneq	exit_ok
-	movl	$0x1, %r0
-exit_ok:
-	ret
-.size __longjmp,.-__longjmp
-libc_hidden_def(__longjmp)
-
diff --git a/libc/sysdeps/linux/vax/_setjmp.S b/libc/sysdeps/linux/vax/_setjmp.S
deleted file mode 100644
index 680ddd7..0000000
--- a/libc/sysdeps/linux/vax/_setjmp.S
+++ /dev/null
@@ -1,53 +0,0 @@
-.globl _setjmp
-.align 4
-_setjmp:
-	.word	0x0040
-
-	/* push an empty word onto the stack */
-	pushl	$0
-
-	/* now copy handler, psw, ap, fp and pc on the stack up one word */
-	movl	4(%sp), (%sp)		/* copy handler */
-	movl	8(%sp), 4(%sp)		/* psw */
-	movl	12(%sp), 8(%sp)		/* ap */
-	movl	16(%sp), 12(%sp)	/* fp */
-	movl	20(%sp), 16(%sp)	/* pc */
-	movl	24(%sp), 20(%sp)	/* r6 from register mask */
-
-	movl	$2, 24(%sp)		/* set the number of arguments to 2 */
-	movl	32(%sp), 28(%sp)	/* copy the jmp_buf */
-	movl	$1, 32(%sp)		/* put the 1 on the stack */
-
-	addl3	$24, %sp, %ap
-	movl	%sp, %fp
-
-	moval	__sigsetjmp, %r0
-	addl2	$2, %r0
-	pushl	%r0
-	rsb
-
-.globl setjmp
-.align 4
-setjmp:
-	.word	0x0040
-	pushl	$0
-
-	/* now copy handler, psw, ap, fp and pc on the stack up one word */
-	movl	4(%sp), (%sp)
-	movl	8(%sp), 4(%sp)
-	movl	12(%sp), 8(%sp)
-	movl	16(%sp), 12(%sp)
-	movl	20(%sp), 16(%sp)
-	movl	24(%sp), 20(%sp)	/* r6 from register mask */
-
-	movl	$2, 24(%sp)		/* set the number of arguments to 2 */
-	movl	32(%sp), 28(%sp)	/* copy the jmp_buf */
-	movl	$0, 32(%sp)		/* put the 0 on the stack */
-
-	addl3	$24, %sp, %ap
-	movl	%sp, %fp
-
-	moval	__sigsetjmp, %r0
-	addl2	$2, %r0
-	pushl	%r0
-	rsb
diff --git a/libc/sysdeps/linux/vax/bits/endian.h b/libc/sysdeps/linux/vax/bits/endian.h
deleted file mode 100644
index 9f0c4e2..0000000
--- a/libc/sysdeps/linux/vax/bits/endian.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* VAX is little endian */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#define __BYTE_ORDER __LITTLE_ENDIAN
-
-/*#define __FLOAT_WORD_ORDER __BIG_ENDIAN*/
diff --git a/libc/sysdeps/linux/vax/bits/fcntl.h b/libc/sysdeps/linux/vax/bits/fcntl.h
deleted file mode 100644
index a30d5e1..0000000
--- a/libc/sysdeps/linux/vax/bits/fcntl.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 1995, 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#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		  0100	/* not fcntl */
-#define O_EXCL		  0200	/* not fcntl */
-#define O_NOCTTY	  0400	/* not fcntl */
-#define O_TRUNC		 01000	/* not fcntl */
-#define O_APPEND	 02000
-#define O_NONBLOCK	 04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC		010000
-#define O_FSYNC		O_SYNC
-#define O_ASYNC		020000
-
-#ifdef __USE_GNU
-# define O_DIRECTORY	040000	/* Must be a directory.  */
-# define O_NOFOLLOW	0100000	/* Do not follow links.  */
-#endif
-
-/* XXX missing */
-#ifdef __USE_LARGEFILE64
-# 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		5	/* Get record locking info.  */
-#define F_SETLK		6	/* Set record locking info (non-blocking).  */
-#define F_SETLKW	7	/* Set record locking info (blocking).  */
-
-/* XXX missing */
-#define F_GETLK64	5	/* Get record locking info.  */
-#define F_SETLK64	6	/* Set record locking info (non-blocking).  */
-#define F_SETLKW64	7	/* Set record locking info (blocking).  */
-
-#ifdef __USE_BSD
-# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	9	/* 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 on new fd.  */
-# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */
-#endif
-
-/* For F_[GET|SET]FL.  */
-#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		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.  */
-#define F_UNLCK		2	/* Remove lock.  */
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation */
-# define LOCK_SH	1	/* shared lock */
-# define LOCK_EX	2	/* exclusive lock */
-# define LOCK_NB	4	/* or'd with one of the above to prevent
-				   blocking */
-# define LOCK_UN	8	/* remove lock */
-#endif
-
-struct flock
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-#ifndef __USE_FILE_OFFSET64
-    __off_t l_start;	/* Offset where the lock begins.  */
-    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#else
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#endif
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
-  {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-#endif
-
-/* 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
-
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-/* 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
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-
-/* 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/libc/sysdeps/linux/vax/bits/huge_val.h b/libc/sysdeps/linux/vax/bits/huge_val.h
deleted file mode 100644
index f479021..0000000
--- a/libc/sysdeps/linux/vax/bits/huge_val.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* `HUGE_VAL' constant for Vaxen.
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   Copyright (C) 1992, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
-#endif
-
-
-#define	   HUGE_VAL	1.70141182460469227e38
diff --git a/libc/sysdeps/linux/vax/bits/ipc.h b/libc/sysdeps/linux/vax/bits/ipc.h
deleted file mode 100644
index e4dba68..0000000
--- a/libc/sysdeps/linux/vax/bits/ipc.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1995, 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_IPC_H
-# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Mode bits for `msgget', `semget', and `shmget'.  */
-#define IPC_CREAT	01000		/* Create key if key does not exist. */
-#define IPC_EXCL	02000		/* Fail if key exists.  */
-#define IPC_NOWAIT	04000		/* Return error on wait.  */
-
-/* Control commands for `msgctl', `semctl', and `shmctl'.  */
-#define IPC_RMID	0		/* Remove identifier.  */
-#define IPC_SET		1		/* Set `ipc_perm' options.  */
-#define IPC_STAT	2		/* Get `ipc_perm' options.  */
-#define IPC_INFO	3		/* See ipcs.  */
-
-/* Special key values.  */
-#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
-
-
-/* Data structure used to pass permission information to IPC operations.  */
-struct ipc_perm
-  {
-    __key_t __key;			/* Key.  */
-    unsigned short int uid;		/* Owner's user ID.  */
-    unsigned short int gid;		/* Owner's group ID.  */
-    unsigned short int cuid;		/* Creator's user ID.  */
-    unsigned short int cgid;		/* Creator's group ID.  */
-    unsigned short int mode;		/* Read/write permission.  */
-    unsigned short int __seq;		/* Sequence number.  */
-  };
diff --git a/libc/sysdeps/linux/vax/bits/kernel_stat.h b/libc/sysdeps/linux/vax/bits/kernel_stat.h
deleted file mode 100644
index a6da833..0000000
--- a/libc/sysdeps/linux/vax/bits/kernel_stat.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BITS_STAT_STRUCT_H
-#define _BITS_STAT_STRUCT_H
-
-/* This file provides whatever this particular arch's kernel thinks
- * struct stat should look like...  It turns out each arch has a
- * different opinion on the subject... */
-
-struct kernel_stat {
-	unsigned short st_dev;
-	unsigned short __pad1;
-	unsigned long st_ino;
-	unsigned short st_mode;
-	unsigned short st_nlink;
-	unsigned short st_uid;
-	unsigned short st_gid;
-	unsigned short st_rdev;
-	unsigned short __pad2;
-	unsigned long  st_size;
-	unsigned long  st_blksize;
-	unsigned long  st_blocks;
-	struct timespec st_atim;
-	struct timespec st_mtim;
-	struct timespec st_ctim;
-	unsigned long  __unused4;
-	unsigned long  __unused5;
-};
-
-struct kernel_stat64 {
-	unsigned short	st_dev;
-	unsigned char	__pad0[10];
-#define _HAVE_STAT64___ST_INO 1
-	unsigned long	__st_ino;
-	unsigned int	st_mode;
-	unsigned int	st_nlink;
-	unsigned long	st_uid;
-	unsigned long	st_gid;
-	unsigned short	st_rdev;
-	unsigned char	__pad3[10];
-	long long	st_size;
-	unsigned long	st_blksize;
-	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
-	unsigned long	__pad4;		/* future possible st_blocks high bits */
-	struct timespec	st_atim;
-	struct timespec	st_mtim;
-	struct timespec	st_ctim;
-	unsigned long long	st_ino;
-};
-
-#endif	/*  _BITS_STAT_STRUCT_H */
-
diff --git a/libc/sysdeps/linux/vax/bits/kernel_types.h b/libc/sysdeps/linux/vax/bits/kernel_types.h
deleted file mode 100644
index aef74b5..0000000
--- a/libc/sysdeps/linux/vax/bits/kernel_types.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _VAX_POSIX_TYPES_H
-#define _VAX_POSIX_TYPES_H
-/*
- * Note that we use the exact same include guard #define names
- * as asm/posix_types.h.  This will avoid gratuitous conflicts
- * with the posix_types.h kernel header, and will ensure that
- * our private content, and not the kernel header, will win.
- *  -Erik
- */
-
-
-typedef unsigned short	__kernel_dev_t;
-typedef unsigned long	__kernel_ino_t;
-typedef unsigned short	__kernel_mode_t;
-typedef unsigned short	__kernel_nlink_t;
-typedef long		__kernel_off_t;
-typedef int		__kernel_pid_t;
-typedef unsigned short	__kernel_ipc_pid_t;
-typedef unsigned short	__kernel_uid_t;
-typedef unsigned short	__kernel_gid_t;
-typedef unsigned int	__kernel_size_t;
-typedef int		__kernel_ssize_t;
-typedef int		__kernel_ptrdiff_t;
-typedef long		__kernel_time_t;
-typedef long		__kernel_suseconds_t;
-typedef long		__kernel_clock_t;
-typedef int		__kernel_daddr_t;
-typedef char *		__kernel_caddr_t;
-typedef unsigned short	__kernel_uid16_t;
-typedef unsigned short	__kernel_gid16_t;
-typedef unsigned int	__kernel_uid32_t;
-typedef unsigned int	__kernel_gid32_t;
-typedef unsigned short	__kernel_old_uid_t;
-typedef unsigned short	__kernel_old_gid_t;
-typedef long long	__kernel_loff_t;
-
-typedef struct {
-#if defined(__KERNEL__) || defined(__USE_ALL)
-	int val[2];
-#else
-	int __val[2];
-#endif
-} __kernel_fsid_t;
-
-#endif /* _VAX_POSIX_TYPES_H */
diff --git a/libc/sysdeps/linux/vax/bits/sem.h b/libc/sysdeps/linux/vax/bits/sem.h
deleted file mode 100644
index 99f76a0..0000000
--- a/libc/sysdeps/linux/vax/bits/sem.h
+++ /dev/null
@@ -1,86 +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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_SEM_H
-# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Flags for `semop'.  */
-#define SEM_UNDO	0x1000		/* undo the operation on exit */
-
-/* Commands for `semctl'.  */
-#define GETPID		11		/* get sempid */
-#define GETVAL		12		/* get semval */
-#define GETALL		13		/* get all semval's */
-#define GETNCNT		14		/* get semncnt */
-#define GETZCNT		15		/* get semzcnt */
-#define SETVAL		16		/* set semval */
-#define SETALL		17		/* set all semval's */
-
-
-/* Data structure describing a set of semaphores.  */
-struct semid_ds
-{
-  struct ipc_perm sem_perm;		/* operation permission struct */
-  __time_t sem_otime;			/* last semop() time */
-  unsigned long int __unused1;
-  __time_t sem_ctime;			/* last time changed by semctl() */
-  unsigned long int __unused2;
-  unsigned long int sem_nsems;		/* number of semaphores in set */
-  unsigned long int __unused3;
-  unsigned long int __unused4;
-};
-
-/* 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/libc/sysdeps/linux/vax/bits/setjmp.h b/libc/sysdeps/linux/vax/bits/setjmp.h
deleted file mode 100644
index 06b00e5..0000000
--- a/libc/sysdeps/linux/vax/bits/setjmp.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Define the machine-dependent type `jmp_buf'.  Vax version. */
-
-#ifndef _SETJMP_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-/* we want to save enough that we can use this to fool RET,
- * So we basically save all of the CALLS stack frame. Plus regs. */
-typedef int __jmp_buf[16];
-
-/*
-	jmp_buf layout. jmp_buf[0]
-	void *__cond;		 The condition handler
-	void *__psw;		 mask and PSW bits
-        void *__ap;		 argument pointer
-	void *__fp;		 frame pointer
-	void *__pc;		 program counter
-			         no need to save r0
-	void *__r1;		 regs, r0->r11.
-	void *__r2;		 regs, r0->r11.
-	void *__r3;		 regs, r0->r11.
-	void *__r4;		 regs, r0->r11.
-	void *__r5;		 regs, r0->r11.
-	void *__r6;		 regs, r0->r11.
-	void *__r7;		 regs, r0->r11.
-	void *__r8;		 regs, r0->r11.
-	void *__r9;		 regs, r0->r11.
-	void *__rA;		 regs, r0->r11.
-	void *__rB;		 regs, r0->r11.
-*/
diff --git a/libc/sysdeps/linux/vax/bits/shm.h b/libc/sysdeps/linux/vax/bits/shm.h
deleted file mode 100644
index d271bed..0000000
--- a/libc/sysdeps/linux/vax/bits/shm.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_SHM_H
-# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Permission flag for shmget.  */
-#define SHM_R		0400		/* or S_IRUGO from <linux/stat.h> */
-#define SHM_W		0200		/* or S_IWUGO from <linux/stat.h> */
-
-/* Flags for `shmat'.  */
-#define SHM_RDONLY	010000		/* attach read-only else read-write */
-#define SHM_RND		020000		/* round attach address to SHMLBA */
-#define SHM_REMAP	040000		/* take-over region on attach */
-
-/* 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 short int shmatt_t;
-
-/* Data structure describing a set of semaphores.  */
-struct shmid_ds
-  {
-    struct 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() */
-    __pid_t shm_cpid;			/* pid of creator */
-    __pid_t shm_lpid;			/* pid of last shmop */
-    shmatt_t shm_nattch;		/* number of current attaches */
-    unsigned short int __shm_npages;	/* size of segment (pages) */
-    unsigned long int *__shm_pages;	/* array of ptrs to frames -> SHMMAX */
-    struct vm_area_struct *__attaches;	/* descriptors for attaches */
-  };
-
-#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 */
-
-struct	shminfo
-  {
-    int shmmax;
-    int shmmin;
-    int shmmni;
-    int shmseg;
-    int shmall;
-  };
-
-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/libc/sysdeps/linux/vax/bits/sigcontext.h b/libc/sysdeps/linux/vax/bits/sigcontext.h
deleted file mode 100644
index e619694..0000000
--- a/libc/sysdeps/linux/vax/bits/sigcontext.h
+++ /dev/null
@@ -1,28 +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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
-# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-#endif
-
-#ifndef sigcontext_struct
-/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
-   we need sigcontext.  */
-# define sigcontext_struct sigcontext
-
-# include <asm/sigcontext.h>
-#endif
diff --git a/libc/sysdeps/linux/vax/bits/stackinfo.h b/libc/sysdeps/linux/vax/bits/stackinfo.h
deleted file mode 100644
index 4bdad49..0000000
--- a/libc/sysdeps/linux/vax/bits/stackinfo.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _VAX_BITS_STACKINFO_H
-#define _VAX_BITS_STACKINFO_H
-
-/* On VAXen, the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif /* _VAX_BITS_STACKINFO_H */
diff --git a/libc/sysdeps/linux/vax/bits/syscalls.h b/libc/sysdeps/linux/vax/bits/syscalls.h
deleted file mode 100644
index 101aacb..0000000
--- a/libc/sysdeps/linux/vax/bits/syscalls.h
+++ /dev/null
@@ -1,258 +0,0 @@
-#ifndef _BITS_SYSCALLS_H
-#define _BITS_SYSCALLS_H
-#ifndef _SYSCALL_H
-# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
-#endif
-
-#ifndef __ASSEMBLER__
-
-#include <errno.h>
-
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-#undef _syscall_return
-#define _syscall_return(type)							\
-	do {									\
-		if ((unsigned long) (_sc_ret) >= (unsigned long) (-125)) {	\
-			__set_errno(-_sc_ret);					\
-			_sc_ret = -1;						\
-		}								\
-										\
-		return (type) (_sc_ret);					\
-	} while (0)
-
-#define _syscall_clobbers		\
-	"r1",  "r2",  "r3",  "r4",	\
-	"r5",  "r6",  "r7",  "r8",	\
-	"r9", "r10", "r11"
-
-#ifdef _syscall0
-#	undef _syscall0
-#endif
-#define _syscall0(type, name)						\
-type name (void)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	$0x0		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$4, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall1
-#	undef _syscall1
-#endif
-#define _syscall1(type, name, type1, arg1)				\
-type name (type1 arg1)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x1		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$8, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall2
-#	undef _syscall2
-#endif
-#define _syscall2(type, name, type1, arg1, type2, arg2)			\
-type name (type1 arg1,							\
-	   type2 arg2)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%3		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x2		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$12, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1),							\
-	  "m" (arg2)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall3
-#	undef _syscall3
-#endif
-#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)	\
-type name (type1 arg1,							\
-	   type2 arg2,							\
-	   type3 arg3)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%4		\n"				\
-	"	pushl	%3		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x3		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$16, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1),							\
-	  "m" (arg2),							\
-	  "m" (arg3)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall4
-#	undef _syscall4
-#endif
-#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3,	\
-		type4, arg4)						\
-type name (type1 arg1,							\
-	   type2 arg2,							\
-	   type3 arg3,							\
-	   type4 arg4)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%5		\n"				\
-	"	pushl	%4		\n"				\
-	"	pushl	%3		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x4		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$20, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1),							\
-	  "m" (arg2),							\
-	  "m" (arg3),							\
-	  "m" (arg4)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall5
-#	undef _syscall5
-#endif
-#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3,	\
-		type4, arg4, type5, arg5)				\
-type name (type1 arg1,							\
-	   type2 arg2,							\
-	   type3 arg3,							\
-	   type4 arg4,							\
-	   type5 arg5)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%6		\n"				\
-	"	pushl	%5		\n"				\
-	"	pushl	%4		\n"				\
-	"	pushl	%3		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x5		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$24, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1),							\
-	  "m" (arg2),							\
-	  "m" (arg3),							\
-	  "m" (arg4),							\
-	  "m" (arg5)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#ifdef _syscall6
-#	undef _syscall6
-#endif
-#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3,	\
-		type4, arg4, type5, arg5, type6, arg6)			\
-type name (type1 arg1,							\
-	   type2 arg2,							\
-	   type3 arg3,							\
-	   type4 arg4,							\
-	   type5 arg5,							\
-	   type6 arg6)							\
-{									\
-	register long _sc_0 __asm__("r0") = SYS_ify (name);		\
-	long _sc_ret;							\
-									\
-	__asm__ __volatile__ (						\
-	"	pushl	%%ap		\n"				\
-	"	pushl	%7		\n"				\
-	"	pushl	%6		\n"				\
-	"	pushl	%5		\n"				\
-	"	pushl	%4		\n"				\
-	"	pushl	%3		\n"				\
-	"	pushl	%2		\n"				\
-	"	pushl	$0x6		\n"				\
-	"	movl	%%sp, %%ap	\n"				\
-	"	chmk	%%r0		\n"				\
-	"	addl2	$28, %%sp	\n"				\
-	"	movl	(%%sp)+, %%ap	\n"				\
-	: "=r" (_sc_0)							\
-	: "0" (_sc_0),							\
-	  "m" (arg1),							\
-	  "m" (arg2),							\
-	  "m" (arg3),							\
-	  "m" (arg4),							\
-	  "m" (arg5),							\
-	  "m" (arg6)							\
-	: _syscall_clobbers);						\
-									\
-	_sc_ret = _sc_0;						\
-	_syscall_return (type);						\
-}
-
-#endif /* __ASSEMBLER__ */
-#endif /* _BITS_SYSCALLS_H */
diff --git a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h b/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
deleted file mode 100644
index c2b189d..0000000
--- a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Track misc arch-specific features that aren't config options
- */
-
-#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
-#define _BITS_UCLIBC_ARCH_FEATURES_H
-
-/* instruction used when calling abort() to kill yourself */
-#define __UCLIBC_ABORT_INSTRUCTION__	"halt"
-
-/* can your target use syscall6() for mmap ? */
-#define __UCLIBC_MMAP_HAS_6_ARGS__
-
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
-
-/* does your target have a broken create_module() ? */
-#undef __UCLIBC_BROKEN_CREATE_MODULE__
-
-/* does your target have to worry about older [gs]etrlimit() ? */
-#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
-
-/* does your target have an asm .set ? */
-#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-
-/* define if target supports .weak */
-#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-
-/* define if target supports .weakext */
-#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-
-/* define if target supports CFI pseudo ops */
-#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
-
-/* define if target supports IEEE signed zero floats */
-#undef __UCLIBC_HAVE_SIGNED_ZERO__
-
-/* only weird assemblers generally need this */
-#undef __UCLIBC_ASM_LINE_SEP__
-
-#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/libc/sysdeps/linux/vax/bits/wordsize.h b/libc/sysdeps/linux/vax/bits/wordsize.h
deleted file mode 100644
index cbe1418..0000000
--- a/libc/sysdeps/linux/vax/bits/wordsize.h
+++ /dev/null
@@ -1,18 +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 Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#define __WORDSIZE	32
diff --git a/libc/sysdeps/linux/vax/brk.c b/libc/sysdeps/linux/vax/brk.c
deleted file mode 100644
index b67922d..0000000
--- a/libc/sysdeps/linux/vax/brk.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* brk system call for Linux/VAX.
-   Copyright (C) 2000, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-
-/* This must be initialized data because commons can't have aliases.  */
-void *__curbrk attribute_hidden = NULL;
-
-int
-brk (void *addr)
-{
-	register unsigned long int result __asm__ ("%%r0");
-
-	__asm__ (
-	"	pushl	%%ap		\n"	/* Start frame				*/
-	"	pushl	%2		\n"	/* New top address we wish to get	*/
-	"	pushl	$1		\n"	/* One argument				*/
-	"	movl	%%sp, %%ap	\n"	/* Finish frame				*/
-	"	chmk	%1		\n"	/* Perform the system call		*/
-	"	addl2	$8, %%sp	\n"	/* Remove pushed arg			*/
-	"	movl	(%%sp)+, %%ap	\n"	/* Get back %AP				*/
-	: "=r" (result)
-	: "0" (__NR_brk),
-	  "g" (addr));
-
-	if ((void *) result < addr) {
-		__set_errno (ENOMEM);
-		return -1;
-	} else
-		__curbrk = (void *) result;
-
-	return 0;
-}
-libc_hidden_def(brk)
-
diff --git a/libc/sysdeps/linux/vax/clone.S b/libc/sysdeps/linux/vax/clone.S
deleted file mode 100644
index 6eb1927..0000000
--- a/libc/sysdeps/linux/vax/clone.S
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-/* clone() is even more special than fork() as it mucks with stacks
-   and invokes a function in the right context after its all over.  */
-
-#include <sys/syscall.h>
-
-#warning "This file contains a hardcoded constant for SYS_clone"
-
-.section	.rodata
-		.align 2
-.LC0:		.long 120	/* SYS_clone */
-.align 4
-.text
-.type	clone,@function
-.globl	clone;
-clone:
-	.word 0x0040
-	/* subl2	$8, %sp	*/
-	movl	4(%ap), %r1
-	movl	8(%ap), %r0
-	mcoml	$21, %r6
-
-	/* Sanity check args.  */
-	tstl	%r1
-	jeql	CLONE_ERROR_LABEL
-	tstl	%r0
-	jeql	CLONE_ERROR_LABEL
-
-	/* Need to setup the child stack the same as the parent.  */
-	subl2	$24, %r0
-	movl	16(%ap), 20(%r0)
-	movl	%r1, 16(%r0)
-	movl	%r0, %r1
-	addl2	$16, %r1
-	movl	%r1, 12(%r0)
-
-	/* Do the system call.  */
-	pushl	%ap
-	pushl	%r0
-        pushl	12(%ap)
-	pushl	$0x2
-	movl	%sp, %ap
-        chmk	.LC0	/* %r0 .LC0 -4(%fp) -8(%fp) */
-	addl2	$12, %sp
-	movl	(%sp)+, %ap
-	movl	%r0, %r6
-	jneq	CLONE_ERROR_LABEL
-
-	movl	$0, %fp
-	pushl	4(%ap)
-	movl	(%r1), %r0
-	calls	$1, (%r0)
-	pushl	%r0
-	calls	$1, HIDDEN_JUMPTARGET(_exit)
-
-CLONE_ERROR_LABEL:
-	cmpl	%r6, $-126	/* -ENOKEY?!?! Fuck, this must be wrong! FIXME */
-	jlequ	CLONE_RETURN_LABEL
-	calls	$0, __errno_location
-	mnegl	%r6, (%r0)
-	mcoml	$0, %r6
-	movl	%r6, %r0
-	ret
-
-CLONE_RETURN_LABEL:
-	ret
-
-.size clone,.-clone
-
diff --git a/libc/sysdeps/linux/vax/crt1.S b/libc/sysdeps/linux/vax/crt1.S
deleted file mode 100644
index 7096098..0000000
--- a/libc/sysdeps/linux/vax/crt1.S
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * crt0 for VAX
- */
-
-/*
- * Program stack looks like:
- * sp->	argc            argument counter (integer)
- *	argv[0]         program name (pointer)
- *	argv[1...N]     program args (pointers)
- *	argv[argc-1]    end of args (integer)
- *	NULL
- *	env[0...N]      environment variables (pointers)
- *	NULL
- */
-
-#include <features.h>
-
-.text
-.align 4
-
-.global __start
-__start:
-.global _start
-_start:
-	/* Kernel uses a_interp + 2, so __start isn't exactly CALLSed,	*/
-	/* but we need to have two bytes here, so we use NOPs. This	*/
-	/* won't hurt, though R0 would be invalid to push, but at	*/
-	/* lease this looks like a real function.			*/
-	.word	0x0101
-
-	movl	$0, %fp			/* FP = 0, since this is the	*/
-					/* top-most stack frame		*/
-	movl	%sp, %r0		/* R0 = %sp			*/
-	movl	(%sp)+, %r4		/* R4 = argc			*/
-	movl	%sp, %r3		/* R3 = argv = &argv[0]		*/
-
-#if (defined L_crt1 || defined L_gcrt1) && defined __UCLIBC_CTOR_DTOR__
-	pushl	%r0	/* stack_end					*/
-	pushl	$0	/* rtld_fini. This is probably needed for the	*/
-			/* case where a dynamic linker is involved. So	*/
-			/* this is an open FIXME that needs to be	*/
-			/* addressed at some time...			*/
-	pushl	$_fini
-	pushl	$_init
-	pushl	%r3	/* Argument pointer				*/
-	pushl	%r4	/* And the argument count			*/
-	pushl	$main	/* main()					*/
-
-	/* We need to call __uClibc_main which should not return.
-	 * __uClibc_main (int (*main) (int, char **, char **),
-	 *                int argc,
-	 *                char **argv,
-	 *                void (*init) (void),
-	 *                void (*fini) (void),
-	 *                void (*rtld_fini) (void),
-	 *                void *stack_end);
-	 */
-	calls	$7, __uClibc_main
-#else /* FIXME: THIS IS BROKEN!!! */
-	/* start to load the arguments from the stack */
-	/* arguments are on ap stack */
-	pushl	%r2
-	pushl	%r3
-	pushl	%r4
-
-	calls	$3, __uClibc_main
-#endif
-
-	/* The above __uClibc_start_main() shouldn't ever return. If it	*/
-	/* does, we just crash.						*/
-	halt
-.align 2
-
diff --git a/libc/sysdeps/linux/vax/crti.S b/libc/sysdeps/linux/vax/crti.S
deleted file mode 100644
index 0056478..0000000
--- a/libc/sysdeps/linux/vax/crti.S
+++ /dev/null
@@ -1,21 +0,0 @@
-	.file	"initfini.c"
-	.version	"01.01"
-gcc2_compiled.:
-__gnu_compiled_c:
-	.section .init
-	.align 1
-.globl _init
-	.type	 _init,@function
-_init:
-	.word 0x0000
-
-	.align 1
-
-	.section .fini
-	.align 1
-.globl _fini
-	.type	 _fini,@function
-_fini:
-	.word 0x0000
-	.align 1
-	.ident	"GCC: (GNU) 2.95.2 19991024 (release) (Linux/VAX CVS)"
diff --git a/libc/sysdeps/linux/vax/crtn.S b/libc/sysdeps/linux/vax/crtn.S
deleted file mode 100644
index 1153fd5..0000000
--- a/libc/sysdeps/linux/vax/crtn.S
+++ /dev/null
@@ -1,19 +0,0 @@
-	.file	"initfini.c"
-	.version	"01.01"
-gcc2_compiled.:
-__gnu_compiled_c:
-
-	.section .init
-	.align 1
-.globl _init
-	.type	 _init,@function
-	ret
-.Lfe2:
-
-	.section .fini
-	.align 1
-.globl _fini
-	.type	 _fini,@function
-	ret
-.Lfe3:
-	.ident	"GCC: (GNU) 2.95.2 19991024 (release) (Linux/VAX CVS)"
diff --git a/libc/sysdeps/linux/vax/jmpbuf-unwind.h b/libc/sysdeps/linux/vax/jmpbuf-unwind.h
deleted file mode 100644
index 18bbd96..0000000
--- a/libc/sysdeps/linux/vax/jmpbuf-unwind.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-#include <setjmp.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
-   containing a local variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (void *) (jmpbuf[4]))
diff --git a/libc/sysdeps/linux/vax/setjmp.S b/libc/sysdeps/linux/vax/setjmp.S
deleted file mode 100644
index bdbde4b..0000000
--- a/libc/sysdeps/linux/vax/setjmp.S
+++ /dev/null
@@ -1,39 +0,0 @@
-
-/*
- * setjmp.S	atp. Sept. 2001
- *		Jan-Benedict Glaw <jbglaw(a)lug-owl.de> 2006
- *
- * Save regs and info needed for a longjmp
- */
-
-.globl __sigsetjmp
-.align 4
-__sigsetjmp:
-	.word	0x0000		/* We look after reg saving here - this	*/
-				/* must match longjmp.			*/
-	movl	0x4(%ap), %r0	/* Our scratch reg			*/
-	/* kenn would probably use movq here. :-)			*/
-	movl	%r1, 0x14(%r0)	/* save regs				*/
-	movl	%r2, 0x18(%r0)
-	movl	%r3, 0x1c(%r0)
-	movl	%r4, 0x20(%r0)
-	movl	%r5, 0x24(%r0)
-	movl	%r6, 0x28(%r0)
-	movl	%r7, 0x2c(%r0)
-	movl	%r8, 0x30(%r0)
-	movl	%r9, 0x34(%r0)
-	movl	%r10, 0x38(%r0)
-	movl	%r11, 0x3c(%r0)
-	/* Now save our call frame					*/
-	movl	(%fp), (%r0)		/* Condition handler (for VMS emulation) */
-	movl	0x4(%fp), 0x4(%r0)	/* psw				*/
-	movl	0x8(%fp), 0x8(%r0)	/* ap				*/
-	movl	0xc(%fp), 0xc(%r0)	/* fp				*/
-	movl	0x10(%fp), 0x10(%r0)	/* pc				*/
-	/* Call the sigjmp save routine					*/
-	pushl	8(%ap)
-	pushl	%r0
-	calls	$2, __sigjmp_save
-	/* Done								*/
-	ret
-
diff --git a/libc/sysdeps/linux/vax/sys/procfs.h b/libc/sysdeps/linux/vax/sys/procfs.h
deleted file mode 100644
index 218897c..0000000
--- a/libc/sysdeps/linux/vax/sys/procfs.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright (C) 1996, 1997, 1999, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H	1
-
-/* This is somewhat modelled after the file of the same name on SVR4
-   systems.  It provides a definition of the core file format for ELF
-   used on Linux.  It doesn't have anything to do with the /proc file
-   system, even though Linux has one.
-
-   Anyway, the whole purpose of this file is for GDB and GDB only.
-   Don't read too much into it.  Don't use it for anything other than
-   GDB unless you know what you are doing.  */
-
-#include <features.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/user.h>
-
-__BEGIN_DECLS
-
-/* Type for a general-purpose register.  */
-typedef unsigned long elf_greg_t;
-
-/* And the whole bunch of them.  We could have used `struct
-   user_regs' directly in the typedef, but tradition says that
-   the register set is an array, which does have some peculiar
-   semantics, so leave it that way.  */
-#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-/* Register set for the floating-point registers.  */
-typedef struct user_regs_struct elf_fpregset_t;
-
-/* Signal info.  */
-struct elf_siginfo
-  {
-    int si_signo;			/* Signal number.  */
-    int si_code;			/* Extra code.  */
-    int si_errno;			/* Errno.  */
-  };
-
-/* Definitions to generate Intel SVR4-like core files.  These mostly
-   have the same names as the SVR4 types with "elf_" tacked on the
-   front to prevent clashes with Linux definitions, and the typedef
-   forms have been avoided.  This is mostly like the SVR4 structure,
-   but more Linuxy, with things that Linux does not support and which
-   GDB doesn't really use excluded.  */
-
-struct elf_prstatus
-  {
-    struct elf_siginfo pr_info;		/* Info associated with signal.  */
-    short int pr_cursig;		/* Current signal.  */
-    unsigned long int pr_sigpend;	/* Set of pending signals.  */
-    unsigned long int pr_sighold;	/* Set of held signals.  */
-    __pid_t pr_pid;
-    __pid_t pr_ppid;
-    __pid_t pr_pgrp;
-    __pid_t pr_sid;
-    struct timeval pr_utime;		/* User time.  */
-    struct timeval pr_stime;		/* System time.  */
-    struct timeval pr_cutime;		/* Cumulative user time.  */
-    struct timeval pr_cstime;		/* Cumulative system time.  */
-    elf_gregset_t pr_reg;		/* GP registers.  */
-    int pr_fpvalid;			/* True if math copro being used.  */
-  };
-
-
-#define ELF_PRARGSZ     (80)    /* Number of chars for args.  */
-
-struct elf_prpsinfo
-  {
-    char pr_state;			/* Numeric process state.  */
-    char pr_sname;			/* Char for pr_state.  */
-    char pr_zomb;			/* Zombie.  */
-    char pr_nice;			/* Nice val.  */
-    unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
-    /* Lots missing */
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
-  };
-
-/* The rest of this file provides the types for emulation of the
-   Solaris <proc_service.h> interfaces that should be implemented by
-   users of libthread_db.  */
-
-/* Addresses.  */
-typedef void *psaddr_t;
-
-/* Register sets.  Linux has different names.  */
-typedef elf_gregset_t prgregset_t;
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
-   therefore have only one PID type.  */
-typedef __pid_t lwpid_t;
-
-/* Process status and info.  In the end we do provide typedefs for them.  */
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif	/* sys/procfs.h */
diff --git a/libc/sysdeps/linux/vax/sys/ucontext.h b/libc/sysdeps/linux/vax/sys/ucontext.h
deleted file mode 100644
index 3f3e40c..0000000
--- a/libc/sysdeps/linux/vax/sys/ucontext.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Don't rely on this, the interface is currently messed up and may need to
-   be broken to be fixed.  */
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-/* We need the signal context definitions even if they are not used
-   included in <signal.h>.  */
-#include <bits/sigcontext.h>
-
-
-/* Type for general register.  */
-typedef unsigned long int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	37
-#define NFPREG	33
-
-/* Container for all general registers.  */
-/* gregset_t must be an array.  The below declared array corresponds to:
-typedef struct gregset {
-	greg_t	g_regs[32];
-	greg_t	g_hi;
-	greg_t	g_lo;
-	greg_t	g_pad[3];
-} gregset_t;  */
-typedef greg_t gregset_t[NGREG];
-
-/* Container for all FPU registers.  */
-typedef struct fpregset {
-	union {
-		double	fp_dregs[32];
-		struct {
-			float		_fp_fregs;
-			unsigned int	_fp_pad;
-		} fp_fregs[32];
-	} fp_r;
-	unsigned int	fp_csr;
-	unsigned int	fp_pad;
-} fpregset_t;
-
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    gregset_t gregs;
-    fpregset_t fpregs;
-  } mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long int uc_flags;
-    struct ucontext *uc_link;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    __sigset_t uc_sigmask;
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
deleted file mode 100644
index 91bbf8f..0000000
--- a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Machine-dependent pthreads configuration and inline functions.
-   ARM version.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb(a)gnu.org>.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H   1
-
-#include <features.h>
-
-#ifndef PT_EI
-# define PT_EI __extern_always_inline
-#endif
-
-/* Spinlock implementation; required.  */
-/* it is weird and dangerous to disable interrupt in userspace, but for nios
-   what else we can do before we have a swap like instruction?  This is better
-   than nothing
- */
-PT_EI long int
-testandset (int *spinlock)
-{
-  unsigned int ret;
-
-  __asm__ __volatile__("pfx 8\n\t"
-  			"wrctl %1	; disable interrupt\n\t"
-			"nop\n\t"
-			"nop\n\t"
-  			"ld %0, [%2]\n\t"
-  			"st [%2], %1\n\t"
-  			"pfx 9\n\t"
-  			"wrctl %1	; enable interrupt\n\t"
-			"nop\n\t"
-			"nop\n\t"
- 		       : "=&r"(ret)
-		       : "r"(1), "r"(spinlock)
-		       : "memory");
-
-  return ret;
-}
-
-
-/* Get some notion of the current stack.  Need not be exactly the top
-   of the stack, just something somewhere in the current frame.  */
-#define CURRENT_STACK_FRAME  stack_pointer
-register char * stack_pointer __asm__ ("%sp");
-
-/* nios needs more because of reg windows */
-#define THREAD_MANAGER_STACK_SIZE (32*1024)
-#define STACK_SIZE	(32*1024)
-
-#endif /* pt-machine.h */
diff --git a/libpthread/linuxthreads.old/sysdeps/sh64/Makefile.arch b/libpthread/linuxthreads.old/sysdeps/sh64/Makefile.arch
deleted file mode 100644
index ddb5664..0000000
--- a/libpthread/linuxthreads.old/sysdeps/sh64/Makefile.arch
+++ /dev/null
@@ -1,30 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2003 Paul Mundt <lethal(a)linux-sh.org>
-# Copyright (C) 2000-2008 Erik Andersen <andersen(a)uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-libpthread_ARCH_DIR:=$(top_srcdir)libpthread/linuxthreads.old/sysdeps/sh64
-libpthread_ARCH_OUT:=$(top_builddir)libpthread/linuxthreads.old/sysdeps/sh64
-
-libpthread_ARCH_SRC:=$(wildcard $(libpthread_ARCH_DIR)/*.c)
-libpthread_ARCH_OBJ:=$(patsubst $(libpthread_ARCH_DIR)/%.c,$(libpthread_ARCH_OUT)/%.o,$(libpthread_ARCH_SRC))
-
-libpthread-a-y+=$(libpthread_ARCH_OBJ)
-libpthread-so-y+=$(libpthread_ARCH_OBJ:.o=.os)
-
-libpthread-multi-y+=$(libpthread_ARCH_SRC)
-
-objclean-y += CLEAN_$($(top_builddir),,$(libpthread_ARCH_OUT))
-
-# We need to build as SHcompact for tas..
-$(libpthread_ARCH_OBJ): %.o : %.c
-	$(compile.c:32media=compact)
-
-$(libpthread_ARCH_OBJ:.o=.os): %.os : %.c
-	$(compile.c:32media=compact)
-
-CLEAN_$($(top_builddir),,$(libpthread_ARCH_OUT)):
-	$(do_rm) $(addprefix $(libpthread_ARCH_OUT)/*., o os)
diff --git a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.c b/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.c
deleted file mode 100644
index 1c187c8..0000000
--- a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Cloned for uClibc by Paul Mundt, December 2003 */
-/* Modified by SuperH, Inc. September 2003 */
-
-/* Machine-dependent pthreads configuration and inline functions.
-   SH5 version.
-   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Niibe Yutaka <gniibe(a)m17n.org>.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#include "pt-machine.h"
-
-/* Spinlock implementation; required.  */
-
-/* The SH5 does not have a suitable test-and-set instruction (SWAP only
-   operates on an aligned quad word). So we use the SH4 version instead.
-   This must be seperately compiled in SHcompact mode, so it cannot be
-   inline. */
-
-long int testandset (int *spinlock)
-{
-  int ret;
-
-  __asm__ __volatile__(
-       "tas.b	@%1\n\t"
-       "movt	%0"
-       : "=r" (ret)
-       : "r" (spinlock)
-       : "memory", "cc");
-
-  return (ret == 0);
-}
-
diff --git a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
deleted file mode 100644
index 9b1fc74..0000000
--- a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Cloned for uClibc by Paul Mundt, December 2003 */
-/* Modified by SuperH, Inc. September 2003 */
-
-/* Machine-dependent pthreads configuration and inline functions.
-   SuperH version.
-   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Niibe Yutaka <gniibe(a)m17n.org>.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H   1
-
-#include <features.h>
-
-#ifndef PT_EI
-# define PT_EI __extern_always_inline
-#endif
-
-/* Get some notion of the current stack.  Need not be exactly the top
-   of the stack, just something somewhere in the current frame.  */
-#define CURRENT_STACK_FRAME  stack_pointer
-register char * stack_pointer __asm__ ("r15");
-
-#endif /* pt-machine.h */
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch master updated. 22b08168c4661422dd23d81a3faa0c9758af4909
                        
                        
by wbx@helium.waldemar-brodkorb.de 05 Dec '15
                    by wbx@helium.waldemar-brodkorb.de 05 Dec '15
05 Dec '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
       via  22b08168c4661422dd23d81a3faa0c9758af4909 (commit)
      from  7a9559f798609714377073a69c5e7506e5566a5b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 22b08168c4661422dd23d81a3faa0c9758af4909
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Dec 5 20:52:47 2015 +0100
    remove __UCLIBC_ASM_GLOBAL_DIRECTIVE__
    
    .globl can be used for every architecture so remove the define.
    Sync with GNU C library.
-----------------------------------------------------------------------
Summary of changes:
 include/libc-symbols.h                                  |   15 ++++-----------
 libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/arc/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/arm/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/arm/sysdep.h                         |    2 +-
 libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/common/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/cris/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/cris/sysdep.h                        |    4 ++--
 libc/sysdeps/linux/frv/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/i386/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/i386/sysdep.h                        |    2 +-
 libc/sysdeps/linux/i960/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/metag/bits/uClibc_arch_features.h    |    3 ---
 .../linux/microblaze/bits/uClibc_arch_features.h        |    3 ---
 libc/sysdeps/linux/mips/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h  |    3 ---
 libc/sysdeps/linux/powerpc/powerpc32/sysdep.h           |    6 +++---
 libc/sysdeps/linux/sh/bits/uClibc_arch_features.h       |    3 ---
 libc/sysdeps/linux/sh/sysdep.h                          |    2 +-
 libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/v850/Makefile                        |    2 +-
 libc/sysdeps/linux/v850/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/x86_64/sysdep.h                      |    2 +-
 libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/xtensa/sysdep.h                      |    4 ++--
 36 files changed, 16 insertions(+), 104 deletions(-)
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index e203622..fc129db 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -38,7 +38,6 @@
    It should define for us the following symbols:
 
    * HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'.
-   * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
    * ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
      or leave it undefined if there is no .type directive.
    * HAVE_ELF if using ELF, which supports weak symbols using `.weak'.
@@ -120,12 +119,6 @@
 # undef HAVE_ASM_SET_DIRECTIVE
 #endif
 
-#ifdef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-# define ASM_GLOBAL_DIRECTIVE __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#else
-# define ASM_GLOBAL_DIRECTIVE .global
-#endif
-
 #ifdef __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 # define HAVE_ASM_WEAK_DIRECTIVE
 #else
@@ -209,12 +202,12 @@
 
 # ifdef HAVE_ASM_SET_DIRECTIVE
 #  define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
 #  define strong_data_alias(original, alias) strong_alias(original, alias)
 # else
 #  define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
 #  define strong_data_alias(original, alias) strong_alias(original, alias)
 # endif
@@ -443,12 +436,12 @@ FIXME! - ?
 
 #  ifdef HAVE_ASM_SET_DIRECTIVE
 #   define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
 #  else /* dont have .set directive */
 #   define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
 #  endif
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
index 3f2a1a3..18c18f9 100644
--- a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 1fe8fbc..5160724 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
index 6142c49..671afd3 100644
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h
index 7f1e9c1..1452989 100644
--- a/libc/sysdeps/linux/arm/sysdep.h
+++ b/libc/sysdeps/linux/arm/sysdep.h
@@ -64,7 +64,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)						\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);			\
+  .globl C_SYMBOL_NAME(name);			\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function)		\
   .align ALIGNARG(4);						\
   name##:							\
diff --git a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
index e2632db..cb0eae8 100644
--- a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
index 6205078..9646aac 100644
--- a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
index 1515a55..7b6077e 100644
--- a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index 9ad693a..37c7ceb 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index 570a28d..517f68c 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/cris/sysdep.h b/libc/sysdeps/linux/cris/sysdep.h
index 35c02c7..cd21fc8 100644
--- a/libc/sysdeps/linux/cris/sysdep.h
+++ b/libc/sysdeps/linux/cris/sysdep.h
@@ -121,14 +121,14 @@
 /* Define an entry point visible from C.  */
 #define ENTRY(name) \
   .text							@ \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) 		@ \
+  .globl C_SYMBOL_NAME (name) 		@ \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function)	@ \
   .align ALIGNARG (2) 					@ \
   C_LABEL(name)
 
 #define HIDDEN_ENTRY(name) \
   .text							@ \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) 		@ \
+  .globl C_SYMBOL_NAME (name) 		@ \
   .hidden C_SYMBOL_NAME (name)				@ \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function)	@ \
   .align ALIGNARG (2) 					@ \
diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
index 44d8296..6047d14 100644
--- a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
index 07c12a6..19fa051 100644
--- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index 0b148e8..5b6c2fc 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h
index 40088ad..c92a106 100644
--- a/libc/sysdeps/linux/i386/sysdep.h
+++ b/libc/sysdeps/linux/i386/sysdep.h
@@ -43,7 +43,7 @@
    incomplete stabs information.  Fake some entries here which specify
    the current source file.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(4);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
index bc40e4b..a13ed37 100644
--- a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
index 388226c..25c9832 100644
--- a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
index dfcccc2..a64f653 100644
--- a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
index eb1ce25..5cfaa43 100644
--- a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
index 89b204e..1433c58 100644
--- a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
@@ -28,9 +28,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
index 74d131b..ea767ab 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
index 6178a01..bcdf124 100644
--- a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
@@ -28,9 +28,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
index c066bc7..f4b2169 100644
--- a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
index a889f84..6610693 100644
--- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
index d9a4704..9459e79 100644
--- a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
+++ b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
@@ -36,7 +36,7 @@
 #endif /* PROF */
 
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(2);							      \
   C_LABEL(name)								      \
@@ -56,7 +56,7 @@
    past a 2^align boundary.  */
 #ifdef PROF
 # define EALIGN(name, alignt, words)					      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(2);							      \
   C_LABEL(name)								      \
@@ -68,7 +68,7 @@
   0:
 #else /* PROF */
 # define EALIGN(name, alignt, words)					      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(alignt);						      \
   EALIGN_W_##words;							      \
diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
index c2c5a9a..401bd45 100644
--- a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h
index 69bcbe1..b9b0009 100644
--- a/libc/sysdeps/linux/sh/sysdep.h
+++ b/libc/sysdeps/linux/sh/sysdep.h
@@ -38,7 +38,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function)			      \
   .align ALIGNARG(5);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
index 5fe839a..283a250 100644
--- a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/v850/Makefile b/libc/sysdeps/linux/v850/Makefile
index e54e18c..d6ed3cc 100644
--- a/libc/sysdeps/linux/v850/Makefile
+++ b/libc/sysdeps/linux/v850/Makefile
@@ -9,7 +9,7 @@ TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
 
 CFLAGS += -I..
-ASFLAGS += -I.. -D__ASSEMBLER -DASM_GLOBAL_DIRECTIVE=.globl
+ASFLAGS += -I.. -D__ASSEMBLER
 
 TARGET_MACHINE_TYPE=$(shell $(CC) -dumpmachine)
 
diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
index 62d49a3..32293e6 100644
--- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
index 3565885..4380169 100644
--- a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/x86_64/sysdep.h b/libc/sysdeps/linux/x86_64/sysdep.h
index ed7e26e..3bfeaca 100644
--- a/libc/sysdeps/linux/x86_64/sysdep.h
+++ b/libc/sysdeps/linux/x86_64/sysdep.h
@@ -38,7 +38,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(4);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
index 4d6edd5..a15744c 100644
--- a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/xtensa/sysdep.h b/libc/sysdeps/linux/xtensa/sysdep.h
index ce2b0a0..f5a40eb 100644
--- a/libc/sysdeps/linux/xtensa/sysdep.h
+++ b/libc/sysdeps/linux/xtensa/sysdep.h
@@ -40,7 +40,7 @@
 
 
 #define	ENTRY(name)							\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				\
+  .globl C_SYMBOL_NAME(name);				\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name), @function);			\
   .align ALIGNARG(2);							\
   LITERAL_POSITION;							\
@@ -49,7 +49,7 @@
   CALL_MCOUNT
 
 #define	HIDDEN_ENTRY(name)						\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				\
+  .globl C_SYMBOL_NAME(name);				\
   .hidden C_SYMBOL_NAME(name);						\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name), @function);			\
   .align ALIGNARG(2);							\
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch 1.0 updated. v1.0.9-7-g263573c
                        
                        
by wbx@helium.waldemar-brodkorb.de 05 Dec '15
                    by wbx@helium.waldemar-brodkorb.de 05 Dec '15
05 Dec '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
       via  263573cf6e027c41d74d1e225e33f6ec85507938 (commit)
      from  9cd6514517f8b385fda74dcdca2b9266c6f7eb14 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 263573cf6e027c41d74d1e225e33f6ec85507938
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Dec 5 20:52:47 2015 +0100
    remove __UCLIBC_ASM_GLOBAL_DIRECTIVE__
    
    .globl can be used for every architecture so remove the define.
    Sync with GNU C library.
-----------------------------------------------------------------------
Summary of changes:
 include/libc-symbols.h                                  |   15 ++++-----------
 libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/arc/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/arm/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/arm/sysdep.h                         |    2 +-
 libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/common/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/cris/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/cris/sysdep.h                        |    4 ++--
 libc/sysdeps/linux/e1/bits/uClibc_arch_features.h       |    3 ---
 libc/sysdeps/linux/frv/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/i386/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/i386/sysdep.h                        |    2 +-
 libc/sysdeps/linux/i960/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/metag/bits/uClibc_arch_features.h    |    3 ---
 .../linux/microblaze/bits/uClibc_arch_features.h        |    3 ---
 libc/sysdeps/linux/mips/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/nios/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h  |    3 ---
 libc/sysdeps/linux/powerpc/powerpc32/sysdep.h           |    6 +++---
 libc/sysdeps/linux/sh/bits/uClibc_arch_features.h       |    3 ---
 libc/sysdeps/linux/sh/sysdep.h                          |    2 +-
 libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h    |    3 ---
 libc/sysdeps/linux/v850/Makefile                        |    2 +-
 libc/sysdeps/linux/v850/bits/uClibc_arch_features.h     |    3 ---
 libc/sysdeps/linux/vax/bits/uClibc_arch_features.h      |    3 ---
 libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/x86_64/sysdep.h                      |    2 +-
 libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h   |    3 ---
 libc/sysdeps/linux/xtensa/sysdep.h                      |    4 ++--
 libpthread/linuxthreads/internals.h                     |    2 +-
 41 files changed, 17 insertions(+), 117 deletions(-)
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index e203622..fc129db 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -38,7 +38,6 @@
    It should define for us the following symbols:
 
    * HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'.
-   * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
    * ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
      or leave it undefined if there is no .type directive.
    * HAVE_ELF if using ELF, which supports weak symbols using `.weak'.
@@ -120,12 +119,6 @@
 # undef HAVE_ASM_SET_DIRECTIVE
 #endif
 
-#ifdef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-# define ASM_GLOBAL_DIRECTIVE __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-#else
-# define ASM_GLOBAL_DIRECTIVE .global
-#endif
-
 #ifdef __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 # define HAVE_ASM_WEAK_DIRECTIVE
 #else
@@ -209,12 +202,12 @@
 
 # ifdef HAVE_ASM_SET_DIRECTIVE
 #  define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
 #  define strong_data_alias(original, alias) strong_alias(original, alias)
 # else
 #  define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
 #  define strong_data_alias(original, alias) strong_alias(original, alias)
 # endif
@@ -443,12 +436,12 @@ FIXME! - ?
 
 #  ifdef HAVE_ASM_SET_DIRECTIVE
 #   define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
 #  else /* dont have .set directive */
 #   define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
+	.globl C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
 #  endif
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
index 3f2a1a3..18c18f9 100644
--- a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 1fe8fbc..5160724 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
index 6142c49..671afd3 100644
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h
index 7f1e9c1..1452989 100644
--- a/libc/sysdeps/linux/arm/sysdep.h
+++ b/libc/sysdeps/linux/arm/sysdep.h
@@ -64,7 +64,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)						\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);			\
+  .globl C_SYMBOL_NAME(name);			\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function)		\
   .align ALIGNARG(4);						\
   name##:							\
diff --git a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
index e2632db..cb0eae8 100644
--- a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
index 6205078..9646aac 100644
--- a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
index 1515a55..7b6077e 100644
--- a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index 9ad693a..37c7ceb 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index 570a28d..517f68c 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/cris/sysdep.h b/libc/sysdeps/linux/cris/sysdep.h
index 35c02c7..cd21fc8 100644
--- a/libc/sysdeps/linux/cris/sysdep.h
+++ b/libc/sysdeps/linux/cris/sysdep.h
@@ -121,14 +121,14 @@
 /* Define an entry point visible from C.  */
 #define ENTRY(name) \
   .text							@ \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) 		@ \
+  .globl C_SYMBOL_NAME (name) 		@ \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function)	@ \
   .align ALIGNARG (2) 					@ \
   C_LABEL(name)
 
 #define HIDDEN_ENTRY(name) \
   .text							@ \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) 		@ \
+  .globl C_SYMBOL_NAME (name) 		@ \
   .hidden C_SYMBOL_NAME (name)				@ \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function)	@ \
   .align ALIGNARG (2) 					@ \
diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
index 44d8296..6047d14 100644
--- a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
index 07c12a6..19fa051 100644
--- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index 0b148e8..5b6c2fc 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h
index 40088ad..c92a106 100644
--- a/libc/sysdeps/linux/i386/sysdep.h
+++ b/libc/sysdeps/linux/i386/sysdep.h
@@ -43,7 +43,7 @@
    incomplete stabs information.  Fake some entries here which specify
    the current source file.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(4);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
index bc40e4b..a13ed37 100644
--- a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
index 388226c..25c9832 100644
--- a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
index dfcccc2..a64f653 100644
--- a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
index eb1ce25..5cfaa43 100644
--- a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
index 89b204e..1433c58 100644
--- a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
@@ -28,9 +28,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
index 74d131b..ea767ab 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
index 6178a01..bcdf124 100644
--- a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
@@ -28,9 +28,6 @@
 /* does your target have an asm .set ? */
 #undef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
index c07d2b6..293cc9b 100644
--- a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
index c066bc7..f4b2169 100644
--- a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
@@ -26,9 +26,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
index a889f84..6610693 100644
--- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
index d9a4704..9459e79 100644
--- a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
+++ b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h
@@ -36,7 +36,7 @@
 #endif /* PROF */
 
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(2);							      \
   C_LABEL(name)								      \
@@ -56,7 +56,7 @@
    past a 2^align boundary.  */
 #ifdef PROF
 # define EALIGN(name, alignt, words)					      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(2);							      \
   C_LABEL(name)								      \
@@ -68,7 +68,7 @@
   0:
 #else /* PROF */
 # define EALIGN(name, alignt, words)					      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(alignt);						      \
   EALIGN_W_##words;							      \
diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
index c2c5a9a..401bd45 100644
--- a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
@@ -27,9 +27,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h
index 69bcbe1..b9b0009 100644
--- a/libc/sysdeps/linux/sh/sysdep.h
+++ b/libc/sysdeps/linux/sh/sysdep.h
@@ -38,7 +38,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function)			      \
   .align ALIGNARG(5);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
index 5fc959f..e2091b5 100644
--- a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
index 5fe839a..283a250 100644
--- a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/v850/Makefile b/libc/sysdeps/linux/v850/Makefile
index e54e18c..d6ed3cc 100644
--- a/libc/sysdeps/linux/v850/Makefile
+++ b/libc/sysdeps/linux/v850/Makefile
@@ -9,7 +9,7 @@ TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
 
 CFLAGS += -I..
-ASFLAGS += -I.. -D__ASSEMBLER -DASM_GLOBAL_DIRECTIVE=.globl
+ASFLAGS += -I.. -D__ASSEMBLER
 
 TARGET_MACHINE_TYPE=$(shell $(CC) -dumpmachine)
 
diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
index 62d49a3..32293e6 100644
--- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
@@ -24,9 +24,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h b/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
index bf32289..c2b189d 100644
--- a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
index 3565885..4380169 100644
--- a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/x86_64/sysdep.h b/libc/sysdeps/linux/x86_64/sysdep.h
index ed7e26e..3bfeaca 100644
--- a/libc/sysdeps/linux/x86_64/sysdep.h
+++ b/libc/sysdeps/linux/x86_64/sysdep.h
@@ -38,7 +38,7 @@
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
+  .globl C_SYMBOL_NAME(name);				      \
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)			      \
   .align ALIGNARG(4);							      \
   C_LABEL(name)								      \
diff --git a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
index 4d6edd5..a15744c 100644
--- a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
@@ -23,9 +23,6 @@
 /* does your target have an asm .set ? */
 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
 
-/* define if target doesn't like .global */
-#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
-
 /* define if target supports .weak */
 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
 
diff --git a/libc/sysdeps/linux/xtensa/sysdep.h b/libc/sysdeps/linux/xtensa/sysdep.h
index ce2b0a0..f5a40eb 100644
--- a/libc/sysdeps/linux/xtensa/sysdep.h
+++ b/libc/sysdeps/linux/xtensa/sysdep.h
@@ -40,7 +40,7 @@
 
 
 #define	ENTRY(name)							\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				\
+  .globl C_SYMBOL_NAME(name);				\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name), @function);			\
   .align ALIGNARG(2);							\
   LITERAL_POSITION;							\
@@ -49,7 +49,7 @@
   CALL_MCOUNT
 
 #define	HIDDEN_ENTRY(name)						\
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				\
+  .globl C_SYMBOL_NAME(name);				\
   .hidden C_SYMBOL_NAME(name);						\
   ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name), @function);			\
   .align ALIGNARG(2);							\
diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h
index 68a8b6a..00c7078 100644
--- a/libpthread/linuxthreads/internals.h
+++ b/libpthread/linuxthreads/internals.h
@@ -475,7 +475,7 @@ extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
 
 #define asm_handle(name) _asm_handle(name)
 #define _asm_handle(name) #name
-#define ASM_GLOBAL asm_handle(ASM_GLOBAL_DIRECTIVE)
+#define ASM_GLOBAL asm_handle(.globl)
 #define ASM_CANCEL(name) asm_handle(C_SYMBOL_NAME(name))
 
 #if !defined NOT_IN_libc
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch master updated. 7a9559f798609714377073a69c5e7506e5566a5b
                        
                        
by wbx@helium.waldemar-brodkorb.de 05 Dec '15
                    by wbx@helium.waldemar-brodkorb.de 05 Dec '15
05 Dec '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
       via  7a9559f798609714377073a69c5e7506e5566a5b (commit)
      from  a10bef923c796d086d65019114fc80ef2d3624df (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7a9559f798609714377073a69c5e7506e5566a5b
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Dec 5 08:10:51 2015 +0100
    remove __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
    
    It's even no longer required for non-ported ppc64
    architecture. Sync with GNU C library.
    This simplify the macros in include/libc-symbols.h.
-----------------------------------------------------------------------
Summary of changes:
 include/libc-symbols.h                             |  118 +++-----------------
 .../linux/alpha/bits/uClibc_arch_features.h        |    3 -
 libc/sysdeps/linux/arc/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/arm/bits/uClibc_arch_features.h |    3 -
 .../linux/avr32/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/bfin/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h |    3 -
 .../linux/common/bits/uClibc_arch_features.h       |    3 -
 .../sysdeps/linux/cris/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/frv/bits/uClibc_arch_features.h |    3 -
 .../linux/h8300/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/hppa/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/i386/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/i960/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/ia64/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/lm32/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/m68k/bits/uClibc_arch_features.h |    3 -
 .../linux/metag/bits/uClibc_arch_features.h        |    3 -
 .../linux/microblaze/bits/uClibc_arch_features.h   |    3 -
 .../sysdeps/linux/mips/bits/uClibc_arch_features.h |    3 -
 .../linux/nios2/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/or1k/bits/uClibc_arch_features.h |    3 -
 .../linux/powerpc/bits/uClibc_arch_features.h      |    3 -
 libc/sysdeps/linux/powerpc/powerpc64/sysdep.h      |   21 ----
 libc/sysdeps/linux/sh/bits/uClibc_arch_features.h  |    3 -
 .../linux/sparc/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/v850/bits/uClibc_arch_features.h |    3 -
 .../linux/x86_64/bits/uClibc_arch_features.h       |    3 -
 .../linux/xtensa/bits/uClibc_arch_features.h       |    3 -
 libpthread/linuxthreads_db/td_symbol_list.c        |   12 +-
 .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h   |    6 +-
 libpthread/nptl_db/td_symbol_list.c                |   18 +--
 32 files changed, 18 insertions(+), 238 deletions(-)
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 97463ac..e203622 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -138,12 +138,6 @@
 # undef HAVE_ASM_WEAKEXT_DIRECTIVE
 #endif
 
-#ifdef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-# define HAVE_ASM_GLOBAL_DOT_NAME
-#else
-# undef HAVE_ASM_GLOBAL_DOT_NAME
-#endif
-
 #ifdef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 # define HAVE_ASM_CFI_DIRECTIVES
 #else
@@ -169,17 +163,6 @@
 # define ASM_LINE_SEP ;
 #endif
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# ifndef C_SYMBOL_DOT_NAME
-#  if defined __GNUC__ && defined __GNUC_MINOR__ \
-      && (__GNUC__ << 16) + __GNUC_MINOR__ >= (3 << 16) + 1
-#   define C_SYMBOL_DOT_NAME(name) .name
-#  else
-#   define C_SYMBOL_DOT_NAME(name) .##name
-#  endif
-# endif
-#endif
-
 #ifndef __ASSEMBLER__
 /* GCC understands weak symbols and aliases; use its interface where
    possible, instead of embedded assembly language.  */
@@ -225,78 +208,34 @@
 #else /* __ASSEMBLER__ */
 
 # ifdef HAVE_ASM_SET_DIRECTIVE
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   define strong_data_alias(original, alias) \
+#  define strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#  else
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # else
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#   define strong_data_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#  else
-#   define strong_alias(original, alias) \
+#  define strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # endif
 
-# ifdef HAVE_WEAK_SYMBOLS
-#  ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define weak_alias(original, alias) \
-	.weakext C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	.weakext C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   else
+#  ifdef HAVE_WEAK_SYMBOLS
+#   ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
 #    define weak_alias(original, alias) \
 	.weakext C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   endif
-#   define weak_extern(symbol) \
+#    define weak_extern(symbol) \
 	.weakext C_SYMBOL_NAME(symbol)
 
 #  else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
 
 #   ifdef HAVE_ASM_SET_DIRECTIVE
-#    ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#     define weak_alias(original, alias) \
-	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	.weak	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#    else
-#     define weak_alias(original, alias) \
+#    define weak_alias(original, alias) \
 	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#    endif
 #   else /* ! HAVE_ASM_SET_DIRECTIVE */
-#    ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#     define weak_alias(original, alias) \
-	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	.weak	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#    else
-#     define weak_alias(original, alias) \
+#    define weak_alias(original, alias) \
 	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#    endif
 #   endif
 #   define weak_extern(symbol) \
 	.weak	C_SYMBOL_NAME(symbol)
@@ -503,47 +442,20 @@ FIXME! - ?
 # else /* __ASSEMBLER__ */
 
 #  ifdef HAVE_ASM_SET_DIRECTIVE
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   else
-#    define _hidden_strong_alias(original, alias) \
+#   define _hidden_strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   endif
 #  else /* dont have .set directive */
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#   else
-#    define _hidden_strong_alias(original, alias) \
+#   define _hidden_strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#   endif
 #  endif
 
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define _hidden_weak_alias(original, alias) \
+#  define _hidden_weak_alias(original, alias) \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
 	weak_alias(original, alias)
-#  else
-#   define _hidden_weak_alias(original, alias) \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	weak_alias(original, alias)
-#  endif
 
 /* For assembly, we need to do the opposite of what we do in C:
    in assembly gcc __REDIRECT stuff is not in place, so functions
@@ -560,11 +472,7 @@ FIXME! - ?
 #  define hidden_data_def(name)	_hidden_strong_alias (name, __GI_##name)
 #  define hidden_data_weak(name)	_hidden_weak_alias (name, __GI_##name)
 #  define hidden_data_ver(local, name) strong_data_alias (local, __GI_##name)
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define HIDDEN_JUMPTARGET(name) .__GI_##name
-#  else
-#   define HIDDEN_JUMPTARGET(name) __GI_##name
-#  endif
+#  define HIDDEN_JUMPTARGET(name) __GI_##name
 # endif /* __ASSEMBLER__ */
 
 #else /* not SHARED */
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
index e69814e..3f2a1a3 100644
--- a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 4515755..1fe8fbc 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
index e85aa52..6142c49 100644
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
index 3da62c2..e2632db 100644
--- a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
index fa0f4e9..6205078 100644
--- a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
index 4c44985..1515a55 100644
--- a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index f3e3fd1..9ad693a 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index 0b47ee9..570a28d 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
index fb430ae..44d8296 100644
--- a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
index 9ec948d..07c12a6 100644
--- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index e2be1df..0b148e8 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
index deaf6c7..bc40e4b 100644
--- a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
index 03a6fc6..388226c 100644
--- a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
index 4bab547..dfcccc2 100644
--- a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
index 05fca8d..eb1ce25 100644
--- a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
index 8523602..89b204e 100644
--- a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
@@ -37,9 +37,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports IEEE signed zero floats */
 #define __UCLIBC_HAVE_SIGNED_ZERO__
 
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
index 164659c..74d131b 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
index 2b50771..6178a01 100644
--- a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
@@ -37,9 +37,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
index 30ae443..c066bc7 100644
--- a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports IEEE signed zero floats */
 #define __UCLIBC_HAVE_SIGNED_ZERO__
 
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
index ed1195a..a889f84 100644
--- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
index 902b63b..5a194af 100644
--- a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
+++ b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
@@ -66,16 +66,6 @@
 name##: OPD_ENT (name);				\
 	.previous;
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT_LABEL(X) .##X
-# define BODY_LABEL(X) .##X
-# define ENTRY_2(name)	\
-	.globl BODY_LABEL(name);		\
-	ENTRY_1(name)				\
-	.size name, 24;
-# define END_2(name)	\
-	.size BODY_LABEL(name),.-BODY_LABEL(name);
-#else
 # define DOT_LABEL(X) X
 # define BODY_LABEL(X) .LY##X
 # define ENTRY_2(name)	\
@@ -84,7 +74,6 @@ name##: OPD_ENT (name);				\
 # define END_2(name)	\
 	.size name,.-BODY_LABEL(name);		\
 	.size BODY_LABEL(name),.-BODY_LABEL(name);
-#endif
 
 #define ENTRY(name)	\
 	ENTRY_2(name)				\
@@ -242,22 +231,12 @@ LT_LABELSUFFIX(name,_name_end): ; \
 # define OPD_ENT(name)	".quad " BODY_PREFIX #name ", .TOC.@tocbase, 0;"
 #endif
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT_PREFIX "."
-# define BODY_PREFIX "."
-# define ENTRY_2(name)	\
-	".globl " BODY_PREFIX #name ";\n"				\
-	".size  " #name ", 24;"
-# define END_2(name)	\
-	".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";"
-#else
 # define DOT_PREFIX ""
 # define BODY_PREFIX ".LY"
 # define ENTRY_2(name) ".type " #name ",@function;"
 # define END_2(name)	\
 	".size " #name ",.-" BODY_PREFIX #name ";\n"			\
 	".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";"
-#endif
 
 #endif	/* __ASSEMBLER__ */
 
diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
index dde7dc4..c2c5a9a 100644
--- a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
index 746390b..5fe839a 100644
--- a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
index b76b861..62d49a3 100644
--- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
index 190d814..3565885 100644
--- a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
index 444eb0f..4d6edd5 100644
--- a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libpthread/linuxthreads_db/td_symbol_list.c b/libpthread/linuxthreads_db/td_symbol_list.c
index f62cd69..fd29333 100644
--- a/libpthread/linuxthreads_db/td_symbol_list.c
+++ b/libpthread/linuxthreads_db/td_symbol_list.c
@@ -20,12 +20,6 @@
 #include <assert.h>
 #include "thread_dbP.h"
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT "."		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT			/* No prefix.  */
-#endif
-
 static const char *symbol_list_arr[] =
 {
   [PTHREAD_THREADS_EVENTS] = "__pthread_threads_events",
@@ -36,9 +30,9 @@ static const char *symbol_list_arr[] =
   [LINUXTHREADS_PTHREAD_THREADS_MAX] = "__linuxthreads_pthread_threads_max",
   [LINUXTHREADS_PTHREAD_KEYS_MAX] = "__linuxthreads_pthread_keys_max",
   [LINUXTHREADS_PTHREAD_SIZEOF_DESCR] = "__linuxthreads_pthread_sizeof_descr",
-  [LINUXTHREADS_CREATE_EVENT] = DOT "__linuxthreads_create_event",
-  [LINUXTHREADS_DEATH_EVENT] = DOT "__linuxthreads_death_event",
-  [LINUXTHREADS_REAP_EVENT] = DOT "__linuxthreads_reap_event",
+  [LINUXTHREADS_CREATE_EVENT] = "__linuxthreads_create_event",
+  [LINUXTHREADS_DEATH_EVENT] = "__linuxthreads_death_event",
+  [LINUXTHREADS_REAP_EVENT] = "__linuxthreads_reap_event",
   [LINUXTHREADS_INITIAL_REPORT_EVENTS] = "__linuxthreads_initial_report_events",
   [LINUXTHREADS_VERSION] = "__linuxthreads_version",
   [NUM_MESSAGES] = NULL
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
index e2b1539..534281a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -25,11 +25,7 @@
 
 #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
 
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#  define DASHDASHPFX(str) .__##str
-# else
-#  define DASHDASHPFX(str) __##str
-# endif
+# define DASHDASHPFX(str) __##str
 
 # undef PSEUDO
 # define PSEUDO(name, syscall_name, args)				\
diff --git a/libpthread/nptl_db/td_symbol_list.c b/libpthread/nptl_db/td_symbol_list.c
index dcf7e5c..fc5ee7c 100644
--- a/libpthread/nptl_db/td_symbol_list.c
+++ b/libpthread/nptl_db/td_symbol_list.c
@@ -23,13 +23,6 @@
 #endif
 #include "thread_dbP.h"
 
-
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT "."		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT			/* No prefix.  */
-#endif
-
 static const char *symbol_list_arr[] =
 {
 # define DB_STRUCT(type) \
@@ -39,7 +32,7 @@ static const char *symbol_list_arr[] =
 # define DB_SYMBOL(name) \
   [SYM_##name] = #name,
 # define DB_FUNCTION(name) \
-  [SYM_##name] = DOT #name,
+  [SYM_##name] = #name,
 # define DB_VARIABLE(name) \
   [SYM_##name] = #name, \
   [SYM_DESC_##name] = "_thread_db_" #name,
@@ -73,14 +66,5 @@ td_lookup (struct ps_prochandle *ps, int idx, psaddr_t *sym_addr)
   assert (idx >= 0 && idx < SYM_NUM_MESSAGES);
   result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, symbol_list_arr[idx],
 			      sym_addr);
-
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-  /* For PowerPC, 64-bit uses dot symbols but 32-bit does not.
-     We could be a 64-bit libthread_db debugging a 32-bit libpthread.  */
-  if (result == PS_NOSYM && symbol_list_arr[idx][0] == '.')
-    result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, &symbol_list_arr[idx][1],
-				sym_addr);
-#endif
-
   return result;
 }
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch 1.0 updated. v1.0.9-6-g9cd6514
                        
                        
by wbx@helium.waldemar-brodkorb.de 05 Dec '15
                    by wbx@helium.waldemar-brodkorb.de 05 Dec '15
05 Dec '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
       via  9cd6514517f8b385fda74dcdca2b9266c6f7eb14 (commit)
      from  53c4826506f49cc3aebefed294a6e4af8bea4133 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9cd6514517f8b385fda74dcdca2b9266c6f7eb14
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Sat Dec 5 08:10:51 2015 +0100
    remove __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
    
    It's even no longer required for non-ported ppc64
    architecture. Sync with GNU C library.
    This simplify the macros in include/libc-symbols.h.
-----------------------------------------------------------------------
Summary of changes:
 include/libc-symbols.h                             |  118 +++-----------------
 .../linux/alpha/bits/uClibc_arch_features.h        |    3 -
 libc/sysdeps/linux/arc/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/arm/bits/uClibc_arch_features.h |    3 -
 .../linux/avr32/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/bfin/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h |    3 -
 .../linux/common/bits/uClibc_arch_features.h       |    3 -
 .../sysdeps/linux/cris/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/e1/bits/uClibc_arch_features.h  |    3 -
 libc/sysdeps/linux/frv/bits/uClibc_arch_features.h |    3 -
 .../linux/h8300/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/hppa/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/i386/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/i960/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/ia64/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/lm32/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/m68k/bits/uClibc_arch_features.h |    3 -
 .../linux/metag/bits/uClibc_arch_features.h        |    3 -
 .../linux/microblaze/bits/uClibc_arch_features.h   |    3 -
 .../sysdeps/linux/mips/bits/uClibc_arch_features.h |    3 -
 .../sysdeps/linux/nios/bits/uClibc_arch_features.h |    3 -
 .../linux/nios2/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/or1k/bits/uClibc_arch_features.h |    3 -
 .../linux/powerpc/bits/uClibc_arch_features.h      |    3 -
 libc/sysdeps/linux/powerpc/powerpc64/sysdep.h      |   21 ----
 libc/sysdeps/linux/sh/bits/uClibc_arch_features.h  |    3 -
 .../sysdeps/linux/sh64/bits/uClibc_arch_features.h |    3 -
 .../linux/sparc/bits/uClibc_arch_features.h        |    3 -
 .../sysdeps/linux/v850/bits/uClibc_arch_features.h |    3 -
 libc/sysdeps/linux/vax/bits/uClibc_arch_features.h |    3 -
 .../linux/x86_64/bits/uClibc_arch_features.h       |    3 -
 .../linux/xtensa/bits/uClibc_arch_features.h       |    3 -
 libpthread/linuxthreads.old_db/td_symbol_list.c    |   12 +-
 libpthread/linuxthreads_db/td_symbol_list.c        |   12 +-
 .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h   |    6 +-
 libpthread/nptl_db/td_symbol_list.c                |   18 +--
 37 files changed, 21 insertions(+), 259 deletions(-)
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 97463ac..e203622 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -138,12 +138,6 @@
 # undef HAVE_ASM_WEAKEXT_DIRECTIVE
 #endif
 
-#ifdef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-# define HAVE_ASM_GLOBAL_DOT_NAME
-#else
-# undef HAVE_ASM_GLOBAL_DOT_NAME
-#endif
-
 #ifdef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 # define HAVE_ASM_CFI_DIRECTIVES
 #else
@@ -169,17 +163,6 @@
 # define ASM_LINE_SEP ;
 #endif
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# ifndef C_SYMBOL_DOT_NAME
-#  if defined __GNUC__ && defined __GNUC_MINOR__ \
-      && (__GNUC__ << 16) + __GNUC_MINOR__ >= (3 << 16) + 1
-#   define C_SYMBOL_DOT_NAME(name) .name
-#  else
-#   define C_SYMBOL_DOT_NAME(name) .##name
-#  endif
-# endif
-#endif
-
 #ifndef __ASSEMBLER__
 /* GCC understands weak symbols and aliases; use its interface where
    possible, instead of embedded assembly language.  */
@@ -225,78 +208,34 @@
 #else /* __ASSEMBLER__ */
 
 # ifdef HAVE_ASM_SET_DIRECTIVE
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   define strong_data_alias(original, alias) \
+#  define strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#  else
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # else
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#   define strong_data_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#  else
-#   define strong_alias(original, alias) \
+#  define strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # endif
 
-# ifdef HAVE_WEAK_SYMBOLS
-#  ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define weak_alias(original, alias) \
-	.weakext C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	.weakext C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   else
+#  ifdef HAVE_WEAK_SYMBOLS
+#   ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
 #    define weak_alias(original, alias) \
 	.weakext C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   endif
-#   define weak_extern(symbol) \
+#    define weak_extern(symbol) \
 	.weakext C_SYMBOL_NAME(symbol)
 
 #  else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
 
 #   ifdef HAVE_ASM_SET_DIRECTIVE
-#    ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#     define weak_alias(original, alias) \
-	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	.weak	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#    else
-#     define weak_alias(original, alias) \
+#    define weak_alias(original, alias) \
 	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#    endif
 #   else /* ! HAVE_ASM_SET_DIRECTIVE */
-#    ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#     define weak_alias(original, alias) \
-	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	.weak	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#    else
-#     define weak_alias(original, alias) \
+#    define weak_alias(original, alias) \
 	.weak	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#    endif
 #   endif
 #   define weak_extern(symbol) \
 	.weak	C_SYMBOL_NAME(symbol)
@@ -503,47 +442,20 @@ FIXME! - ?
 # else /* __ASSEMBLER__ */
 
 #  ifdef HAVE_ASM_SET_DIRECTIVE
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)	ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	.set	C_SYMBOL_DOT_NAME(alias),C_SYMBOL_DOT_NAME(original)
-#   else
-#    define _hidden_strong_alias(original, alias) \
+#   define _hidden_strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	.set	C_SYMBOL_NAME(alias),C_SYMBOL_NAME(original)
-#   endif
 #  else /* dont have .set directive */
-#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#    define _hidden_strong_alias(original, alias) \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)		ASM_LINE_SEP \
-	ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME(alias)		ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
-	C_SYMBOL_DOT_NAME(alias) = C_SYMBOL_DOT_NAME(original)
-#   else
-#    define _hidden_strong_alias(original, alias) \
+#   define _hidden_strong_alias(original, alias) \
 	ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(alias)		ASM_LINE_SEP \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
 	C_SYMBOL_NAME(alias) = C_SYMBOL_NAME(original)
-#   endif
 #  endif
 
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define _hidden_weak_alias(original, alias) \
+#  define _hidden_weak_alias(original, alias) \
 	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	.hidden	C_SYMBOL_DOT_NAME(alias)			ASM_LINE_SEP \
 	weak_alias(original, alias)
-#  else
-#   define _hidden_weak_alias(original, alias) \
-	.hidden	C_SYMBOL_NAME(alias)				ASM_LINE_SEP \
-	weak_alias(original, alias)
-#  endif
 
 /* For assembly, we need to do the opposite of what we do in C:
    in assembly gcc __REDIRECT stuff is not in place, so functions
@@ -560,11 +472,7 @@ FIXME! - ?
 #  define hidden_data_def(name)	_hidden_strong_alias (name, __GI_##name)
 #  define hidden_data_weak(name)	_hidden_weak_alias (name, __GI_##name)
 #  define hidden_data_ver(local, name) strong_data_alias (local, __GI_##name)
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define HIDDEN_JUMPTARGET(name) .__GI_##name
-#  else
-#   define HIDDEN_JUMPTARGET(name) __GI_##name
-#  endif
+#  define HIDDEN_JUMPTARGET(name) __GI_##name
 # endif /* __ASSEMBLER__ */
 
 #else /* not SHARED */
diff --git a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
index e69814e..3f2a1a3 100644
--- a/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/alpha/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
index 4515755..1fe8fbc 100755
--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
index e85aa52..6142c49 100644
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
index 3da62c2..e2632db 100644
--- a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
index fa0f4e9..6205078 100644
--- a/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/bfin/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
index 4c44985..1515a55 100644
--- a/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/c6x/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index f3e3fd1..9ad693a 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
index 0b47ee9..570a28d 100644
--- a/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/cris/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/e1/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/frv/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
index fb430ae..44d8296 100644
--- a/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/h8300/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
index 9ec948d..07c12a6 100644
--- a/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/hppa/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
index e2be1df..0b148e8 100644
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
index deaf6c7..bc40e4b 100644
--- a/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i960/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
index 03a6fc6..388226c 100644
--- a/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/ia64/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
index 4bab547..dfcccc2 100644
--- a/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/lm32/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
index 05fca8d..eb1ce25 100644
--- a/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/m68k/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
index 8523602..89b204e 100644
--- a/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/metag/bits/uClibc_arch_features.h
@@ -37,9 +37,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports IEEE signed zero floats */
 #define __UCLIBC_HAVE_SIGNED_ZERO__
 
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
index 164659c..74d131b 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
index 2b50771..6178a01 100644
--- a/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/mips/bits/uClibc_arch_features.h
@@ -37,9 +37,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
index 32247b8..c07d2b6 100644
--- a/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/nios2/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
index 30ae443..c066bc7 100644
--- a/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/or1k/bits/uClibc_arch_features.h
@@ -35,9 +35,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports IEEE signed zero floats */
 #define __UCLIBC_HAVE_SIGNED_ZERO__
 
diff --git a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
index ed1195a..a889f84 100644
--- a/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/powerpc/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
index 902b63b..5a194af 100644
--- a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
+++ b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h
@@ -66,16 +66,6 @@
 name##: OPD_ENT (name);				\
 	.previous;
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT_LABEL(X) .##X
-# define BODY_LABEL(X) .##X
-# define ENTRY_2(name)	\
-	.globl BODY_LABEL(name);		\
-	ENTRY_1(name)				\
-	.size name, 24;
-# define END_2(name)	\
-	.size BODY_LABEL(name),.-BODY_LABEL(name);
-#else
 # define DOT_LABEL(X) X
 # define BODY_LABEL(X) .LY##X
 # define ENTRY_2(name)	\
@@ -84,7 +74,6 @@ name##: OPD_ENT (name);				\
 # define END_2(name)	\
 	.size name,.-BODY_LABEL(name);		\
 	.size BODY_LABEL(name),.-BODY_LABEL(name);
-#endif
 
 #define ENTRY(name)	\
 	ENTRY_2(name)				\
@@ -242,22 +231,12 @@ LT_LABELSUFFIX(name,_name_end): ; \
 # define OPD_ENT(name)	".quad " BODY_PREFIX #name ", .TOC.@tocbase, 0;"
 #endif
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT_PREFIX "."
-# define BODY_PREFIX "."
-# define ENTRY_2(name)	\
-	".globl " BODY_PREFIX #name ";\n"				\
-	".size  " #name ", 24;"
-# define END_2(name)	\
-	".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";"
-#else
 # define DOT_PREFIX ""
 # define BODY_PREFIX ".LY"
 # define ENTRY_2(name) ".type " #name ",@function;"
 # define END_2(name)	\
 	".size " #name ",.-" BODY_PREFIX #name ";\n"			\
 	".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";"
-#endif
 
 #endif	/* __ASSEMBLER__ */
 
diff --git a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
index dde7dc4..c2c5a9a 100644
--- a/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh/bits/uClibc_arch_features.h
@@ -36,9 +36,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
index 001c5c2..5fc959f 100644
--- a/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sh64/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
index 746390b..5fe839a 100644
--- a/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/sparc/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
index b76b861..62d49a3 100644
--- a/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/v850/bits/uClibc_arch_features.h
@@ -33,9 +33,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h b/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
index 13cbff0..bf32289 100644
--- a/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/vax/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
index 190d814..3565885 100644
--- a/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/x86_64/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #define __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
index 444eb0f..4d6edd5 100644
--- a/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/xtensa/bits/uClibc_arch_features.h
@@ -32,9 +32,6 @@
 /* define if target supports .weakext */
 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
 
-/* needed probably only for ppc64 */
-#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
-
 /* define if target supports CFI pseudo ops */
 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
 
diff --git a/libpthread/linuxthreads.old_db/td_symbol_list.c b/libpthread/linuxthreads.old_db/td_symbol_list.c
index f62cd69..fd29333 100644
--- a/libpthread/linuxthreads.old_db/td_symbol_list.c
+++ b/libpthread/linuxthreads.old_db/td_symbol_list.c
@@ -20,12 +20,6 @@
 #include <assert.h>
 #include "thread_dbP.h"
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT "."		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT			/* No prefix.  */
-#endif
-
 static const char *symbol_list_arr[] =
 {
   [PTHREAD_THREADS_EVENTS] = "__pthread_threads_events",
@@ -36,9 +30,9 @@ static const char *symbol_list_arr[] =
   [LINUXTHREADS_PTHREAD_THREADS_MAX] = "__linuxthreads_pthread_threads_max",
   [LINUXTHREADS_PTHREAD_KEYS_MAX] = "__linuxthreads_pthread_keys_max",
   [LINUXTHREADS_PTHREAD_SIZEOF_DESCR] = "__linuxthreads_pthread_sizeof_descr",
-  [LINUXTHREADS_CREATE_EVENT] = DOT "__linuxthreads_create_event",
-  [LINUXTHREADS_DEATH_EVENT] = DOT "__linuxthreads_death_event",
-  [LINUXTHREADS_REAP_EVENT] = DOT "__linuxthreads_reap_event",
+  [LINUXTHREADS_CREATE_EVENT] = "__linuxthreads_create_event",
+  [LINUXTHREADS_DEATH_EVENT] = "__linuxthreads_death_event",
+  [LINUXTHREADS_REAP_EVENT] = "__linuxthreads_reap_event",
   [LINUXTHREADS_INITIAL_REPORT_EVENTS] = "__linuxthreads_initial_report_events",
   [LINUXTHREADS_VERSION] = "__linuxthreads_version",
   [NUM_MESSAGES] = NULL
diff --git a/libpthread/linuxthreads_db/td_symbol_list.c b/libpthread/linuxthreads_db/td_symbol_list.c
index f62cd69..fd29333 100644
--- a/libpthread/linuxthreads_db/td_symbol_list.c
+++ b/libpthread/linuxthreads_db/td_symbol_list.c
@@ -20,12 +20,6 @@
 #include <assert.h>
 #include "thread_dbP.h"
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT "."		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT			/* No prefix.  */
-#endif
-
 static const char *symbol_list_arr[] =
 {
   [PTHREAD_THREADS_EVENTS] = "__pthread_threads_events",
@@ -36,9 +30,9 @@ static const char *symbol_list_arr[] =
   [LINUXTHREADS_PTHREAD_THREADS_MAX] = "__linuxthreads_pthread_threads_max",
   [LINUXTHREADS_PTHREAD_KEYS_MAX] = "__linuxthreads_pthread_keys_max",
   [LINUXTHREADS_PTHREAD_SIZEOF_DESCR] = "__linuxthreads_pthread_sizeof_descr",
-  [LINUXTHREADS_CREATE_EVENT] = DOT "__linuxthreads_create_event",
-  [LINUXTHREADS_DEATH_EVENT] = DOT "__linuxthreads_death_event",
-  [LINUXTHREADS_REAP_EVENT] = DOT "__linuxthreads_reap_event",
+  [LINUXTHREADS_CREATE_EVENT] = "__linuxthreads_create_event",
+  [LINUXTHREADS_DEATH_EVENT] = "__linuxthreads_death_event",
+  [LINUXTHREADS_REAP_EVENT] = "__linuxthreads_reap_event",
   [LINUXTHREADS_INITIAL_REPORT_EVENTS] = "__linuxthreads_initial_report_events",
   [LINUXTHREADS_VERSION] = "__linuxthreads_version",
   [NUM_MESSAGES] = NULL
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
index e2b1539..534281a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -25,11 +25,7 @@
 
 #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
 
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#  define DASHDASHPFX(str) .__##str
-# else
-#  define DASHDASHPFX(str) __##str
-# endif
+# define DASHDASHPFX(str) __##str
 
 # undef PSEUDO
 # define PSEUDO(name, syscall_name, args)				\
diff --git a/libpthread/nptl_db/td_symbol_list.c b/libpthread/nptl_db/td_symbol_list.c
index dcf7e5c..fc5ee7c 100644
--- a/libpthread/nptl_db/td_symbol_list.c
+++ b/libpthread/nptl_db/td_symbol_list.c
@@ -23,13 +23,6 @@
 #endif
 #include "thread_dbP.h"
 
-
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT "."		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT			/* No prefix.  */
-#endif
-
 static const char *symbol_list_arr[] =
 {
 # define DB_STRUCT(type) \
@@ -39,7 +32,7 @@ static const char *symbol_list_arr[] =
 # define DB_SYMBOL(name) \
   [SYM_##name] = #name,
 # define DB_FUNCTION(name) \
-  [SYM_##name] = DOT #name,
+  [SYM_##name] = #name,
 # define DB_VARIABLE(name) \
   [SYM_##name] = #name, \
   [SYM_DESC_##name] = "_thread_db_" #name,
@@ -73,14 +66,5 @@ td_lookup (struct ps_prochandle *ps, int idx, psaddr_t *sym_addr)
   assert (idx >= 0 && idx < SYM_NUM_MESSAGES);
   result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, symbol_list_arr[idx],
 			      sym_addr);
-
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-  /* For PowerPC, 64-bit uses dot symbols but 32-bit does not.
-     We could be a 64-bit libthread_db debugging a 32-bit libpthread.  */
-  if (result == PS_NOSYM && symbol_list_arr[idx][0] == '.')
-    result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, &symbol_list_arr[idx][1],
-				sym_addr);
-#endif
-
   return result;
 }
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Hi Daniel,
Tux Mason wrote,
> Dear Waldemar,
> 
> Sorry your reply landed in my spam folder. Am working on multilingual UI for
> one of my projects and I figured, locale support would be needed.
Can you explain in more detail what do you need?
Can you provide some example code using locale support?
I am not sure if you require to have any C library pregenerated
locale data for your use case. May be you just need the locale
functions and your own data.
 
> Am aware glibc and musl have better locale support. This is stupid, but it's
> for sentimental reasons that am sticking to uClibc/uClibc-ng. On the same note,
> good work for all your effort to drive the project further.
Thanks
 Waldemar
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch 1.0 updated. v1.0.9-5-g53c4826
                        
                        
by wbx@helium.waldemar-brodkorb.de 30 Nov '15
                    by wbx@helium.waldemar-brodkorb.de 30 Nov '15
30 Nov '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
       via  53c4826506f49cc3aebefed294a6e4af8bea4133 (commit)
       via  037a5ae08a3e4dca516bc112fbfa1d1f05d1e67b (commit)
       via  a8cbdc3aaaca564e52ee77a9c5eff050ccd7d8a4 (commit)
      from  057b857cbeb0aa6e3cb1e6db4cd80ebbf9bfe274 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 53c4826506f49cc3aebefed294a6e4af8bea4133
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Mon Nov 30 18:32:12 2015 +0100
    bfin: fix clashing with newer gcc
    
    See here for a discussion about the problem:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779
    
    Latest gcc/binutils git can generate a working uClibc-ng
    toolchain. Binaries tested on Arcturus uCBF54x board via
    chroot from original firmware.
commit 037a5ae08a3e4dca516bc112fbfa1d1f05d1e67b
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Mon Nov 30 18:31:53 2015 +0100
    bfin: use vfork.S again
    
    Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as
    it breaks vfork() on real hardware. So the common
    implementation no longer works for bfin.
commit a8cbdc3aaaca564e52ee77a9c5eff050ccd7d8a4
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Tue Nov 24 22:07:16 2015 +0100
    xtensa: avoid some compiler warnings
    
    Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
    Signed-off-by: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
-----------------------------------------------------------------------
Summary of changes:
 libc/sysdeps/linux/bfin/Makefile.arch                |    2 +-
 libc/sysdeps/linux/bfin/sys/ucontext.h               |    6 ++++++
 libc/sysdeps/linux/bfin/vfork.S                      |   18 ++++++++++++++++++
 .../sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h   |    2 ++
 4 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 libc/sysdeps/linux/bfin/vfork.S
diff --git a/libc/sysdeps/linux/bfin/Makefile.arch b/libc/sysdeps/linux/bfin/Makefile.arch
index df76ab0..8e945cd 100644
--- a/libc/sysdeps/linux/bfin/Makefile.arch
+++ b/libc/sysdeps/linux/bfin/Makefile.arch
@@ -8,7 +8,7 @@
 CSRC-y := bsdsetjmp.c clone.c \
 	sram-alloc.c sram-free.c dma-memcpy.c
 
-SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S
+SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S vfork.S
 
 CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c
 
diff --git a/libc/sysdeps/linux/bfin/sys/ucontext.h b/libc/sysdeps/linux/bfin/sys/ucontext.h
index 4b3654d..b6e3a40 100644
--- a/libc/sysdeps/linux/bfin/sys/ucontext.h
+++ b/libc/sysdeps/linux/bfin/sys/ucontext.h
@@ -32,6 +32,11 @@ typedef int greg_t;
 /* Container for all general registers.  */
 typedef greg_t gregset_t[NGREG];
 
+/* There is no user thread context implementation for bfin, avoid
+   clashing with gcc symbols, see:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779
+*/
+#if 0
 /* Number of each register is the `gregset_t' array.  */
 enum
 {
@@ -130,6 +135,7 @@ enum
   REG_SEQSTAT = 46
 #define	REG_SEQSTAT	REG_SEQSTAT
 };
+#endif
 
 /* Context to describe whole processor state.  */
 typedef struct
diff --git a/libc/sysdeps/linux/bfin/vfork.S b/libc/sysdeps/linux/bfin/vfork.S
new file mode 100644
index 0000000..d8e6557
--- /dev/null
+++ b/libc/sysdeps/linux/bfin/vfork.S
@@ -0,0 +1,18 @@
+/*
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <sys/syscall.h>
+
+.text
+.global ___vfork
+.hidden ___vfork
+.type  ___vfork,STT_FUNC;
+.align 4
+___vfork:
+       p0 = __NR_vfork;
+       excpt 0;
+       rts;
+.size ___vfork,.-___vfork
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h b/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
index 02fe278..be1b5ab 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
@@ -25,6 +25,7 @@
 
 #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
 
+#ifdef __ASSEMBLER__
 #if defined(__XTENSA_WINDOWED_ABI__)
 /* CENABLE/CDISABLE in PSEUDO below use call8, stack frame size must be
  * at least 32.
@@ -117,6 +118,7 @@
 #else
 #error Unsupported Xtensa ABI
 #endif
+#endif
 
 # ifdef IS_IN_libpthread
 #  define CENABLE_FUNC	__pthread_enable_asynccancel
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch master updated. a10bef923c796d086d65019114fc80ef2d3624df
                        
                        
by wbx@helium.waldemar-brodkorb.de 30 Nov '15
                    by wbx@helium.waldemar-brodkorb.de 30 Nov '15
30 Nov '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
       via  a10bef923c796d086d65019114fc80ef2d3624df (commit)
       via  edb9657fbfe728882789e65e0266bd440f02b44f (commit)
      from  43181763e535ef94f5122945c26ad335f0a71e9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a10bef923c796d086d65019114fc80ef2d3624df
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Mon Nov 30 18:32:12 2015 +0100
    bfin: fix clashing with newer gcc
    
    See here for a discussion about the problem:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779
    
    Latest gcc/binutils git can generate a working uClibc-ng
    toolchain. Binaries tested on Arcturus uCBF54x board via
    chroot from original firmware.
commit edb9657fbfe728882789e65e0266bd440f02b44f
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Mon Nov 30 18:31:53 2015 +0100
    bfin: use vfork.S again
    
    Actually revert 711ad9f92c1cf992c4a3d9f4f709bd692be7789c, as
    it breaks vfork() on real hardware. So the common
    implementation no longer works for bfin.
-----------------------------------------------------------------------
Summary of changes:
 libc/sysdeps/linux/bfin/Makefile.arch  |    2 +-
 libc/sysdeps/linux/bfin/sys/ucontext.h |    6 ++++++
 libc/sysdeps/linux/bfin/vfork.S        |   18 ++++++++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 libc/sysdeps/linux/bfin/vfork.S
diff --git a/libc/sysdeps/linux/bfin/Makefile.arch b/libc/sysdeps/linux/bfin/Makefile.arch
index df76ab0..8e945cd 100644
--- a/libc/sysdeps/linux/bfin/Makefile.arch
+++ b/libc/sysdeps/linux/bfin/Makefile.arch
@@ -8,7 +8,7 @@
 CSRC-y := bsdsetjmp.c clone.c \
 	sram-alloc.c sram-free.c dma-memcpy.c
 
-SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S
+SSRC-y := __longjmp.S setjmp.S bsd-_setjmp.S vfork.S
 
 CSRC-$(UCLIBC_LINUX_SPECIFIC) += cacheflush.c
 
diff --git a/libc/sysdeps/linux/bfin/sys/ucontext.h b/libc/sysdeps/linux/bfin/sys/ucontext.h
index 4b3654d..b6e3a40 100644
--- a/libc/sysdeps/linux/bfin/sys/ucontext.h
+++ b/libc/sysdeps/linux/bfin/sys/ucontext.h
@@ -32,6 +32,11 @@ typedef int greg_t;
 /* Container for all general registers.  */
 typedef greg_t gregset_t[NGREG];
 
+/* There is no user thread context implementation for bfin, avoid
+   clashing with gcc symbols, see:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779
+*/
+#if 0
 /* Number of each register is the `gregset_t' array.  */
 enum
 {
@@ -130,6 +135,7 @@ enum
   REG_SEQSTAT = 46
 #define	REG_SEQSTAT	REG_SEQSTAT
 };
+#endif
 
 /* Context to describe whole processor state.  */
 typedef struct
diff --git a/libc/sysdeps/linux/bfin/vfork.S b/libc/sysdeps/linux/bfin/vfork.S
new file mode 100644
index 0000000..d8e6557
--- /dev/null
+++ b/libc/sysdeps/linux/bfin/vfork.S
@@ -0,0 +1,18 @@
+/*
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#include <sys/syscall.h>
+
+.text
+.global ___vfork
+.hidden ___vfork
+.type  ___vfork,STT_FUNC;
+.align 4
+___vfork:
+       p0 = __NR_vfork;
+       excpt 0;
+       rts;
+.size ___vfork,.-___vfork
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch master updated. 43181763e535ef94f5122945c26ad335f0a71e9c
                        
                        
by wbx@helium.waldemar-brodkorb.de 24 Nov '15
                    by wbx@helium.waldemar-brodkorb.de 24 Nov '15
24 Nov '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
       via  43181763e535ef94f5122945c26ad335f0a71e9c (commit)
      from  6f3ed4e9d23a66883549fe96728e44d2d88c7af1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 43181763e535ef94f5122945c26ad335f0a71e9c
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Tue Nov 24 22:07:16 2015 +0100
    xtensa: avoid some compiler warnings
    
    Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
    Signed-off-by: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
-----------------------------------------------------------------------
Summary of changes:
 libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h |    2 ++
 1 file changed, 2 insertions(+)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h b/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
index 02fe278..be1b5ab 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/sysdep-cancel.h
@@ -25,6 +25,7 @@
 
 #if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
 
+#ifdef __ASSEMBLER__
 #if defined(__XTENSA_WINDOWED_ABI__)
 /* CENABLE/CDISABLE in PSEUDO below use call8, stack frame size must be
  * at least 32.
@@ -117,6 +118,7 @@
 #else
 #error Unsupported Xtensa ABI
 #endif
+#endif
 
 # ifdef IS_IN_libpthread
 #  define CENABLE_FUNC	__pthread_enable_asynccancel
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            uClibc-ng - small C library for embedded systems	branch 1.0 updated. v1.0.9-2-g057b857
                        
                        
by wbx@helium.waldemar-brodkorb.de 23 Nov '15
                    by wbx@helium.waldemar-brodkorb.de 23 Nov '15
23 Nov '15
                    
                        This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated
       via  057b857cbeb0aa6e3cb1e6db4cd80ebbf9bfe274 (commit)
       via  082ae9d1289fe20f8e96c30cfe05650c3e72eb02 (commit)
      from  70c47188ecf16d626893b6f06c5843830c98fa35 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 057b857cbeb0aa6e3cb1e6db4cd80ebbf9bfe274
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date:   Mon Nov 23 19:07:31 2015 +0100
    xtensa: remove ldso workaround by real pointer check
    
    An abort() is only generated when gcc does not implement
    a trap handler for the target architecture.
    This fixes the abort() generation. Latest gcc git master
    also contains a trap handler for xtensa.
    
    Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
    Signed-off-by: Walemar Brodkorb <wbx(a)uclibc-ng.org>
commit 082ae9d1289fe20f8e96c30cfe05650c3e72eb02
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date:   Fri Nov 13 18:56:50 2015 +0100
    mips: remove ISA choice
    
    We don't add cpu specific CFLAGS to the build, so the
    ISA config symbols for MIPS are noops.
    Simple remove them.
    
    Reported-By: Bryan Hundven <bryanhundven(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
 extra/Configs/Config.mips  |   45 --------------------------------------------
 ldso/include/tlsdeschtab.h |    2 ++
 ldso/ldso/Makefile.in      |    5 -----
 test/math/Makefile.in      |    2 +-
 4 files changed, 3 insertions(+), 51 deletions(-)
diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips
index 4d30d31..e0b62dd 100644
--- a/extra/Configs/Config.mips
+++ b/extra/Configs/Config.mips
@@ -31,48 +31,3 @@ config CONFIG_MIPS_N64_ABI
 	bool "N64 ABI"
 
 endchoice
-
-choice
-	prompt "Target Processor Architecture"
-	default CONFIG_MIPS_ISA_1 if CONFIG_MIPS_O32_ABI
-	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N32_ABI
-	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N64_ABI
-	help
-	  This selects the instruction set architecture of your MIPS CPU. This
-	  information is used for optimizing purposes. To build a library that
-	  will run on any MIPS CPU, you can specify "Generic (MIPS I)" here.
-	  If you pick anything other than "Generic (MIPS I)," there is no
-	  guarantee that uClibc will even run on anything other than the
-	  selected processor type.
-
-	  You should probably select the MIPS ISA that best matches the
-	  CPU you will be using on your device. uClibc will be tuned
-	  for that architecture.
-
-	  If you don't know what to do, choose "Generic (MIPS I)"
-
-config CONFIG_MIPS_ISA_1
-	bool "Generic (MIPS I)"
-
-config CONFIG_MIPS_ISA_2
-	bool "MIPS II"
-
-config CONFIG_MIPS_ISA_3
-	bool "MIPS III"
-
-config CONFIG_MIPS_ISA_4
-	bool "MIPS IV"
-
-config CONFIG_MIPS_ISA_MIPS32
-	bool "MIPS32"
-
-config CONFIG_MIPS_ISA_MIPS32R2
-	bool "MIPS32r2"
-
-config CONFIG_MIPS_ISA_MIPS64
-	bool "MIPS64"
-
-config CONFIG_MIPS_ISA_MIPS64R2
-	bool "MIPS64r2"
-
-endchoice
diff --git a/ldso/include/tlsdeschtab.h b/ldso/include/tlsdeschtab.h
index 86baea1..056f859 100644
--- a/ldso/include/tlsdeschtab.h
+++ b/ldso/include/tlsdeschtab.h
@@ -98,6 +98,8 @@ _dl_make_tlsdesc_dynamic (struct link_map *map, size_t ti_offset)
   test.tlsinfo.ti_module = map->l_tls_modid;
   test.tlsinfo.ti_offset = ti_offset;
   entry = htab_find_slot (ht, &test, 1, hash_tlsdesc, eq_tlsdesc);
+  if (entry == NULL)
+    _dl_exit(1);
   if (*entry)
     {
       td = *entry;
diff --git a/ldso/ldso/Makefile.in b/ldso/ldso/Makefile.in
index ffbb5cc..75c2a06 100644
--- a/ldso/ldso/Makefile.in
+++ b/ldso/ldso/Makefile.in
@@ -27,11 +27,6 @@ CFLAGS-$(DODEBUG)-ldso/ldso := -O2 -g
 
 CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
 
-# avoid ld.so linking error since gcc 4.9.x: undefined reference to abort
-ifeq ($(TARGET_ARCH),xtensa)
-CFLAGS-ldso.c += -fno-delete-null-pointer-checks
-endif
-
 LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-$(UCLIBC_LDSO_NAME).so := -Wl,--dsbt-index=1
 ifneq ($(SUPPORT_LD_DEBUG),y)
 LDFLAGS-$(UCLIBC_LDSO_NAME).so := $(LDFLAGS)
diff --git a/test/math/Makefile.in b/test/math/Makefile.in
index 147d579..9fbd58a 100644
--- a/test/math/Makefile.in
+++ b/test/math/Makefile.in
@@ -35,7 +35,7 @@ $(MDEPS): libm-test.c
 
 ULP_SUFFIX :=
 ifeq ($(TARGET_ARCH),mips)
-ULP_SUFFIX:=$(if $(CONFIG_MIPS_ISA_MIPS64R1)$(CONFIG_MIPS_ISA_MIPS64R2),64,32)
+ULP_SUFFIX:=$(if $(CONFIG_MIPS_N64_ABI),64,32)
 endif
 
 TARGET_ULP := $(if $(wildcard libm-test-ulps-$(TARGET_ARCH)$(ULP_SUFFIX)),$(TARGET_ARCH)$(ULP_SUFFIX),generic)
hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    