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[] = "(a)(#)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>om>, 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>rg>.
-
- 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>rg>.
-
- 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>rg>.
-
- 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