diff options
Diffstat (limited to 'mdk-stage1/dietlibc')
1204 files changed, 0 insertions, 55878 deletions
diff --git a/mdk-stage1/dietlibc/.cvsignore b/mdk-stage1/dietlibc/.cvsignore deleted file mode 100644 index f0be42e21..000000000 --- a/mdk-stage1/dietlibc/.cvsignore +++ /dev/null @@ -1,28 +0,0 @@ -t -elftrunc -mapfile -t1 -load -compile -bin-alpha -bin-arm -bin-i386 -bin-mips -bin-ppc -bin-sparc -bin-mipsel -bin-parisc -bin-s390 -bin-sparc64 -pic-alpha -pic-arm -pic-i386 -pic-mips -pic-ppc -pic-sparc -pic-mipsel -pic-parisc -pic-s390 -pic-sparc64 -bin-ia64 -bin-x86_64 diff --git a/mdk-stage1/dietlibc/AUTHOR b/mdk-stage1/dietlibc/AUTHOR deleted file mode 100644 index 3f6a44e6d..000000000 --- a/mdk-stage1/dietlibc/AUTHOR +++ /dev/null @@ -1,3 +0,0 @@ -Felix von Leitner <felix-dietlibc@fefe.de> - -Please see the file THANKS for additional authors and contributors. diff --git a/mdk-stage1/dietlibc/Makefile b/mdk-stage1/dietlibc/Makefile deleted file mode 100644 index 0fe32e61b..000000000 --- a/mdk-stage1/dietlibc/Makefile +++ /dev/null @@ -1,413 +0,0 @@ -INSTALL=install -prefix?=/usr -# Set the following to install to a different root -#DESTDIR=/tmp/fefix -# Use "make DEBUG=1" to compile a debug version. - -MYARCH:=$(shell uname -m | sed -e 's/i[4-9]86/i386/' -e 's/armv[3-6][lb]/arm/' -e 's/ppc64/ppc/') - -# This extra-ugly cruft is here so make will not run uname and sed each -# time it looks at $(OBJDIR).  This alone sped up running make when -# nothing has to be done from 1 sec to 0.12 sec on a 900 MHz Athlon. -# We don't use ARCH:=$(MYARCH) so we can detect unknown architectures. -ifeq ($(MYARCH),i386) -ARCH=i386 -else -ifeq ($(MYARCH),mips) -ARCH=mips -else -ifeq ($(MYARCH),alpha) -ARCH=alpha -else -ifeq ($(MYARCH),ppc) -ARCH=ppc -else -ifeq ($(MYARCH),arm) -ARCH=arm -else -ifeq ($(MYARCH),sparc) -ARCH=sparc -else -ifeq ($(MYARCH),sparc64) -ARCH=sparc64 -else -ifeq ($(MYARCH),s390) -ARCH=s390 -else -ifeq ($(MYARCH),mipsel) -ARCH=mipsel -else -ifeq ($(MYARCH),parisc) -ARCH=parisc -else -ifeq ($(MYARCH),parisc64) -ARCH=parisc -MYARCH=parisc -else -ifeq ($(MYARCH),x86_64) -ARCH=x86_64 -else -ifeq ($(MYARCH),ia64) -ARCH=ia64 -else -$(error unknown architecture, please fix Makefile) -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif -endif - -# ARCH=$(MYARCH) - -LIBDIR=${prefix}/lib -ifeq ($(ARCH),x86_64) -LIBDIR=${prefix}/lib64 -endif -BINDIR=${prefix}/bin -MAN1DIR=${prefix}/share/man/man1 -INSTALLHOME=$(LIBDIR)/dietlibc - -OBJDIR=bin-$(ARCH) -ILIBDIR=$(INSTALLHOME)/lib-$(ARCH) - -HOME=$(shell pwd) - -WHAT=	$(OBJDIR) $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o \ -	$(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a \ -	$(OBJDIR)/libcompat.a $(OBJDIR)/libm.a \ -	$(OBJDIR)/librpc.a $(OBJDIR)/libpthread.a \ -	$(OBJDIR)/diet $(OBJDIR)/diet-i - -all: $(WHAT) - -profiling: $(OBJDIR)/libgmon.a $(OBJDIR)/pstart.o - -CFLAGS=-pipe -nostdinc -CROSS= - -CC=gcc - -VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:libcompat:libdl:librpc:libregex:libm:profiling - -SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S)) - -LIBOBJ=$(patsubst lib/%.c,$(OBJDIR)/%.o,$(wildcard lib/*.c)) -LIBUGLYOBJ=$(patsubst libugly/%.c,$(OBJDIR)/%.o,$(wildcard libugly/*.c)) -LIBSTDIOOBJ=$(patsubst libstdio/%.c,$(OBJDIR)/%.o,$(wildcard libstdio/*.c)) -LIBCRUFTOBJ=$(patsubst libcruft/%.c,$(OBJDIR)/%.o,$(wildcard libcruft/*.c)) -LIBCRYPTOBJ=$(patsubst libcrypt/%.c,$(OBJDIR)/%.o,$(wildcard libcrypt/*.c)) -LIBSHELLOBJ=$(patsubst libshell/%.c,$(OBJDIR)/%.o,$(wildcard libshell/*.c)) -LIBCOMPATOBJ=$(patsubst libcompat/%.c,$(OBJDIR)/%.o,$(wildcard libcompat/*.c)) $(OBJDIR)/syscall.o -LIBMATH=$(patsubst libm/%.c,%.o,$(wildcard libm/*.c)) - -LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c)) -LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c)) - -LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(wildcard libdl/*.c)) $(OBJDIR)/_dl_jump.o - -LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o - -LIBGMON_OBJS=$(OBJDIR)/__mcount.o $(OBJDIR)/monitor.o $(OBJDIR)/profil.o - -include $(ARCH)/Makefile.add - -LIBMATHOBJ=$(patsubst %,$(OBJDIR)/%,$(LIBMATH)) - -ifeq ($(CFLAGS),-pipe -nostdinc) -CFLAGS+=-O -fomit-frame-pointer -endif - -ifneq ($(DEBUG),) -CFLAGS = -g -COMMENT = : -endif -CFLAGS += -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wredundant-decls -Wno-unused - -PWD=$(shell pwd) - -.SUFFIXES: -.SUFFIXES: .S .c - -# added real dynamic dietlibc.so -PICODIR = pic-$(ARCH) - -$(OBJDIR) $(PICODIR): -	mkdir $@ - -% :: %,v - -$(OBJDIR)/pstart.o: start.S -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -DPROFILING -c $< -o $@ - -$(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@ - -$(OBJDIR)/pthread_%.o: libpthread/pthread_%.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@ -	$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@ - -$(OBJDIR)/%.o: %.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@ -	$(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@ - -DIETLIBC_OBJ = $(OBJDIR)/unified.o \ -$(SYSCALLOBJ) $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \ -$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) \ -$(OBJDIR)/__longjmp.o $(OBJDIR)/setjmp.o \ -$(OBJDIR)/mmap.o $(OBJDIR)/clone.o - -$(OBJDIR)/dietlibc.a: $(DIETLIBC_OBJ) $(OBJDIR)/start.o -	$(CROSS)ar cru $@ $(DIETLIBC_OBJ) - -$(OBJDIR)/librpc.a: $(LIBRPCOBJ) -	$(CROSS)ar cru $@ $(LIBRPCOBJ) - -LIBLATIN1_OBJS=$(patsubst liblatin1/%.c,$(OBJDIR)/%.o,$(wildcard liblatin1/*.c)) -$(OBJDIR)/liblatin1.a: $(LIBLATIN1_OBJS) -	$(CROSS)ar cru $@ $^ - -$(OBJDIR)/libgmon.a: $(LIBGMON_OBJS) -	$(CROSS)ar cru $@ $^ - -$(OBJDIR)/libpthread.a: $(LIBPTHREAD_OBJS) dietfeatures.h -	$(CROSS)ar cru $@ $(LIBPTHREAD_OBJS) - -$(OBJDIR)/libcompat.a: $(LIBCOMPATOBJ) -	$(CROSS)ar cru $@ $(LIBCOMPATOBJ) - -$(OBJDIR)/libm.a: $(LIBMATHOBJ) -	$(CROSS)ar cru $@ $(LIBMATHOBJ) - -$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a -	$(CROSS)ld -whole-archive -shared -o $@ $^ - -dyn: dyn_lib - -# added dynamic linker -$(OBJDIR)/libdl.a: $(LIBDLOBJ) -	$(CROSS)ar cru $@ $(LIBDLOBJ) - -dyn_lib: $(PICODIR) $(PICODIR)/libc.so $(PICODIR)/dstart.o \ -	$(PICODIR)/dyn_so_start.o $(PICODIR)/dyn_start.o $(PICODIR)/dyn_stop.o \ -	$(PICODIR)/libpthread.so $(PICODIR)/libdl.so $(PICODIR)/libcompat.so \ -	$(PICODIR)/diet-dyn $(PICODIR)/diet-dyn-i - -$(PICODIR)/%.o: %.S $(ARCH)/syscalls.h -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ - -$(PICODIR)/pthread_%.o: libpthread/pthread_%.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ -	$(COMMENT) $(CROSS)strip -x -R .comment -R .note $@ - -$(PICODIR)/%.o: %.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ -	$(COMMENT) $(CROSS)strip -x -R .comment -R .note $@ - -$(PICODIR)/dstart.o: start.S -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ - -$(PICODIR)/dyn_so_start.o: dyn_start.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -D__DYN_LIB_SHARED -c $< -o $@ -	$(COMMENT) $(CROSS)strip -x -R .comment -R .note $@ - -DYN_LIBC_PIC = $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \ -$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) - -DYN_LIBC_OBJ = $(PICODIR)/dyn_syscalls.o $(PICODIR)/errlist.o \ -	$(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(DYN_LIBC_PIC)) - -DYN_PTHREAD_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBPTHREAD_OBJS)) - -DYN_LIBDL_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBDLOBJ)) - -DYN_LIBCOMPAT_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBCOMPATOBJ)) - -$(PICODIR)/libc.so: $(PICODIR) $(DYN_LIBC_OBJ) -	$(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBC_OBJ) -lgcc -Wl,-soname=libc.so - -$(PICODIR)/libpthread.so: $(DYN_PTHREAD_OBJS) dietfeatures.h -	$(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_PTHREAD_OBJS) -L$(PICODIR) -lc -Wl,-soname=libpthread.so - -$(PICODIR)/libdl.so: libdl/_dl_main.c dietfeatures.h -	$(CROSS)$(CC) -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -nostdlib -shared -o $@ $(CFLAGS) -I. -Iinclude libdl/_dl_main.c -Wl,-soname=libdl.so - -#$(PICODIR)/libdl.so: $(DYN_LIBDL_OBJS) dietfeatures.h -#	$(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBDL_OBJS) -L$(PICODIR) -ldietc -Wl,-soname=libdl.so - -$(PICODIR)/libcompat.so: $(DYN_LIBCOMPAT_OBJS) dietfeatures.h -	$(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBCOMPAT_OBJS) -L$(PICODIR) -lc -Wl,-soname=libcompat.so - - - -$(SYSCALLOBJ): syscalls.h - -VERSION=dietlibc-$(shell head -1 CHANGES|sed 's/://') -CURNAME=$(notdir $(shell pwd)) - -$(OBJDIR)/diet: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o -	$(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -DVERSION=\"$(VERSION)\" -lgcc -	$(CROSS)strip -R .comment -R .note $@ - -$(OBJDIR)/diet-i: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o -	$(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(INSTALLHOME)\" -DVERSION=\"$(VERSION)\" -DINSTALLVERSION -lgcc -	$(CROSS)strip -R .comment -R .note $@ - -$(PICODIR)/diet-dyn: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c -	$(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(HOME)/$(PICODIR)/libdl.so -	$(CROSS)strip -R .command -R .note $@ - -$(PICODIR)/diet-dyn-i: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c -	$(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(prefix)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(ILIBDIR)/libdl.so -DINSTALLVERSION -	$(CROSS)strip -R .command -R .note $@ - -$(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load - -$(OBJDIR)/compile: -	echo 'exec' $(CC) '$(CFLAGS) -I$(PWD)/$(OBJDIR)/include -c $${1+"$$@"}' > $@ -	chmod 755 $@ - -$(OBJDIR)/load: -	echo 'main="$$1"; shift; exec' $(CC) '-nostdlib -o "$$main" $(PWD)/$(OBJDIR)/start.o "$$main".o $${1+"$$@"} $(PWD)/$(OBJDIR)/dietlibc.a -lgcc'  > $@ -	chmod 755 $@ - -clean: -	rm -f *.o *.a t t1 compile load exports mapfile libdietc.so -	rm -rf bin-* pic-* -	$(MAKE) -C libdl clean - -tar: clean rename -	cd ..; tar cvvf $(VERSION).tar.bz2 $(VERSION) --use=bzip2 --exclude CVS - -rename: -	if test $(CURNAME) != $(VERSION); then cd .. && mv $(CURNAME) $(VERSION); fi - -$(OBJDIR)/exports: $(OBJDIR)/dietlibc.a -	nm -g $(OBJDIR)/dietlibc.a | grep -w T | awk '{ print $$3 }' | sort -u > $(OBJDIR)/exports - -.PHONY: t t1 -t: -	$(CROSS)$(CC) -g $(CFLAGS) -fno-builtin -nostdlib -Iinclude -o t t.c $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dietlibc.a -lgcc $(OBJDIR)/dyn_stop.o -Wl,-Map,mapfile - -t1: -	$(CROSS)$(CC) -g -o t1 t.c - -install: $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/librpc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(OBJDIR)/diet-i -	$(INSTALL) -d $(DESTDIR)$(ILIBDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(BINDIR) -	$(INSTALL) $(OBJDIR)/start.o $(DESTDIR)$(ILIBDIR)/start.o -	$(INSTALL) -m 644 $(OBJDIR)/libm.a $(OBJDIR)/libpthread.a $(OBJDIR)/librpc.a \ -$(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(DESTDIR)$(ILIBDIR) -	$(INSTALL) -m 644 $(OBJDIR)/dietlibc.a $(DESTDIR)$(ILIBDIR)/libc.a -ifeq ($(MYARCH),$(ARCH)) -	$(INSTALL) $(OBJDIR)/diet-i $(DESTDIR)$(BINDIR)/diet -	-$(INSTALL) $(PICODIR)/diet-dyn-i $(DESTDIR)$(BINDIR)/diet-dyn -endif -	-$(INSTALL) $(OBJDIR)/pstart.o $(OBJDIR)/libgmon.a $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o $(DESTDIR)$(ILIBDIR) -	-$(INSTALL) $(PICODIR)/libc.so $(DESTDIR)$(ILIBDIR)/libc.so -	-$(INSTALL) $(PICODIR)/libpthread.so $(DESTDIR)$(ILIBDIR)/libpthread.so -	-$(INSTALL) $(PICODIR)/libdl.so $(DESTDIR)$(ILIBDIR)/libdl.so -	-$(INSTALL) $(PICODIR)/libcompat.so $(DESTDIR)$(ILIBDIR)/libcompat.so -	-$(INSTALL) $(PICODIR)/dyn_start.o $(DESTDIR)$(ILIBDIR)/dyn_dstart.o -	-$(INSTALL) $(PICODIR)/dyn_stop.o  $(DESTDIR)$(ILIBDIR)/dyn_dstop.o -	-$(INSTALL) $(PICODIR)/dstart.o $(PICODIR)/dyn_so_start.o $(DESTDIR)$(ILIBDIR) -	$(INSTALL) -m 644 diet.1 $(DESTDIR)$(MAN1DIR)/diet.1 -	if test -f $(PICODIR)/libc.so -a ! -f $(DESTDIR)/etc/diet.ld.conf; then echo "$(ILIBDIR)" > $(DESTDIR)/etc/diet.ld.conf; fi -	for i in `find include -name \*.h`; do install -m 644 -D $$i $(DESTDIR)$(INSTALLHOME)/$$i; done - -.PHONY: sparc ppc mips arm alpha i386 parisc mipsel powerpc s390 sparc64 -.PHONY: x86_64 ia64 - -arm sparc ppc alpha i386 mips parisc s390 sparc64 x86_64 ia64: -	$(MAKE) ARCH=$@ CROSS=$@-linux- all - -# Cross compile for little endian MIPS -mipsel: -	$(MAKE) ARCH=$@ CROSS=mips-linux- all - -mips-gnu: -	$(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all - -# Some people named their cross compiler toolchain powerpc-linux-gcc -powerpc: -	$(MAKE) ARCH=ppc CROSS=powerpc-linux- all - -cross: -	$(MAKE) arm sparc ppc alpha i386 mips sparc64 - - -# these depend on dietfeatures.h for large file backward compatibility -$(OBJDIR)/__fstat64.o $(OBJDIR)/__lstat64.o $(OBJDIR)/__stat64.o $(OBJDIR)/lseek64.o $(OBJDIR)/readdir64.o $(OBJDIR)/stat64.o $(OBJDIR)/lstat64.o $(OBJDIR)/fstat64.o $(OBJDIR)/truncate64.o $(OBJDIR)/__truncate64.o $(OBJDIR)/ftruncate64.o $(OBJDIR)/__ftruncate64.o $(PICODIR)/dyn_syscalls.o $(PICODIR)/__truncate64.o $(PICODIR)/__ftruncate64.o $(PICODIR)/__stat64.o $(PICODIR)/__lstat64.o $(PICODIR)/__fstat64.o: dietfeatures.h - -# these depend on dietfeatures.h for thread support -$(OBJDIR)/alloc.o $(OBJDIR)/perror.o $(OBJDIR)/logging.o $(OBJDIR)/unified.o $(OBJDIR)/clone.o $(OBJDIR)/set_errno.o: dietfeatures.h - -# these depend on dietfeatures.h for linker warnings -$(OBJDIR)/assert_fail.o $(OBJDIR)/sprintf.o $(OBJDIR)/vsnprintf.o $(OBJDIR)/___div.o $(OBJDIR)/fflush.o $(OBJDIR)/setvbuf.o $(OBJDIR)/system.o $(OBJDIR)/sendfile.o $(OBJDIR)/setenv.o: dietfeatures.h - -# these depend on dietfeatures.h for buffered stdio -fclose.o $(OBJDIR)/fdglue.o $(OBJDIR)/fflush.o $(OBJDIR)/fgetc.o $(OBJDIR)/fputc.o $(OBJDIR)/fread.o $(OBJDIR)/fseek.o $(OBJDIR)/printf.o $(OBJDIR)/setvbuf.o $(OBJDIR)/stderr.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o $(OBJDIR)/fwrite.o $(OBJDIR)/puts.o: dietfeatures.h - -# these depend on dietfeatures.h for fast string routines -strcasecmp.o $(OBJDIR)/strcat.o $(OBJDIR)/strchr.o $(OBJDIR)/strcmp.o $(OBJDIR)/strcpy.o $(OBJDIR)/strlen.o $(OBJDIR)/strncasecmp.o $(OBJDIR)/strncat.o $(OBJDIR)/strrchr.o: dietfeatures.h - -# these depend on dietfeatures.h for /proc -$(OBJDIR)/ttyname.o $(OBJDIR)/sysconf_cpus.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_TZFILE_PARSER -$(OBJDIR)/localtime_r.o $(OBJDIR)/strftime.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_SMALL_STDIO_BUFS -$(LIBSTDIOOBJ): dietfeatures.h - -# these depend on dietfeatures.h for WANT_FULL_RESOLV_CONF -$(OBJDIR)/dnscruft.o $(OBJDIR)/dnscruft2.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_THREAD_SAFE and errno -$(LIBRPCOBJ) $(OBJDIR)/logging.o $(OBJDIR)/alloc.o $(OBJDIR)/cfsetospeed.o $(OBJDIR)/cfsetispeed.o \ -$(OBJDIR)/execl.o $(OBJDIR)/execlp.o $(OBJDIR)/execv.o $(OBJDIR)/execvp.o $(OBJDIR)/isatty.o \ -$(OBJDIR)/lockf.o $(OBJDIR)/perror.o $(OBJDIR)/remove.o $(OBJDIR)/set_errno.o $(OBJDIR)/sigemptyset.o \ -$(OBJDIR)/tcsetattr.o $(OBJDIR)/dnscruft2.o $(OBJDIR)/dnscruft.o $(OBJDIR)/entlib.o \ -$(OBJDIR)/gethostbyaddr.o $(OBJDIR)/gethostbyaddr_r.o $(OBJDIR)/gethostbyname.o \ -$(OBJDIR)/gethostbyname_r.o $(OBJDIR)/gethostbyname2.o $(OBJDIR)/gethostbyname2_r.o \ -$(OBJDIR)/inet_pton.o $(OBJDIR)/mkstemp.o $(OBJDIR)/mktemp.o $(OBJDIR)/tempnam.o \ -$(OBJDIR)/glob.o $(OBJDIR)/realpath.o $(OBJDIR)/fdglue.o $(OBJDIR)/fdglue2.o \ -$(OBJDIR)/getaddrinfo.o $(OBJDIR)/getnameinfo.o $(OBJDIR)/getprotoent.o \ -$(OBJDIR)/getservent.o $(OBJDIR)/iconv.o $(OBJDIR)/iconv_open.o \ -$(OBJDIR)/netent.o $(OBJDIR)/system.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o \ -$(OBJDIR)/stderr.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_CRYPT_MD5 -$(OBJDIR)/crypt.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_FREAD_OPTIMIZATION -$(OBJDIR)/fread.o $(OBJDIR)/fwrite.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_DYNAMIC -$(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o: dietfeatures.h - -$(OBJDIR)/unified.o: dietuglyweaks.h - -$(OBJDIR)/adjtimex.o: include/sys/timex.h - -$(OBJDIR)/fgetc_unlocked.o $(OBJDIR)/fread.o $(OBJDIR)/ungetc.o: dietstdio.h - -# these depend on dietfeatures.h for WANT_LINKER_WARNINGS -$(OBJDIR)/setlinebuf.o $(OBJDIR)/bzero.o $(OBJDIR)/setegid.o \ -$(OBJDIR)/seteuid.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_FULL_POSIX_COMPAT -$(OBJDIR)/strncpy.o: dietfeatures.h -$(OBJDIR)/strxfrm.o: dietfeatures.h - -# these depend on dietfeatures.h for WANT_INET_ADDR_DNS -$(OBJDIR)/gethostbyname_r.o: dietfeatures.h - - -# CFLAGS+=-W -Wshadow -Wid-clash-31 -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wwrite-strings diff --git a/mdk-stage1/dietlibc/README b/mdk-stage1/dietlibc/README deleted file mode 100644 index 2a1fa332c..000000000 --- a/mdk-stage1/dietlibc/README +++ /dev/null @@ -1,49 +0,0 @@ -  The system library is a challenge to all those using the computer to -  write their own faster and better routines or to bow to the superior -  strength and skill of a true master. - 	--http://www.inner.net/users/cmetz/program-like-a-klingon - -diet libc to statically link programs that don't need all the bloat -from glibc. - -malloc, printf and scanf contributed from Olaf Dreesen. - -To compile: - -	$ make - -make should compile the diet libc itself. - -When make is done, it will have created dietlibc.a in bin-i386 (or -bin-ppc, bin-alpha, bin-sparc, bin-ppc or bin-arm, depending on your -architecture).  In that directory you will also find a program called -"diet", which you need to copy in a directory in your $PATH: - -	# install bin-i386/diet /usr/local/bin - -Then you can compile programs by prepending diet to the command line, -i.e. - -	$ diet gcc -s -Os -pipe -o t t.c - -diet is cross-compiler friendly and can also be used like this: - -	$ diet sparc-linux-gcc -o t t.c - -diet will then link against dietlibc.a from bin-sparc, of course. -diet comes with a man page (diet.1), which you can copy to an -appropriate location, too: - -	# cp diet.1 /usr/local/man/man1 - -After you compiled the diet libc successfully, I invite you to check out -the embedded utils (http://www.fefe.de/embutils/) and the diet libc -binary repository (ftp://foobar.math.fu-berlin.de/pub/dietlibc/), too. -The embedded utils are small replacements for common utilities like mv, -chown, ls, and even a small tar that can extract tar files.  The binary -repository contains a few utilities I linked against the diet libc, for -example gzip, bzip2 and fdisk. - - -The license for the diet libc is the GNU General Public License, version -2 (as included in the file COPYING). diff --git a/mdk-stage1/dietlibc/alpha/Makefile.add b/mdk-stage1/dietlibc/alpha/Makefile.add deleted file mode 100644 index 68b10b43c..000000000 --- a/mdk-stage1/dietlibc/alpha/Makefile.add +++ /dev/null @@ -1,5 +0,0 @@ - -CFLAGS+=-Os -Iinclude -fomit-frame-pointer -fstrict-aliasing -VPATH:=alpha:syscalls.s:$(VPATH) - -LIBOBJ+=$(patsubst %,$(OBJDIR)/%,divq.o divl.o remq.o reml.o __time.o __alarm.o) diff --git a/mdk-stage1/dietlibc/alpha/__alarm.c b/mdk-stage1/dietlibc/alpha/__alarm.c deleted file mode 100644 index 7ca35cb78..000000000 --- a/mdk-stage1/dietlibc/alpha/__alarm.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <sys/time.h> - -unsigned int alarm(unsigned int seconds) { -  struct itimerval old, new; -  unsigned int ret; -  new.it_interval.tv_usec=0; -  new.it_interval.tv_sec=0; -  new.it_value.tv_usec	=0; -  new.it_value.tv_sec	=(long)seconds; -  if (setitimer(ITIMER_REAL,&new,&old)==-1) return 0; -  return old.it_value.tv_sec+(old.it_value.tv_usec?1:0); -} diff --git a/mdk-stage1/dietlibc/alpha/__longjmp.S b/mdk-stage1/dietlibc/alpha/__longjmp.S deleted file mode 100644 index 31e374d0f..000000000 --- a/mdk-stage1/dietlibc/alpha/__longjmp.S +++ /dev/null @@ -1,33 +0,0 @@ -#include <setjmp.h> - -.text -.align 2 - -.global __longjmp -.type __longjmp,@function -__longjmp: -	mov	$17, $0 	/* a1 -> v0 */ - -	ldq	 $9, (JB_S0*8) ($16)	/* s0 */ -	ldq	$10, (JB_S1*8) ($16)	/* s1 */ -	ldq	$11, (JB_S2*8) ($16)	/* s2 */ -	ldq	$12, (JB_S3*8) ($16)	/* s3 */ -	ldq	$13, (JB_S4*8) ($16)	/* s4 */ -	ldq	$14, (JB_S5*8) ($16)	/* s5 */ - -	ldq	$26, (JB_PC*8) ($16)	/* ra */ -	ldq	$fp, (JB_FP*8) ($16)	/* fp */ -	ldq	$sp, (JB_SP*8) ($16)	/* sp */ - -	ldt	$f2, (JB_F2*8) ($16)	/* f2 */ -	ldt	$f3, (JB_F3*8) ($16)	/* f3 */ -	ldt	$f4, (JB_F4*8) ($16)	/* f4 */ -	ldt	$f5, (JB_F5*8) ($16)	/* f5 */ -	ldt	$f6, (JB_F6*8) ($16)	/* f6 */ -	ldt	$f7, (JB_F7*8) ($16)	/* f7 */ -	ldt	$f8, (JB_F8*8) ($16)	/* f8 */ -	ldt	$f9, (JB_F9*8) ($16)	/* f9 */ - -	cmoveq	 $0, 0x1, $0 - -	ret	$31, ($26), 1 diff --git a/mdk-stage1/dietlibc/alpha/__testandset.S b/mdk-stage1/dietlibc/alpha/__testandset.S deleted file mode 100644 index c5ef81241..000000000 --- a/mdk-stage1/dietlibc/alpha/__testandset.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.align 2 -.global __testandsets -.type	__testandsets,@function -__testandset: -	ldq_l	$0, 0($16)		/* load lock */ -	bne	$0,1f			/* ok there is a lock... */ -	lda	$0, 1($31)		/* load a 1 to register 0 */ -	stq_c	$0, 0($16)		/* write lock is locked :) */ -	beq	$0,__testandset		/* oops someone changed MY lock */ -1:	ret	$31, ($26), 0x01	/* return */ diff --git a/mdk-stage1/dietlibc/alpha/__time.c b/mdk-stage1/dietlibc/alpha/__time.c deleted file mode 100644 index 07275e0e3..000000000 --- a/mdk-stage1/dietlibc/alpha/__time.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <time.h> -#include <sys/time.h> - -time_t time(time_t *foo) { -  struct timeval tv; -  time_t tmp=(time_t)-1; -  if (gettimeofday(&tv,0)==0) -    tmp=(time_t)tv.tv_sec; -  if (foo) *foo=tmp; -  return tmp; -} diff --git a/mdk-stage1/dietlibc/alpha/accept.S b/mdk-stage1/dietlibc/alpha/accept.S deleted file mode 100644 index 459c45d7a..000000000 --- a/mdk-stage1/dietlibc/alpha/accept.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(accept,accept,__libc_accept) diff --git a/mdk-stage1/dietlibc/alpha/bind.S b/mdk-stage1/dietlibc/alpha/bind.S deleted file mode 100644 index 86a04cb70..000000000 --- a/mdk-stage1/dietlibc/alpha/bind.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(bind,bind) diff --git a/mdk-stage1/dietlibc/alpha/clone.S b/mdk-stage1/dietlibc/alpha/clone.S deleted file mode 100644 index 28e61a8bc..000000000 --- a/mdk-stage1/dietlibc/alpha/clone.S +++ /dev/null @@ -1,42 +0,0 @@ -#include "syscalls.h" -#include <errno.h> - -.text -.align 2 -.weak clone -clone: -.global __clone -.type __clone,@function -__clone: -	ldiq	$0, EINVAL -	beq	$16, .Lerror -	beq	$17, .Lerror - -	subq	$17, 16, $17 -	stq	$16, 0($17) -	stq	$19, 8($17) -	mov	$18, $16 - -	lda	$0, __NR_clone($31) -	callsys -	bne	$19, .Lerror - -	beq	$0, .Lstart_thread - -	ret	$31, ($26), 0x01 - -.Lerror: -	jmp	error_unified_syscall - -.Lstart_thread: -	clr	$fp - -	ldq	$27, 0($sp) -	ldq	$16, 8($sp) - -	jsr	$26, ($27), 0x04 - -	ldgp	$gp, 0($26) -	mov	$0,  $16 -	jsr	$26, exit - diff --git a/mdk-stage1/dietlibc/alpha/connect.S b/mdk-stage1/dietlibc/alpha/connect.S deleted file mode 100644 index c191ca808..000000000 --- a/mdk-stage1/dietlibc/alpha/connect.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(connect,connect,__libc_connect) diff --git a/mdk-stage1/dietlibc/alpha/divl.S b/mdk-stage1/dietlibc/alpha/divl.S deleted file mode 100644 index 3af22a5e8..000000000 --- a/mdk-stage1/dietlibc/alpha/divl.S +++ /dev/null @@ -1,101 +0,0 @@ -/* taken from glibc 2.2 */ - -	.set noreorder -	.set noat - -	.ent __divlu -	.globl __divlu - -	.align 3 -__divlu : -	lda	$30 , - 48 ($30 ) -	.frame	$30 , 48 , $23  , 0 -	.prologue 0 -.Ludiv: -	stq	$1 , 0($30 ) -	zapnot  $25   ,15,  $1 -	stq	$2 , 8($30 ) -	zapnot  $24   ,15,  $2 -	stq	$0 , 16($30 ) -	clr	$27 -	stq	$3  , 24($30 ) -	ldiq	$0  , 1 -	 stq $4   ,32($30 ) -	beq	$1  , .Ldivbyzero - -	.align 3 - - -1:	cmpult	$1  , $2  , $at -	s8addq	$1  , $31 , $1 -	s8addq	$0  , $31 , $0 -	bne	$at  , 1b - - - -3:	 addq $27    ,$0  , $4 -	srl	$0  , 1, $0 -	cmpule	$1  , $2  , $at -	subq	$2  , $1  , $3 -	 cmovne $at   ,$4  , $27 -	srl	$1  , 1, $1 -	cmovne	$at  , $3  , $2 -	bne	$0  , 3b - -.Ldone:	ldq	$1 , 0($30 ) -	ldq	$2 , 8($30 ) -	ldq	$0 , 16($30 ) -	ldq	$3  , 24($30 ) -	 ldq $4   ,32($30 ) -	lda	$30 , 48 ($30 ) -	ret	$31 , ($23  ), 1 - -.Ldivbyzero: -	mov	$16 , $3 -	ldiq	$16 , -2 -	call_pal 170 -	mov	$3  , $16 -	clr	$27 -	br	.Ldone - -	.end __divlu - -	.ent __divl -	.globl __divl - -	.align 3 -__divl : -	lda	$30 , - 48 ($30 ) -	.frame	$30 , 48 , $23  , 0 -	.prologue 0 -	or	$24  , $25  , $at -	sextl  $at  , $at -	bge	$at , .Ludiv - - -	stq	$24  , 0($30 ) -	negl  $24   ,  $at -	stq	$25  , 8($30 ) -	cmovge	$at , $at , $24 -	stq	$23  , 16($30 ) -	negl  $25   ,  $at -	stq	$3  , 24($30 ) -	cmovge	$at , $at , $25 - - -	bsr	$23  , __divlu - - -	ldq	$24  , 0($30 ) -	ldq	$25  , 8($30 ) -	xor $24  , $25  ,  $at -	negl  $27   ,  $3 -	sextl  $at  , $at -	ldq	$23  , 16($30 ) -	cmovlt	$at , $3  , $27 -	ldq	$3  , 24($30 ) - -	lda	$30 , 48 ($30 ) -	ret	$31 , ($23  ), 1 - -	.end	__divl diff --git a/mdk-stage1/dietlibc/alpha/divq.S b/mdk-stage1/dietlibc/alpha/divq.S deleted file mode 100644 index cf70862c4..000000000 --- a/mdk-stage1/dietlibc/alpha/divq.S +++ /dev/null @@ -1,102 +0,0 @@ -/* taken from glibc 2.2 */ - -        .set noreorder -        .set noat - -        .ent __divqu -        .globl __divqu - -        .align 3 -__divqu : -        lda     $30 , - 48 ($30 ) -        .frame  $30 , 48 , $23  , 0 -        .prologue 0 -$udiv: -        stq     $1 , 0($30 ) -        mov  $25   ,  $1 -        stq     $2 , 8($30 ) -        mov  $24   ,  $2 -        stq     $0 , 16($30 ) -        clr     $27 -        stq     $3  , 24($30 ) -        ldiq    $0  , 1 -         stq $4   ,32($30 ) -        beq     $1  , $divbyzero - -        .align 3 - - -1:      cmpult  $1  , $2  , $at -        blt     $1  , 2f -        addq    $1  , $1  , $1 -        addq    $0  , $0  , $0 -        bne     $at  , 1b -        unop -2: -3:       addq $27    ,$0  , $4 -        srl     $0  , 1, $0 -        cmpule  $1  , $2  , $at -        subq    $2  , $1  , $3 -         cmovne $at   ,$4  , $27 -        srl     $1  , 1, $1 -        cmovne  $at  , $3  , $2 -        bne     $0  , 3b - -$done:  ldq     $1 , 0($30 ) -        ldq     $2 , 8($30 ) -        ldq     $0 , 16($30 ) -        ldq     $3  , 24($30 ) -         ldq $4   ,32($30 ) -        lda     $30 , 48 ($30 ) -        ret     $31 , ($23  ), 1 - -$divbyzero: -        mov     $16 , $3 -        ldiq    $16 , -2 -        call_pal 170 -        mov     $3  , $16 -        clr     $27 -        br      $done - -        .end __divqu - -        .ent __divq -        .globl __divq - -        .align 3 -__divq : -        lda     $30 , - 48 ($30 ) -        .frame  $30 , 48 , $23  , 0 -        .prologue 0 -        or      $24  , $25  , $at - -        bge     $at , $udiv - - -        stq     $24  , 0($30 ) -        negq  $24   ,  $at -        stq     $25  , 8($30 ) -        cmovge  $at , $at , $24 -        stq     $23  , 16($30 ) -        negq  $25   ,  $at -        stq     $3  , 24($30 ) -        cmovge  $at , $at , $25 - - -        bsr     $23  , __divqu - - -        ldq     $24  , 0($30 ) -        ldq     $25  , 8($30 ) -        xor $24  , $25  ,  $at -        negq  $27   ,  $3 - -        ldq     $23  , 16($30 ) -        cmovlt  $at , $3  , $27 -        ldq     $3  , 24($30 ) - -        lda     $30 , 48 ($30 ) -        ret     $31 , ($23  ), 1 - -        .end    __divq - diff --git a/mdk-stage1/dietlibc/alpha/errlist.S b/mdk-stage1/dietlibc/alpha/errlist.S deleted file mode 100644 index a5956ce05..000000000 --- a/mdk-stage1/dietlibc/alpha/errlist.S +++ /dev/null @@ -1,288 +0,0 @@ -#ifdef __DYN_LIB -.section	.data -#else -.section	.rodata -#endif - -.align 8 -.global sys_errlist -.type	sys_errlist,@object - -sys_errlist: -	.quad .LC000 -	.quad .LC001 -	.quad .LC002 -	.quad .LC003 -	.quad .LC004 -	.quad .LC005 -	.quad .LC006 -	.quad .LC007 -	.quad .LC008 -	.quad .LC009 -	.quad .LC010 -	.quad .LC011 -	.quad .LC012 -	.quad .LC013 -	.quad .LC014 -	.quad .LC015 -	.quad .LC016 -	.quad .LC017 -	.quad .LC018 -	.quad .LC019 -	.quad .LC020 -	.quad .LC021 -	.quad .LC022 -	.quad .LC023 -	.quad .LC024 -	.quad .LC025 -	.quad .LC026 -	.quad .LC027 -	.quad .LC028 -	.quad .LC029 -	.quad .LC030 -	.quad .LC031 -	.quad .LC032 -	.quad .LC033 -	.quad .LC034 -	.quad .LC035 -	.quad .LC036 -	.quad .LC037 -	.quad .LC038 -	.quad .LC039 -	.quad .LC040 -	.quad .LC041 -	.quad .LC042 -	.quad .LC043 -	.quad .LC044 -	.quad .LC045 -	.quad .LC046 -	.quad .LC047 -	.quad .LC048 -	.quad .LC049 -	.quad .LC050 -	.quad .LC051 -	.quad .LC052 -	.quad .LC053 -	.quad .LC054 -	.quad .LC055 -	.quad .LC056 -	.quad .LC057 -	.quad .LC058 -	.quad .LC059 -	.quad .LC060 -	.quad .LC061 -	.quad .LC062 -	.quad .LC063 -	.quad .LC064 -	.quad .LC065 -	.quad .LC066 -	.quad .LC067 -	.quad .LC068 -	.quad .LC069 -	.quad .LC070 -	.quad .LC071 -	.quad .LC072 -	.quad .LC073 -	.quad .LC074 -	.quad .LC075 -	.quad .LC076 -	.quad .LC077 -	.quad .LC078 -	.quad .LC079 -	.quad .LC080 -	.quad .LC081 -	.quad .LC082 -	.quad .LC083 -	.quad .LC084 -	.quad .LC085 -	.quad .LC086 -	.quad .LC087 -	.quad .LC088 -	.quad .LC089 -	.quad .LC090 -	.quad .LC091 -	.quad .LC092 -	.quad .LC093 -	.quad .LC094 -	.quad .LC095 -	.quad .LC096 -	.quad .LC097 -	.quad .LC098 -	.quad .LC099 -	.quad .LC100 -	.quad .LC101 -	.quad .LC102 -	.quad .LC103 -	.quad .LC104 -	.quad .LC105 -	.quad .LC106 -	.quad .LC107 -	.quad .LC108 -	.quad .LC109 -	.quad .LC110 -	.quad .LC111 -	.quad .LC112 -	.quad .LC113 -	.quad .LC114 -	.quad .LC115 -	.quad .LC116 -	.quad .LC117 -	.quad .LC118 -	.quad .LC119 -	.quad .LC120 -	.quad .LC121 -	.quad .LC122 -	.quad .LC123 -	.quad .LC124 -	.quad .LC125 -	.quad .LC126 -	.quad .LC127 -	.quad .LC128 -	.quad .LC129 -	.quad .LC130 -	.quad 0 -.size sys_errlist,.-sys_errlist - -.align 4 -.global sys_nerr -.type	sys_nerr,@object -sys_nerr: -	.long 130 -.size	sys_nerr,4 - -#ifdef __DYN_LIB -.section	.rodata -#endif - -.LC000:	.string	"Success" -.LC001: .string "Operation not permitted" -.LC002: .string "No such file or directory" -.LC003: .string "No such process" -.LC004: .string "Interrupted system call" -.LC005: .string "I/O error" -.LC006: .string "No such device or address" -.LC007: .string "Arg list too long" -.LC008: .string "Exec format error" -.LC009: .string "Bad file number" -.LC010: .string "No child processes" -.LC011: .string "Resource deadlock would occur" -.LC012: .string "Out of memory" -.LC013: .string "Permission denied" -.LC014: .string "Bad address" -.LC015: .string "Block device required" -.LC016: .string "Device or resource busy" -.LC017: .string "File exists" -.LC018: .string "Cross-device link" -.LC019: .string "No such device" -.LC020: .string "Not a directory" -.LC021: .string "Is a directory" -.LC022: .string "Invalid argument" -.LC023: .string "File table overflow" -.LC024: .string "Too many open files" -.LC025: .string "Not a typewriter" -.LC026: .string "Text file busy" -.LC027: .string "File too large" -.LC028: .string "No space left on device" -.LC029: .string "Illegal seek" -.LC030: .string "Read-only file system" -.LC031: .string "Too many links" -.LC032: .string "Broken pipe" -.LC033: .string "Math argument out of domain of func" -.LC034: .string "Math result not representable" -.LC035: .string "Try again" -.LC036: .string "Operation now in progress" -.LC037: .string "Operation already in progress" -.LC038: .string "Socket operation on non-socket" -.LC039: .string "Destination address required" -.LC040: .string "Message too long" -.LC041: .string "Protocol wrong type for socket" -.LC042: .string "Protocol not available" -.LC043: .string "Protocol not supported" -.LC044: .string "Socket type not supported" -.LC045: .string "Operation not supported on transport endpoint" -.LC046: .string "Protocol family not supported" -.LC047: .string "Address family not supported by protocol" -.LC048: .string "Address already in use" -.LC049: .string "Cannot assign requested address" -.LC050: .string "Network is down" -.LC051: .string "Network is unreachable" -.LC052: .string "Network dropped connection because of reset" -.LC053: .string "Software caused connection abort" -.LC054: .string "Connection reset by peer" -.LC055: .string "No buffer space available" -.LC056: .string "Transport endpoint is already connected" -.LC057: .string "Transport endpoint is not connected" -.LC058: .string "Cannot send after transport endpoint shutdown" -.LC059: .string "Too many references: cannot splice" -.LC060: .string "Connection timed out" -.LC061: .string "Connection refused" -.LC062: .string "Too many symbolic links encountered" -.LC063: .string "File name too long" -.LC064: .string "Host is down" -.LC065: .string "No route to host" -.LC066: .string "Directory not empty" -.LC067: .string "Error 67" -.LC068: .string "Too many users" -.LC069: .string "Quota exceeded" -.LC070: .string "Stale NFS file handle" -.LC071: .string "Object is remote" -.LC072: .string "Error 72" -.LC073: .string "Error 73" -.LC074: .string "Error 74" -.LC075: .string "Error 75" -.LC076: .string "Error 76" -.LC077: .string "No record locks available" -.LC078: .string "Function not implemented" -.LC079: .string "Error 79" -.LC080: .string "No message of desired type" -.LC081: .string "Identifier removed" -.LC082: .string "Out of streams resources" -.LC083: .string "Timer expired" -.LC084: .string "Not a data message" -.LC085: .string "Protocol error" -.LC086: .string "No data available" -.LC087: .string "Device not a stream" -.LC088: .string "Channel number out of range" -.LC089: .string "Level 2 not synchronized" -.LC090: .string "Level 3 halted" -.LC091: .string "Level 3 reset" -.LC092: .string "Package not installed" -.LC093: .string "Link number out of range" -.LC094: .string "Protocol driver not attached" -.LC095: .string "No CSI structure available" -.LC096: .string "Level 2 halted" -.LC097: .string "Invalid exchange" -.LC098: .string "Invalid request descriptor" -.LC099: .string "Exchange full" -.LC100: .string "No anode" -.LC101: .string "Invalid request code" -.LC102: .string "Invalid slot" -.LC103: .string "Error 103" -.LC104: .string "Bad font file format" -.LC105: .string "Machine is not on the network" -.LC106: .string "Link has been severed" -.LC107: .string "Advertise error" -.LC108: .string "Srmount error" -.LC109: .string "Communication error on send" -.LC110: .string "Multihop attempted" -.LC111: .string "RFS specific error" -.LC112: .string "Value too large for defined data type" -.LC113: .string "Name not unique on network" -.LC114: .string "File descriptor in bad state" -.LC115: .string "Remote address changed" -.LC116: .string "Illegal byte sequence" -.LC117: .string "Structure needs cleaning" -.LC118: .string "Not a XENIX named type file" -.LC119: .string "No XENIX semaphores available" -.LC120: .string "Is a named type file" -.LC121: .string "Remote I/O error" -.LC122: .string "Can not access a needed shared library" -.LC123: .string "Accessing a corrupted shared library" -.LC124: .string ".lib section in a.out corrupted" -.LC125: .string "Attempting to link in too many shared libraries" -.LC126: .string "Cannot exec a shared library directly" -.LC127: .string "Interrupted system call should be restarted" -.LC128: .string "Streams pipe error" -.LC129: .string "No medium found" -.LC130: .string "Wrong medium type" - diff --git a/mdk-stage1/dietlibc/alpha/getegid.S b/mdk-stage1/dietlibc/alpha/getegid.S deleted file mode 100644 index 89c35d45e..000000000 --- a/mdk-stage1/dietlibc/alpha/getegid.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.align 2 -.global getegid -getegid: -	lda	$sp,-8($sp) -	stq	$26, 0($sp) -	jsr	getgid -	ldq	$26, 0($sp) -	lda	$sp, 8($sp) -	cmovge	$0, $20, $0 -	ret diff --git a/mdk-stage1/dietlibc/alpha/geteuid.S b/mdk-stage1/dietlibc/alpha/geteuid.S deleted file mode 100644 index 087ca7348..000000000 --- a/mdk-stage1/dietlibc/alpha/geteuid.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.align 2 -.global geteuid -geteuid: -	lda	$sp,-8($sp) -	stq	$26, 0($sp) -	jsr	getuid -	ldq	$26, 0($sp) -	lda	$sp, 8($sp) -	cmovge	$0, $20, $0 -	ret diff --git a/mdk-stage1/dietlibc/alpha/getgid.S b/mdk-stage1/dietlibc/alpha/getgid.S deleted file mode 100644 index 7350082f3..000000000 --- a/mdk-stage1/dietlibc/alpha/getgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getxgid,getgid) diff --git a/mdk-stage1/dietlibc/alpha/getpeername.S b/mdk-stage1/dietlibc/alpha/getpeername.S deleted file mode 100644 index 3b3f48b1a..000000000 --- a/mdk-stage1/dietlibc/alpha/getpeername.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpeername,getpeername) diff --git a/mdk-stage1/dietlibc/alpha/getpid.S b/mdk-stage1/dietlibc/alpha/getpid.S deleted file mode 100644 index d8b3523b2..000000000 --- a/mdk-stage1/dietlibc/alpha/getpid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getxpid,getpid) diff --git a/mdk-stage1/dietlibc/alpha/getppid.S b/mdk-stage1/dietlibc/alpha/getppid.S deleted file mode 100644 index e181268c3..000000000 --- a/mdk-stage1/dietlibc/alpha/getppid.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.align 2 -.global getppid -getppid: -	lda	$sp,-8($sp) -	stq	$26, 0($sp) -	jsr	getpid -	ldq	$26, 0($sp) -	lda	$sp, 8($sp) -	cmovge	$0, $20, $0 -	ret diff --git a/mdk-stage1/dietlibc/alpha/getsockname.S b/mdk-stage1/dietlibc/alpha/getsockname.S deleted file mode 100644 index 2727d88da..000000000 --- a/mdk-stage1/dietlibc/alpha/getsockname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockname,getsockname) diff --git a/mdk-stage1/dietlibc/alpha/getsockopt.S b/mdk-stage1/dietlibc/alpha/getsockopt.S deleted file mode 100644 index 44b4a910a..000000000 --- a/mdk-stage1/dietlibc/alpha/getsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockopt,getsockopt) diff --git a/mdk-stage1/dietlibc/alpha/getuid.S b/mdk-stage1/dietlibc/alpha/getuid.S deleted file mode 100644 index fcb5570c2..000000000 --- a/mdk-stage1/dietlibc/alpha/getuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getxuid,getuid) diff --git a/mdk-stage1/dietlibc/alpha/listen.S b/mdk-stage1/dietlibc/alpha/listen.S deleted file mode 100644 index 1102831d4..000000000 --- a/mdk-stage1/dietlibc/alpha/listen.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(listen,listen) diff --git a/mdk-stage1/dietlibc/alpha/lseek64.S b/mdk-stage1/dietlibc/alpha/lseek64.S deleted file mode 100644 index f051e734d..000000000 --- a/mdk-stage1/dietlibc/alpha/lseek64.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -.global lseek64 -lseek64: -	br	lseek diff --git a/mdk-stage1/dietlibc/alpha/mmap.S b/mdk-stage1/dietlibc/alpha/mmap.S deleted file mode 100644 index 2e57fbb74..000000000 --- a/mdk-stage1/dietlibc/alpha/mmap.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mmap,mmap) diff --git a/mdk-stage1/dietlibc/alpha/msgctl.S b/mdk-stage1/dietlibc/alpha/msgctl.S deleted file mode 100644 index d7caed2cc..000000000 --- a/mdk-stage1/dietlibc/alpha/msgctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgctl,msgctl) diff --git a/mdk-stage1/dietlibc/alpha/msgget.S b/mdk-stage1/dietlibc/alpha/msgget.S deleted file mode 100644 index 518d67ac4..000000000 --- a/mdk-stage1/dietlibc/alpha/msgget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgget,msgget) diff --git a/mdk-stage1/dietlibc/alpha/msgrcv.S b/mdk-stage1/dietlibc/alpha/msgrcv.S deleted file mode 100644 index ab62e6c30..000000000 --- a/mdk-stage1/dietlibc/alpha/msgrcv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgrcv,msgrcv) diff --git a/mdk-stage1/dietlibc/alpha/msgsnd.S b/mdk-stage1/dietlibc/alpha/msgsnd.S deleted file mode 100644 index 890a996a2..000000000 --- a/mdk-stage1/dietlibc/alpha/msgsnd.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgsnd,msgsnd) diff --git a/mdk-stage1/dietlibc/alpha/n_sigprocmask.S b/mdk-stage1/dietlibc/alpha/n_sigprocmask.S deleted file mode 100644 index 55f9fde28..000000000 --- a/mdk-stage1/dietlibc/alpha/n_sigprocmask.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(osf_sigprocmask,__old_sigprocmask,__n_sigprocmask) diff --git a/mdk-stage1/dietlibc/alpha/pipe.S b/mdk-stage1/dietlibc/alpha/pipe.S deleted file mode 100644 index 3dfef10bf..000000000 --- a/mdk-stage1/dietlibc/alpha/pipe.S +++ /dev/null @@ -1,17 +0,0 @@ -#include "syscalls.h" - -.text -.align 2 -.global pipe -.type pipe,@function -pipe: -        lda     $0, __NR_pipe($31) -        callsys -        bne     $19, .Lerror -        stl     $0,  0($16) -        stl     $20, 4($16) -        clr     $0 -        ret     $31, ($26), 0x01 -.Lerror: -        br      error_unified_syscall - diff --git a/mdk-stage1/dietlibc/alpha/recv.S b/mdk-stage1/dietlibc/alpha/recv.S deleted file mode 100644 index 17664f2e2..000000000 --- a/mdk-stage1/dietlibc/alpha/recv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(recv,recv,__libc_recv) diff --git a/mdk-stage1/dietlibc/alpha/recvfrom.S b/mdk-stage1/dietlibc/alpha/recvfrom.S deleted file mode 100644 index d8e3922af..000000000 --- a/mdk-stage1/dietlibc/alpha/recvfrom.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(recvfrom,recvfrom,__libc_recvfrom) diff --git a/mdk-stage1/dietlibc/alpha/recvmsg.S b/mdk-stage1/dietlibc/alpha/recvmsg.S deleted file mode 100644 index 6ce87eebb..000000000 --- a/mdk-stage1/dietlibc/alpha/recvmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recvmsg,recvmsg) diff --git a/mdk-stage1/dietlibc/alpha/reml.S b/mdk-stage1/dietlibc/alpha/reml.S deleted file mode 100644 index 2d89e3280..000000000 --- a/mdk-stage1/dietlibc/alpha/reml.S +++ /dev/null @@ -1,101 +0,0 @@ -/* taken from glibc 2.2 */ - -	.set noreorder -	.set noat - -	.ent __remlu -	.globl __remlu - -	.align 3 -__remlu : -	lda	$30 , -32($30) -	.frame	$30 , 32 , $23  , 0 -	.prologue 0 -.Ludiv: -	stq	$1  , 0($30) -	zapnot	$25 , 15 , $1 -	stq	$2  , 8($30) -	zapnot  $24 , 15 , $27 -	stq	$0  , 16($30) -	clr	$2 -	stq	$3  , 24($30) -	ldiq	$0  , 1 - -	beq	$1  , .Ldivbyzero - -	.align 3 - - -1:	cmpult	$1  , $27 , $at -	s8addq	$1  , $31 , $1 -	s8addq	$0  , $31 , $0 -	bne	$at , 1b - - - -3: -	srl	$0  , 1 , $0 -	cmpule	$1  , $27 , $at -	subq	$27 , $1 , $3 - -	srl	$1  , 1  , $1 -	cmovne	$at , $3  , $27 -	bne	$0  , 3b - -.Ldone:	ldq	$1 , 0($30) -	ldq	$2 , 8($30) -	ldq	$0 , 16($30) -	ldq	$3 , 24($30) - -	lda	$30 , 32($30) -	ret	$31 , ($23), 1 - -.Ldivbyzero: -	mov	$16 , $3 -	ldiq	$16 , -2 -	call_pal 170 -	mov	$3  , $16 -	clr	$27 -	br	.Ldone - -	.end __remlu - -	.ent __reml -	.globl __reml - -	.align 3 -__reml : -	lda	$30 , - 32 ($30 ) -	.frame	$30 , 32 , $23  , 0 -	.prologue 0 -	or	$24 , $25  , $at -	sextl	$at , $at -	bge	$at , .Ludiv - - -	stq	$24 , 0($30 ) -	negl	$24 ,  $at -	stq	$25 , 8($30 ) -	cmovge	$at , $at , $24 -	stq	$23 , 16($30 ) -	negl	$25 ,  $at -	stq	$3  , 24($30 ) -	cmovge	$at , $at , $25 - - -	bsr	$23 , __remlu - - -	ldq	$24 , 0($30 ) -	ldq	$25 , 8($30 ) -	mov	$24 ,  $at -	negl	$27 ,  $3 -	sextl	$at , $at -	ldq	$23 , 16($30 ) -	cmovlt	$at , $3  , $27 -	ldq	$3  , 24($30 ) - -	lda	$30 , 32 ($30 ) -	ret	$31 , ($23  ), 1 - -	.end	__reml diff --git a/mdk-stage1/dietlibc/alpha/remq.S b/mdk-stage1/dietlibc/alpha/remq.S deleted file mode 100644 index 713484da3..000000000 --- a/mdk-stage1/dietlibc/alpha/remq.S +++ /dev/null @@ -1,97 +0,0 @@ -/* taken from glibc 2.2 */ - -	.set noreorder -	.set noat - -	.ent __remqu -	.globl __remqu - -	.align 3 -__remqu : -	lda	$30 , - 32 ($30 ) -	.frame	$30 , 32 , $23  , 0 -	.prologue 0 -.Ludiv: -	stq	$1  , 0($30 ) -	mov	$25 ,  $1 -	stq	$2  , 8($30 ) -	mov	$24 ,  $27 -	stq	$0  , 16($30 ) -	clr	$2 -	stq	$3  , 24($30 ) -	ldiq	$0  , 1 - -	beq	$1  , .Ldivbyzero - -	.align 3 - -1:	cmpult	$1  , $27   , $at -	blt	$1  , 2f -	addq	$1  , $1  , $1 -	addq	$0  , $0  , $0 -	bne	$at , 1b -	unop -2: -3: -	srl	$0  , 1, $0 -	cmpule	$1  , $27   , $at -	subq	$27 , $1  , $3 - -	srl	$1  , 1, $1 -	cmovne	$at , $3  , $27 -	bne	$0  , 3b - -.Ldone:	ldq	$1  , 0($30 ) -	ldq	$2  , 8($30 ) -	ldq	$0  , 16($30 ) -	ldq	$3  , 24($30 ) - -	lda	$30 , 32 ($30 ) -	ret	$31 , ($23  ), 1 - -.Ldivbyzero: -	mov	$16 , $3 -	ldiq	$16 , -2 -	call_pal 170 -	mov	$3  , $16 -	clr	$27 -	br	.Ldone - -	.end __remqu - -	.ent __remq -	.globl __remq - -	.align 3 -__remq : -	lda	$30 , - 32 ($30 ) -	.frame	$30 , 32 , $23  , 0 -	.prologue 0 -	or	$24  , $25  , $at - -	bge	$at , .Ludiv - -	stq	$24 , 0($30 ) -	negq	$24 , $at -	stq	$25 , 8($30 ) -	cmovge	$at , $at , $24 -	stq	$23 , 16($30 ) -	negq	$25 , $at -	stq	$3  , 24($30 ) -	cmovge	$at , $at , $25 - -	bsr	$23 , __remqu - -	ldq	$24 , 0($30 ) -	ldq	$25 , 8($30 ) -	mov	$24 ,  $at -	negq	$27 ,  $3 - -	ldq	$23 , 16($30 ) -	cmovlt	$at , $3  , $27 -	ldq	$3  , 24($30 ) - -	lda	$30 , 32 ($30 ) -	ret	$31 , ($23  ), 1 - -	.end	__remq diff --git a/mdk-stage1/dietlibc/alpha/semctl.S b/mdk-stage1/dietlibc/alpha/semctl.S deleted file mode 100644 index e215ed955..000000000 --- a/mdk-stage1/dietlibc/alpha/semctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semctl,semctl) diff --git a/mdk-stage1/dietlibc/alpha/semget.S b/mdk-stage1/dietlibc/alpha/semget.S deleted file mode 100644 index 67f488546..000000000 --- a/mdk-stage1/dietlibc/alpha/semget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semget,semget) diff --git a/mdk-stage1/dietlibc/alpha/semop.S b/mdk-stage1/dietlibc/alpha/semop.S deleted file mode 100644 index 81b6fc606..000000000 --- a/mdk-stage1/dietlibc/alpha/semop.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semop,semop) diff --git a/mdk-stage1/dietlibc/alpha/send.S b/mdk-stage1/dietlibc/alpha/send.S deleted file mode 100644 index cfd11be2a..000000000 --- a/mdk-stage1/dietlibc/alpha/send.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(send,send,__libc_send) diff --git a/mdk-stage1/dietlibc/alpha/sendmsg.S b/mdk-stage1/dietlibc/alpha/sendmsg.S deleted file mode 100644 index 14646ad68..000000000 --- a/mdk-stage1/dietlibc/alpha/sendmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sendmsg,sendmsg) diff --git a/mdk-stage1/dietlibc/alpha/sendto.S b/mdk-stage1/dietlibc/alpha/sendto.S deleted file mode 100644 index 17a033011..000000000 --- a/mdk-stage1/dietlibc/alpha/sendto.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(sendto,sendto,__libc_sendto) diff --git a/mdk-stage1/dietlibc/alpha/seteuid.c b/mdk-stage1/dietlibc/alpha/seteuid.c deleted file mode 100644 index a7cf47893..000000000 --- a/mdk-stage1/dietlibc/alpha/seteuid.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> - -#undef seteuid -int seteuid(uid_t euid) { -  return setreuid(-1,euid); -} diff --git a/mdk-stage1/dietlibc/alpha/setjmp.S b/mdk-stage1/dietlibc/alpha/setjmp.S deleted file mode 100644 index 04bfd3d94..000000000 --- a/mdk-stage1/dietlibc/alpha/setjmp.S +++ /dev/null @@ -1,35 +0,0 @@ -#include <setjmp.h> - -.text -.weak setjmp -.type setjmp,@function -setjmp: -.weak __setjmp -.type __setjmp,@function -__setjmp: -	mov	0, $17 -.global __sigsetjmp -.type __sigsetjmp,@function -__sigsetjmp: -	stq	 $9, (JB_S0*8) ($16)	/* s0 */ -	stq	$10, (JB_S1*8) ($16)	/* s1 */ -	stq	$11, (JB_S2*8) ($16)	/* s2 */ -	stq	$12, (JB_S3*8) ($16)	/* s3 */ -	stq	$13, (JB_S4*8) ($16)	/* s4 */ -	stq	$14, (JB_S5*8) ($16)	/* s5 */ - -	stq	$26, (JB_PC*8) ($16)	/* ra */ -	stq	$fp, (JB_FP*8) ($16)	/* fp */ -	stq	$sp, (JB_SP*8) ($16)	/* sp */ - -	stt	$f2, (JB_F2*8) ($16)	/* f2 */ -	stt	$f3, (JB_F3*8) ($16)	/* f3 */ -	stt	$f4, (JB_F4*8) ($16)	/* f4 */ -	stt	$f5, (JB_F5*8) ($16)	/* f5 */ -	stt	$f6, (JB_F6*8) ($16)	/* f6 */ -	stt	$f7, (JB_F7*8) ($16)	/* f7 */ -	stt	$f8, (JB_F8*8) ($16)	/* f8 */ -	stt	$f9, (JB_F9*8) ($16)	/* f9 */ - -	br	$31, __sigjmp_save	/* jmp  __sigjmp_save */ - diff --git a/mdk-stage1/dietlibc/alpha/setsockopt.S b/mdk-stage1/dietlibc/alpha/setsockopt.S deleted file mode 100644 index e3fe1d321..000000000 --- a/mdk-stage1/dietlibc/alpha/setsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setsockopt,setsockopt) diff --git a/mdk-stage1/dietlibc/alpha/shmat.S b/mdk-stage1/dietlibc/alpha/shmat.S deleted file mode 100644 index 51248173d..000000000 --- a/mdk-stage1/dietlibc/alpha/shmat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmat,shmat) diff --git a/mdk-stage1/dietlibc/alpha/shmctl.S b/mdk-stage1/dietlibc/alpha/shmctl.S deleted file mode 100644 index d56caace4..000000000 --- a/mdk-stage1/dietlibc/alpha/shmctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmctl,shmctl) diff --git a/mdk-stage1/dietlibc/alpha/shmdt.S b/mdk-stage1/dietlibc/alpha/shmdt.S deleted file mode 100644 index d9812a799..000000000 --- a/mdk-stage1/dietlibc/alpha/shmdt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmdt,shmdt) diff --git a/mdk-stage1/dietlibc/alpha/shmget.S b/mdk-stage1/dietlibc/alpha/shmget.S deleted file mode 100644 index 82914223f..000000000 --- a/mdk-stage1/dietlibc/alpha/shmget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmget,shmget) diff --git a/mdk-stage1/dietlibc/alpha/shutdown.S b/mdk-stage1/dietlibc/alpha/shutdown.S deleted file mode 100644 index 9b5139325..000000000 --- a/mdk-stage1/dietlibc/alpha/shutdown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shutdown,shutdown) diff --git a/mdk-stage1/dietlibc/alpha/sigaction.c b/mdk-stage1/dietlibc/alpha/sigaction.c deleted file mode 100644 index f6c3ada7d..000000000 --- a/mdk-stage1/dietlibc/alpha/sigaction.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr, void* restorer); - -int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) { -  return __rt_sigaction(signum, act, oldact, _NSIG/8, 0); -} diff --git a/mdk-stage1/dietlibc/alpha/socket.S b/mdk-stage1/dietlibc/alpha/socket.S deleted file mode 100644 index 85401f56e..000000000 --- a/mdk-stage1/dietlibc/alpha/socket.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socket,socket) diff --git a/mdk-stage1/dietlibc/alpha/socketcall.S b/mdk-stage1/dietlibc/alpha/socketcall.S deleted file mode 100644 index b150bd5d5..000000000 --- a/mdk-stage1/dietlibc/alpha/socketcall.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -/* - * Doesn't exist on alpha ( accept, bind, ... are SYSCALLS !?! ) - */ diff --git a/mdk-stage1/dietlibc/alpha/socketpair.S b/mdk-stage1/dietlibc/alpha/socketpair.S deleted file mode 100644 index 06956a7ce..000000000 --- a/mdk-stage1/dietlibc/alpha/socketpair.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socketpair,socketpair) diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S deleted file mode 100644 index 850ce2420..000000000 --- a/mdk-stage1/dietlibc/alpha/start.S +++ /dev/null @@ -1,33 +0,0 @@ -.text -.align 2 -	.set noreorder - -.global __start -__start: -.global _start -_start: -	clr	$fp		/* clear frame pointer */ - -	br	$gp,.Lstart	/* set global pointer */ -.Lstart: -	ldgp	$gp, 0($gp) - -/* prepare to call main */ -	ldl	$16, 0($sp)	/* argc / a0 */ - -	lda	$17, 8($sp)	/* argv / a1 */ - -	addq	$16,   1, $18	/* argp / a2 */ -	s8addq	$18, $17, $18	/* (8*(argc+1))+argv -> argp  */ - -	stq	$18, environ - -#ifdef WANT_DYNAMIC -/* in v0 ($0) is the ld.so _fini pointer */ -	mov	 $0, $19	/* mov v0(dynload) to a3 */ -	jsr	$26, dyn_start -#else -	jsr	$26, main -#endif -	mov	 $0, $16 -	jsr	$26, exit	/* YES, CALL! for threads and atexit ! (+4 byte) */ diff --git a/mdk-stage1/dietlibc/alpha/strlen.c b/mdk-stage1/dietlibc/alpha/strlen.c deleted file mode 100644 index ac532254a..000000000 --- a/mdk-stage1/dietlibc/alpha/strlen.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <string.h> - -static const unsigned long long magic = 0x0101010101010101LL; - -size_t strlen(const char *s) -{ -  const char *t = s; -  unsigned long long word; - -  if (!s) return 0; - -  /* Byte compare up until 64 bit word boundary */ -  for (; ((unsigned long long) t & 7); t++) -    if (!*t) return t - s; - -  /* Word compare */ -  do { -    word = *((unsigned long long *) t); t += 8; -    word = (word - magic) &~ word; -    word &= (magic << 7); -  } while (word == 0); - -  /* word & 0x8080808080808080 == word */ -  word = (word - 1) & (magic << 8); -  word += (word << 32); -  word += (word << 16); -  word += (word << 8); -  t += word >> 56; -  return ((const char *) t) - 8 - s; -} - - diff --git a/mdk-stage1/dietlibc/alpha/syscalls.h b/mdk-stage1/dietlibc/alpha/syscalls.h deleted file mode 100644 index 5c654b4bf..000000000 --- a/mdk-stage1/dietlibc/alpha/syscalls.h +++ /dev/null @@ -1,371 +0,0 @@ - -#define __NR_osf_syscall	  0	/* not implemented */ -#define __NR_exit		  1 -#define __NR_fork		  2 -#define __NR_read		  3 -#define __NR_write		  4 -#define __NR_osf_old_open	  5	/* not implemented */ -#define __NR_close		  6 -#define __NR_osf_wait4		  7 -#define __NR_osf_old_creat	  8	/* not implemented */ -#define __NR_link		  9 -#define __NR_unlink		 10 -#define __NR_osf_execve		 11	/* not implemented */ -#define __NR_chdir		 12 -#define __NR_fchdir		 13 -#define __NR_mknod		 14 -#define __NR_chmod		 15 -#define __NR_chown		 16 -#define __NR_brk		 17 -#define __NR_osf_getfsstat	 18	/* not implemented */ -#define __NR_lseek		 19 -#define __NR_getxpid		 20 -#define __NR_osf_mount		 21 -#define __NR_umount		 22 -#define __NR_setuid		 23 -#define __NR_getxuid		 24 -#define __NR_exec_with_loader	 25	/* not implemented */ -#define __NR_ptrace		 26 -#define __NR_osf_nrecvmsg	 27	/* not implemented */ -#define __NR_osf_nsendmsg	 28	/* not implemented */ -#define __NR_osf_nrecvfrom	 29	/* not implemented */ -#define __NR_osf_naccept	 30	/* not implemented */ -#define __NR_osf_ngetpeername	 31	/* not implemented */ -#define __NR_osf_ngetsockname	 32	/* not implemented */ -#define __NR_access		 33 -#define __NR_osf_chflags	 34	/* not implemented */ -#define __NR_osf_fchflags	 35	/* not implemented */ -#define __NR_sync		 36 -#define __NR_kill		 37 -#define __NR_osf_old_stat	 38	/* not implemented */ -#define __NR_setpgid		 39 -#define __NR_osf_old_lstat	 40	/* not implemented */ -#define __NR_dup		 41 -#define __NR_pipe		 42 -#define __NR_osf_set_program_attributes	43 -#define __NR_osf_profil		 44	/* not implemented */ -#define __NR_open		 45 -#define __NR_osf_old_sigaction	 46	/* not implemented */ -#define __NR_getxgid		 47 -#define __NR_osf_sigprocmask	 48 -#define __NR_osf_getlogin	 49	/* not implemented */ -#define __NR_osf_setlogin	 50	/* not implemented */ -#define __NR_acct		 51 -#define __NR_sigpending		 52 - -#define __NR_ioctl		 54 -#define __NR_osf_reboot		 55	/* not implemented */ -#define __NR_osf_revoke		 56	/* not implemented */ -#define __NR_symlink		 57 -#define __NR_readlink		 58 -#define __NR_execve		 59 -#define __NR_umask		 60 -#define __NR_chroot		 61 -#define __NR_osf_old_fstat	 62	/* not implemented */ -#define __NR_getpgrp		 63 -#define __NR_getpagesize	 64 -#define __NR_osf_mremap		 65	/* not implemented */ -#define __NR_vfork		 66 -#define __NR_stat		 67 -#define __NR_lstat		 68 -#define __NR_osf_sbrk		 69	/* not implemented */ -#define __NR_osf_sstk		 70	/* not implemented */ -#define __NR_mmap		 71	/* OSF/1 mmap is superset of Linux */ -#define __NR_osf_old_vadvise	 72	/* not implemented */ -#define __NR_munmap		 73 -#define __NR_mprotect		 74 -#define __NR_madvise		 75 -#define __NR_vhangup		 76 -#define __NR_osf_kmodcall	 77	/* not implemented */ -#define __NR_osf_mincore	 78	/* not implemented */ -#define __NR_getgroups		 79 -#define __NR_setgroups		 80 -#define __NR_osf_old_getpgrp	 81	/* not implemented */ -#define __NR_setpgrp		 82	/* BSD alias for setpgid */ -#define __NR_osf_setitimer	 83 -#define __NR_osf_old_wait	 84	/* not implemented */ -#define __NR_osf_table		 85	/* not implemented */ -#define __NR_osf_getitimer	 86 -#define __NR_gethostname	 87 -#define __NR_sethostname	 88 -#define __NR_getdtablesize	 89 -#define __NR_dup2		 90 -#define __NR_fstat		 91 -#define __NR_fcntl		 92 -#define __NR_osf_select		 93 -#define __NR_poll		 94 -#define __NR_fsync		 95 -#define __NR_setpriority	 96 -#define __NR_socket		 97 -#define __NR_connect		 98 -#define __NR_accept		 99 -#define __NR_getpriority	100 -#define __NR_send		101 -#define __NR_recv		102 -#define __NR_sigreturn		103 -#define __NR_bind		104 -#define __NR_setsockopt		105 -#define __NR_listen		106 -#define __NR_osf_plock		107	/* not implemented */ -#define __NR_osf_old_sigvec	108	/* not implemented */ -#define __NR_osf_old_sigblock	109	/* not implemented */ -#define __NR_osf_old_sigsetmask	110	/* not implemented */ -#define __NR_sigsuspend		111 -#define __NR_osf_sigstack	112 -#define __NR_recvmsg		113 -#define __NR_sendmsg		114 -#define __NR_osf_old_vtrace	115	/* not implemented */ -#define __NR_osf_gettimeofday	116 -#define __NR_osf_getrusage	117 -#define __NR_getsockopt		118 - -#define __NR_readv		120 -#define __NR_writev		121 -#define __NR_osf_settimeofday	122 -#define __NR_fchown		123 -#define __NR_fchmod		124 -#define __NR_recvfrom		125 -#define __NR_setreuid		126 -#define __NR_setregid		127 -#define __NR_rename		128 -#define __NR_truncate		129 -#define __NR_ftruncate		130 -#define __NR_flock		131 -#define __NR_setgid		132 -#define __NR_sendto		133 -#define __NR_shutdown		134 -#define __NR_socketpair		135 -#define __NR_mkdir		136 -#define __NR_rmdir		137 -#define __NR_osf_utimes		138 -#define __NR_osf_old_sigreturn	139	/* not implemented */ -#define __NR_osf_adjtime	140	/* not implemented */ -#define __NR_getpeername	141 -#define __NR_osf_gethostid	142	/* not implemented */ -#define __NR_osf_sethostid	143	/* not implemented */ -#define __NR_getrlimit		144 -#define __NR_setrlimit		145 -#define __NR_osf_old_killpg	146	/* not implemented */ -#define __NR_setsid		147 -#define __NR_quotactl		148 -#define __NR_osf_oldquota	149	/* not implemented */ -#define __NR_getsockname	150 - -#define __NR_osf_pid_block	153	/* not implemented */ -#define __NR_osf_pid_unblock	154	/* not implemented */ - -#define __NR_sigaction		156 -#define __NR_osf_sigwaitprim	157	/* not implemented */ -#define __NR_osf_nfssvc		158	/* not implemented */ -#define __NR_osf_getdirentries	159 -#define __NR_osf_statfs		160 -#define __NR_osf_fstatfs	161 - -#define __NR_osf_asynch_daemon	163	/* not implemented */ -#define __NR_osf_getfh		164	/* not implemented */	 -#define __NR_osf_getdomainname	165 -#define __NR_setdomainname	166 - -#define __NR_osf_exportfs	169	/* not implemented */ - -#define __NR_osf_alt_plock	181	/* not implemented */ - -#define __NR_osf_getmnt		184	/* not implemented */ - -#define __NR_osf_alt_sigpending	187	/* not implemented */ -#define __NR_osf_alt_setsid	188	/* not implemented */ - -#define __NR_osf_swapon		199 -#define __NR_msgctl		200 -#define __NR_msgget		201 -#define __NR_msgrcv		202 -#define __NR_msgsnd		203 -#define __NR_semctl		204 -#define __NR_semget		205 -#define __NR_semop		206 -#define __NR_osf_utsname	207 -#define __NR_lchown		208 -#define __NR_osf_shmat		209 -#define __NR_shmctl		210 -#define __NR_shmdt		211 -#define __NR_shmget		212 -#define __NR_osf_mvalid		213	/* not implemented */ -#define __NR_osf_getaddressconf	214	/* not implemented */ -#define __NR_osf_msleep		215	/* not implemented */ -#define __NR_osf_mwakeup	216	/* not implemented */ -#define __NR_msync		217 -#define __NR_osf_signal		218	/* not implemented */ -#define __NR_osf_utc_gettime	219	/* not implemented */ -#define __NR_osf_utc_adjtime	220	/* not implemented */ - -#define __NR_osf_security	222	/* not implemented */ -#define __NR_osf_kloadcall	223	/* not implemented */ - -#define __NR_getpgid		233 -#define __NR_getsid		234 -#define __NR_sigaltstack	235 -#define __NR_osf_waitid		236	/* not implemented */ -#define __NR_osf_priocntlset	237	/* not implemented */ -#define __NR_osf_sigsendset	238	/* not implemented */ -#define __NR_osf_set_speculative	239	/* not implemented */ -#define __NR_osf_msfs_syscall	240	/* not implemented */ -#define __NR_osf_sysinfo	241 -#define __NR_osf_uadmin		242	/* not implemented */ -#define __NR_osf_fuser		243	/* not implemented */ -#define __NR_osf_proplist_syscall    244 -#define __NR_osf_ntp_adjtime	245	/* not implemented */ -#define __NR_osf_ntp_gettime	246	/* not implemented */ -#define __NR_osf_pathconf	247	/* not implemented */ -#define __NR_osf_fpathconf	248	/* not implemented */ - -#define __NR_osf_uswitch	250	/* not implemented */ -#define __NR_osf_usleep_thread	251 -#define __NR_osf_audcntl	252	/* not implemented */ -#define __NR_osf_audgen		253	/* not implemented */ -#define __NR_sysfs		254 -#define __NR_osf_subsys_info	255	/* not implemented */ -#define __NR_osf_getsysinfo	256 -#define __NR_osf_setsysinfo	257 -#define __NR_osf_afs_syscall	258	/* not implemented */ -#define __NR_osf_swapctl	259	/* not implemented */ -#define __NR_osf_memcntl	260	/* not implemented */ -#define __NR_osf_fdatasync	261	/* not implemented */ - - -/* - * Linux-specific system calls begin at 300 - */ -#define __NR_bdflush		300 -#define __NR_sethae		301 -#define __NR_mount		302 -#define __NR_old_adjtimex	303 -#define __NR_swapoff		304 -#define __NR_getdents		305 -#define __NR_create_module	306 -#define __NR_init_module	307 -#define __NR_delete_module	308 -#define __NR_get_kernel_syms	309 -#define __NR_syslog		310 -#define __NR_reboot		311 -#define __NR_clone		312 -#define __NR_uselib		313 -#define __NR_mlock		314 -#define __NR_munlock		315 -#define __NR_mlockall		316 -#define __NR_munlockall		317 -#define __NR_sysinfo		318 -#define __NR__sysctl		319 -/* 320 was sys_idle.  */ -#define __NR_oldumount		321 -#define __NR_swapon		322 -#define __NR_times		323 -#define __NR_personality	324 -#define __NR_setfsuid		325 -#define __NR_setfsgid		326 -#define __NR_ustat		327 -#define __NR_statfs		328 -#define __NR_fstatfs		329 -#define __NR_sched_setparam		330 -#define __NR_sched_getparam		331 -#define __NR_sched_setscheduler		332 -#define __NR_sched_getscheduler		333 -#define __NR_sched_yield		334 -#define __NR_sched_get_priority_max	335 -#define __NR_sched_get_priority_min	336 -#define __NR_sched_rr_get_interval	337 -#define __NR_afs_syscall		338 -#define __NR_uname			339 -#define __NR_nanosleep			340 -#define __NR_mremap			341 -#define __NR_nfsservctl			342 -#define __NR_setresuid			343 -#define __NR_getresuid			344 -#define __NR_pciconfig_read		345 -#define __NR_pciconfig_write		346 -#define __NR_query_module		347 -#define __NR_prctl			348 -#define __NR_pread			349 -#define __NR_pwrite			350 -#define __NR_rt_sigreturn		351 -#define __NR_rt_sigaction		352 -#define __NR_rt_sigprocmask		353 -#define __NR_rt_sigpending		354 -#define __NR_rt_sigtimedwait		355 -#define __NR_rt_sigqueueinfo		356 -#define __NR_rt_sigsuspend		357 -#define __NR_select			358 -#define __NR_gettimeofday		359 -#define __NR_settimeofday		360 -#define __NR_getitimer			361 -#define __NR_setitimer			362 -#define __NR_utimes			363 -#define __NR_getrusage			364 -#define __NR_wait4			365 -#define __NR_adjtimex			366 -#define __NR_getcwd			367 -#define __NR_capget			368 -#define __NR_capset			369 -#define __NR_sendfile			370 -#define __NR_setresgid			371 -#define __NR_getresgid			372 -#define __NR_dipc			373 -#define __NR_pivot_root			374 -#define __NR_mincore			375 -#define __NR_pciconfig_iobase		376 -#define __NR_getdents64			377 -#define __NR_gettid			378 -#define __NR_readahead			379 -#define __NR_security			380 /* syscall for security modules */ -#define __NR_tkill			381 -#define __NR_setxattr			382 -#define __NR_lsetxattr			383 -#define __NR_fsetxattr			384 -#define __NR_getxattr			385 -#define __NR_lgetxattr			386 -#define __NR_fgetxattr			387 -#define __NR_listxattr			388 -#define __NR_llistxattr			389 -#define __NR_flistxattr			390 -#define __NR_removexattr		391 -#define __NR_lremovexattr		392 -#define __NR_fremovexattr		393 -#define __NR_futex			394 -#define __NR_sched_setaffinity		395 -#define __NR_sched_getaffinity		396 -#define __NR_tuxcall			397 -#define __NR_io_setup			398 -#define __NR_io_destroy			399 -#define __NR_io_getevents		400 -#define __NR_io_submit			401 -#define __NR_io_cancel			402 -#define __NR_alloc_hugepages		403 -#define __NR_free_hugepages		404 -#define __NR_exit_group			405 -#define __NR_lookup_dcookie		406 -#define __NR_sys_epoll_create		407 -#define __NR_sys_epoll_ctl		408 -#define __NR_sys_epoll_wait		409 -#define __NR_remap_file_pages		410 -#define __NR_set_tid_address		411 - -#define syscall_weak(name,wsym,sym) \ -.text ; \ -.align 2 ; \ -.weak wsym; \ -.type wsym,@function ; \ -wsym: ; \ -.global sym ; \ -.type sym,@function ; \ -sym: ; \ -        lda     $0, __NR_##name($31) ; \ -        br      __unified_syscall - -#define syscall(name,sym) \ -.text ; \ -.align 2 ; \ -.global sym ; \ -.type sym,@function ; \ -sym: ; \ -        lda     $0, __NR_##name($31) ; \ -        br      __unified_syscall - diff --git a/mdk-stage1/dietlibc/alpha/time.S b/mdk-stage1/dietlibc/alpha/time.S deleted file mode 100644 index e69de29bb..000000000 --- a/mdk-stage1/dietlibc/alpha/time.S +++ /dev/null diff --git a/mdk-stage1/dietlibc/alpha/unified.S b/mdk-stage1/dietlibc/alpha/unified.S deleted file mode 100644 index 506bf7387..000000000 --- a/mdk-stage1/dietlibc/alpha/unified.S +++ /dev/null @@ -1,39 +0,0 @@ -#include <dietfeatures.h> -#include "syscalls.h" - -.weak exit -exit: -.global _exit -_exit: -	lda	$0, __NR_exit -.global __unified_syscall -__unified_syscall: -	callsys -	bne	$19, .Lerror - -/* here we go and "reuse" the return for weak-void functions */ -#include "dietuglyweaks.h" - -	ret	$31, ($26), 0x01 - -.Lerror: -.global error_unified_syscall -error_unified_syscall: -#ifdef WANT_THREAD_SAFE -	lda	$sp, -16($sp)	/* alloc 2 qwords on stack */ -	stq	$26, 0($sp)	/* save ra to stack */ -	stq	$0,  8($sp)	/* save v0 to stack */ - -	jsr	$26, __errno_location	/* call __errno_location */ - -	ldq	$1,  8($sp)	/* write old v0 to errno */ -	stl	$1,  0($0) - -	lda	$0,  -1($31)	/* new return value is -1 */ -	ldq	$26, 0($sp)	/* restore return address */ -	lda	$sp, 16($sp)	/* free 2 qwords on stack */ -#else -	lda	$1,  errno -	stl	$0,  0($1) -#endif -	ret	$31, ($26), 0x01  /* return */ diff --git a/mdk-stage1/dietlibc/alpha/utime.S b/mdk-stage1/dietlibc/alpha/utime.S deleted file mode 100644 index a9a8aada6..000000000 --- a/mdk-stage1/dietlibc/alpha/utime.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(utimes,utime) diff --git a/mdk-stage1/dietlibc/alpha/waitpid.S b/mdk-stage1/dietlibc/alpha/waitpid.S deleted file mode 100644 index 6dc1c99db..000000000 --- a/mdk-stage1/dietlibc/alpha/waitpid.S +++ /dev/null @@ -1,10 +0,0 @@ -#include <syscalls.h> - -.text -.align 2 -.weak waitpid -waitpid: -.global __libc_waitpid -__libc_waitpid: -	clr	$19 -	br	wait4 diff --git a/mdk-stage1/dietlibc/binshstr.h b/mdk-stage1/dietlibc/binshstr.h deleted file mode 100644 index f1bf789fe..000000000 --- a/mdk-stage1/dietlibc/binshstr.h +++ /dev/null @@ -1,6 +0,0 @@ - -extern const char __binsh [8]; - -#define           __sh   (__binsh + 5 ) - -/* end of binshstr.h */ diff --git a/mdk-stage1/dietlibc/diet.c b/mdk-stage1/dietlibc/diet.c deleted file mode 100644 index c3a053ac8..000000000 --- a/mdk-stage1/dietlibc/diet.c +++ /dev/null @@ -1,367 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> -#include <write12.h> - -#include "dietfeatures.h" - -/* goal: - *   when invoked as - * "diet gcc -c t.c" - *   exec - * "gcc -I/path/to/dietlibc/include -c t.c" - * - *   when invoked as - * "diet sparc-linux-gcc -o t t.o" - *   exec - * "sparc-linux-gcc -nostdlib -static -o t t.o /path/to/dietlibc/bin-sparc/start.o /path/to/dietlibc/bin-sparc/dietlibc.a" -*/ - -static void error(const char *message) { -  __write2(message); -  exit(1); -} - -static const char* Os[] = { -  "i386","-Os","-mpreferred-stack-boundary=2", -	 "-malign-functions=0","-malign-jumps=0", -	 "-malign-loops=0","-fomit-frame-pointer",0, -  "x86_64","-Os","-fno-omit-frame-pointer",0, -  "sparc","-Os","-mcpu=supersparc",0, -  "sparc64","-Os","-m64",0, -  "alpha","-Os","-fomit-frame-pointer",0, -  "arm","-Os","-fomit-frame-pointer",0, -  "mips","-Os","-fomit-frame-pointer","-mno-abicalls","-G","8","-fno-pic",0, -  "ppc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0, -  "s390","-Os","-fomit-frame-pointer",0, -  "sh","-Os","-fomit-frame-pointer",0, -  "ia64","-Os","-fno-omit-frame-pointer",0, -  "x86_64","-Os","-fstrict-aliasing","-momit-leaf-frame-pointer","-mfance-math-387",0, -  0}; - -int main(int argc,char *argv[]) { -  int _link=0; -  int compile=0; -  int preprocess=0; -  int verbose=0; -  int profile=0; -  char diethome[]=DIETHOME; -  char platform[1000]; -#ifdef __DYN_LIB -  int shared=0; -#endif -  char* shortplatform=0; -#ifdef WANT_SAFEGUARD -  char safeguard1[]="-include"; -  char safeguard2[]=DIETHOME "/include/dietref.h"; -#endif -  const char *nostdlib="-nostdlib"; -  const char *libgcc="-lgcc"; -  char dashL[1000]; -  char dashstatic[]="-static"; -  int i; -  int mangleopts=0; -  char manglebuf[1024]; - -#ifdef INSTALLVERSION -  strcpy(platform,DIETHOME "/lib-"); -#else -#ifndef __DYN_LIB -  strcpy(platform,DIETHOME "/bin-"); -#else -  strcpy(platform,DIETHOME "/pic-"); -#endif -#endif -  strcpy(dashL,"-L"); - -  if (argc<2) { -usage: -    if (verbose) { -      __write2( -#ifdef __DYN_LIB -	       "dyn-" -#endif -	       "diet version " VERSION -#ifndef INSTALLVERSION -               " (non-install version in source tree)" -#endif -	       "\n\n"); -    } -    error("usage: diet [-v] [-Os] gcc command line\n" -	  "e.g.   diet -Os gcc -c t.c\n" -	  "or     diet sparc-linux-gcc -o foo foo.c bar.o\n"); -  } -  if (!strcmp(argv[1],"-v")) { -    ++argv; --argc; -    verbose=1; -  } -  if (argv[1] && !strcmp(argv[1],"-Os")) { -    ++argv; --argc; -    mangleopts=1; -  } -  if (!argv[1]) goto usage; -  { -    char *tmp=strchr(argv[1],0)-2; -    char *tmp2,*tmp3; -    char *cc=argv[1]; -    if (tmp<cc) goto donttouch; -    if ((tmp2=strstr(cc,"linux-"))) {	/* cross compiling? */ -      int len=strlen(platform); -      --tmp2; -      tmp3=strchr(cc,'-'); -      if (tmp3<tmp2) tmp2=tmp3; -      if (tmp2-cc>90) error("platform name too long!\n"); -      shortplatform=platform+len; -      memmove(shortplatform,argv[1],(size_t)(tmp2-cc)); -      platform[tmp2-cc+len]=0; -      if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3'; -    } else { -#ifdef __sparc__ -#ifdef __arch64__ -      shortplatform="sparc64"; -#else -      shortplatform="sparc"; -#endif -#endif -#ifdef __powerpc__ -      shortplatform="ppc"; -#endif -#ifdef __i386__ -      shortplatform="i386"; -#endif -#ifdef __alpha__ -      shortplatform="alpha"; -#endif -#ifdef __arm__ -      shortplatform="arm"; -#endif -#ifdef __mips__ -      shortplatform="mips"; -#endif -#ifdef __s390__ -      shortplatform="s390"; -#endif -#ifdef __sh__ -      shortplatform="sh"; -#endif -#ifdef __hppa__ -      shortplatform="parisc"; -#endif -#ifdef __x86_64__ -      shortplatform="x86_64"; -#endif -#ifdef __ia64__ -	  shortplatform="ia64"; -#endif -      { -	char *tmp=platform+strlen(platform); -	strcpy(tmp,shortplatform); -	shortplatform=tmp; -      } -    } -    /* MIPS needs special handling.  If argv contains -EL, change -     * platform name to mipsel */ -    if (!strcmp(shortplatform,"mips")) { -      int i; -      for (i=1; i<argc; ++i) -	if (!strcmp(argv[i],"-EL")) -	  strcpy(shortplatform,"mipsel"); -    } -    strcat(dashL,platform); -    if (!strcmp(tmp,"cc")) { -      char **newargv; -      char **dest; -      char *a,*b,*c; -#ifdef WANT_DYNAMIC -      char *d,*e,*f; -#endif -/* we need to add -I... if the command line contains -c, -S or -E */ -      for (i=2; i<argc; ++i) { -	if (argv[i][0]=='-' && argv[i][1]=='M') -	  goto pp; -	if (!strcmp(argv[i],"-pg")) -	  profile=1; -	if (!strcmp(argv[i],"-c") || !strcmp(argv[i],"-S")) -	  compile=1; -	if (!strcmp(argv[i],"-E")) -pp: -	  preprocess=compile=1; -      } -/* we need to add -nostdlib if we are not compiling*/ -      _link=!compile; -#ifdef __DYN_LIB -      if (_link) { -	for (i=2; i<argc; ++i) -	  if (!strcmp(argv[i],"-shared")) { -	    shared=1; -	    _link=0; -	  } -      } -#endif -#if 0 -      for (i=2; i<argc; ++i) -	if (!strcmp(argv[i],"-o")) -	  if (!compile) _link=1; -#endif -      newargv=alloca(sizeof(char*)*(argc+100)); -      a=alloca(strlen(diethome)+20); -      b=alloca(strlen(platform)+20); -      c=alloca(strlen(platform)+20); - -      strcpy(a,"-I"); strcat(a,diethome); strcat(a,"/include"); -#ifndef __DYN_LIB -      strcpy(b,platform); -      if (profile) strcat(b,"/pstart.o"); else strcat(b,"/start.o"); -#ifdef INSTALLVERSION -      strcpy(c,platform); strcat(c,"/libc.a"); -#else -      strcpy(c,platform); strcat(c,"/dietlibc.a"); -#endif -#else -      strcpy(b,platform); strcat(b,"/dstart.o"); -      strcpy(c,"-lc"); -#endif - -#ifdef WANT_DYNAMIC -      d=alloca(strlen(platform)+20); -      e=alloca(strlen(platform)+20); -#ifdef __DYN_LIB -      strcpy(d,platform); -      strcpy(e,platform); -      if (shared) -	strcat(d,"/dyn_so_start.o"); -#ifdef INSTALLVERSION -      else -	strcat(d,"/dyn_dstart.o"); -      strcat(e,"/dyn_dstop.o"); -#else -      else -	strcat(d,"/dyn_start.o"); -      strcat(e,"/dyn_stop.o"); -#endif -#else -      strcpy(d,platform); strcat(d,"/dyn_start.o"); -      strcpy(e,platform); strcat(e,"/dyn_stop.o"); -#endif -#endif - -      dest=newargv; -      *dest++=argv[1]; -#ifndef __DYN_LIB -      if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; } -#else -      /* avoid R_*_COPY relocations */ -      *dest++="-fPIC"; -      if (_link || shared) { *dest++=(char*)nostdlib; *dest++=dashL; } -#endif -#ifdef WANT_SAFEGUARD -      if (compile && !preprocess) { -	*dest++=safeguard1; -	*dest++=safeguard2; -      } -#endif -      if (_link) { *dest++=b; } -#ifdef WANT_DYNAMIC -      if (_link) { *dest++=d; } -#endif -      for (i=2; i<argc; ++i) { -	if (mangleopts) -	  if (argv[i][0]=='-' && (argv[i][1]=='O' || argv[i][1]=='f' || argv[i][1]=='m')) { -	    if (strcmp(argv[i],"-fpic") && strcmp(argv[i],"-fno-pic")) -	      continue; -	  } -	*dest++=argv[i]; -      } -#ifndef __DYN_LIB -      if (compile || _link) *dest++=a; -#else -      if (compile || _link || shared) *dest++=a; -#endif -      *dest++="-D__dietlibc__"; -      if (mangleopts) { -	const char **o=Os; - -	{ -	  int fd; -	  char* tmp=getenv("HOME"); -	  if (tmp) { -	    if (strlen(tmp)+strlen(cc)<900) { -	      strcpy(manglebuf,tmp); -	      strcat(manglebuf,"/.diet/"); -	      strcat(manglebuf,cc); -	      if ((fd=open(manglebuf,O_RDONLY))>=0) { -		int len=read(fd,manglebuf,1023); -		if (len>0) { -		  int i; -		  manglebuf[len]=0; -		  *dest++=manglebuf; -		  for (i=1; i<len; ++i) { -		    if (manglebuf[i]==' ' || manglebuf[i]=='\n') { -		      manglebuf[i]=0; -		      if (i+1<len) -			*dest++=manglebuf+i+1; -		    } -		  } -		  goto incorporated; -		} -	      } -	    } -	  } -	} -	for (o=Os;*o;++o) { -	  if (!strcmp(*o,shortplatform)) { -	    ++o; -	    while (*o) { -	      *dest++=(char*)*o; -	      ++o; -	    } -	    break; -	  } else -	    while (*o) ++o; -	} -      } -incorporated: -      if (_link) { -	if (profile) *dest++="-lgmon"; -	if (!strcmp(shortplatform,"sparc") || !strcmp(shortplatform,"sparc64")) { -	  *dest++=(char*)libgcc; *dest++=c; -	} else { -	*dest++=c; *dest++=(char*)libgcc; -      } -      } -#ifdef WANT_DYNAMIC -      if (_link) { *dest++=e; } -#endif -#ifdef __DYN_LIB -      if (shared){ *dest++=c; } -      f=alloca(strlen(platform)+100); -      if (_link) { -	strcpy(f,"-Wl,-dynamic-linker="); -	strcat(f,platform); -//	strcat(f,"/diet-linux.so"); -	strcat(f,"/libdl.so"); -	*dest++=f; -      } -#endif -      *dest=0; -      if (verbose) { -	int i; -	for (i=0; newargv[i]; i++) { -	  __write2(newargv[i]); -	  __write2(" "); -	} -	__write2("\n"); -      } -      execvp(newargv[0],newargv); -      goto error; -    } else if (!strcmp(tmp,"ld")) { -    } -  } -donttouch: -  execvp(argv[1],argv+1); -error: -  error("execvp() failed!\n"); -  return 1; -} diff --git a/mdk-stage1/dietlibc/dietdirent.h b/mdk-stage1/dietlibc/dietdirent.h deleted file mode 100644 index dbd7206a6..000000000 --- a/mdk-stage1/dietlibc/dietdirent.h +++ /dev/null @@ -1,8 +0,0 @@ -#include <sys/shm.h> - -struct __dirstream { -  int fd; -  char buf[PAGE_SIZE-(sizeof (int)*3)]; -  unsigned int num; -  unsigned int cur; -};				/* stream data from opendir() */ diff --git a/mdk-stage1/dietlibc/dietdns.h b/mdk-stage1/dietlibc/dietdns.h deleted file mode 100644 index c4c1c5f72..000000000 --- a/mdk-stage1/dietlibc/dietdns.h +++ /dev/null @@ -1,4 +0,0 @@ - -int __dns_gethostbyx_r(const char* name, struct hostent* result, -			char *buf, size_t buflen, -			struct hostent **RESULT, int *h_errnop, int lookfor); diff --git a/mdk-stage1/dietlibc/dietfeatures.h b/mdk-stage1/dietlibc/dietfeatures.h deleted file mode 100644 index a7b84d5b9..000000000 --- a/mdk-stage1/dietlibc/dietfeatures.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef _DIETFEATURES_H -#define _DIETFEATURES_H - -/* feel free to comment some of these out to reduce code size */ - -/* #define WANT_FLOATING_POINT_IN_PRINTF */ -/* #define WANT_FLOATING_POINT_IN_SCANF */ -#define WANT_CHARACTER_CLASSES_IN_SCANF -#define WANT_NULL_PRINTF -/* #define WANT_LONGLONG_PRINTF */ -/* #define WANT_LONGLONG_SCANF */ - -/* 128 or 2048 bytes buffer size? */ -/* #define WANT_SMALL_STDIO_BUFS */ - -/* want fread to read() directly if size of data is larger than buffer? - * This costs a few bytes but is worth it if the application is already - * buffering. */ -#define WANT_FREAD_OPTIMIZATION - -/* this is only for meaningful for ttyname and sysconf_cpus so far */ -#define SLASH_PROC_OK - -/* use errno_location instead of errno */ -/* #define WANT_THREAD_SAFE */ - -/* make the startcode, etc. dynamic aware ({con,de}structors) */ -/* #define WANT_DYNAMIC */ - -/* do you want smaller or faster string routines? */ -/* #define WANT_FASTER_STRING_ROUTINES */ - -/* define this to have strncpy zero-fill and not just zero-terminate the - * string */ -/* #define WANT_FULL_POSIX_COMPAT */ - -/* read the comment in lib/strncat.c for an explanation */ -/* #define WANT_NON_COMPLIANT_STRNCAT */ - -/* #define WANT_LINKER_WARNINGS */ - -/* you need to define this if you want to run your programs with large - * file support on kernel 2.2 or 2.0 */ -/* #define WANT_LARGEFILE_BACKCOMPAT */ - -/* do you want localtime(3) to read /etc/localtime? - * Needed for daylight saving time etc. */ -/* #define WANT_TZFILE_PARSER */ - -/* do you want the DNS routines to parse and use "domain" and "search" - * lines from /etc/resolv.conf?  Normally not used on boot floppies and - * embedded environments. */ -#define WANT_FULL_RESOLV_CONF - -/* do you want IPv6 transport support in the DNS resolver? */ -/* #define WANT_IPV6_DNS */ - -/* do you want gethostbyname and friends to consult /etc/hosts? */ -#define WANT_ETC_HOSTS - -/* do you want gethostbyname to understand dotted decimal IP numbers - * directly and not try to resolve them? */ -#define WANT_INET_ADDR_DNS - -/* do you want math functions high precision rather than fast/small? */ -/* #define WANT_HIGH_PRECISION_MATH */ - -/* do you want support for matherr? */ -/* #define WANT_MATHERR */ - -/* do you want crypt(3) to use MD5 if the salt starts with "$1$"? */ -/* #define WANT_CRYPT_MD5 */ - -/* do you want diet to include a safeguard dependency to make linking - * against glibc fail?  This may fail with older binutils. */ -#define WANT_SAFEGUARD - -/* dy you want that malloc(0) return a pointer to a "zero-length" object - * that is realloc-able; means realloc(..,size) gives a NEW object (like a - * call to malloc(size)). - * WARNING: this violates C99 */ -/* #define WANT_MALLOC_ZERO */ - - -/* stop uncommenting here ;-) */ -#ifndef WANT_FASTER_STRING_ROUTINES -#define WANT_SMALL_STRING_ROUTINES -#endif - -#ifdef WANT_THREAD_SAFE -#ifndef __ASSEMBLER__ -#define errno (*__errno_location()) -#define _REENTRANT -#endif -#endif - -#ifdef __DYN_LIB -/* with shared libraries you MUST have a dynamic aware startcode */ -#ifndef WANT_DYNAMIC -#define WANT_DYNAMIC -#endif -/* saveguard crashes with shared objects ... */ -#ifdef WANT_SAFEGUARD -#undef WANT_SAFEGUARD -#endif -#endif - -#endif diff --git a/mdk-stage1/dietlibc/dieticonv.h b/mdk-stage1/dietlibc/dieticonv.h deleted file mode 100644 index 540ef2f6f..000000000 --- a/mdk-stage1/dietlibc/dieticonv.h +++ /dev/null @@ -1,12 +0,0 @@ -enum charset { -  INVALID=0, -  ISO_8859_1, -  UTF_8, -  UCS_2, -  UCS_4 -}; - -#define ic_from(x)	(((x)    )&0xffff) -#define ic_to(x)	(((x)>>16)&0xffff) - -#include <iconv.h> diff --git a/mdk-stage1/dietlibc/dietlibm.h b/mdk-stage1/dietlibc/dietlibm.h deleted file mode 100644 index fe735e40d..000000000 --- a/mdk-stage1/dietlibc/dietlibm.h +++ /dev/null @@ -1,5 +0,0 @@ -#include <sys/types.h> - -double __poly(double x, size_t n, const double* c); -double exp2(double x); -double log2(double x); diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h deleted file mode 100644 index 2e0e93601..000000000 --- a/mdk-stage1/dietlibc/dietstdio.h +++ /dev/null @@ -1,77 +0,0 @@ -/* diet stdio */ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include "dietfeatures.h" -#ifdef WANT_THREAD_SAFE -#include <pthread.h> -#endif -#include <stdarg.h> - -#ifdef WANT_SMALL_STDIO_BUFS -#define BUFSIZE 128 -#else -#define BUFSIZE 2048 -#endif - -struct __stdio_file { -  int fd; -  int flags; -  unsigned int bs;	/* read: bytes in buffer */ -  unsigned int bm;	/* position in buffer */ -  unsigned int buflen;	/* length of buf */ -  char *buf; -  struct __stdio_file *next;	/* for fflush */ -  pid_t popen_kludge; -  unsigned char ungetbuf; -  char ungotten; -#ifdef WANT_THREAD_SAFE -  pthread_mutex_t m; -#endif -}; - -#define ERRORINDICATOR 1 -#define EOFINDICATOR 2 -#define BUFINPUT 4 -#define BUFLINEWISE 8 -#define NOBUF 16 -#define STATICBUF 32 -#define FDPIPE 64 - -#define _IONBF 0 -#define _IOLBF 1 -#define _IOFBF 2 - -#include <stdio.h> - -/* internal function to flush buffer. - * However, if next is BUFINPUT and the buffer is an input buffer, it - * will not be flushed. Vice versa for output */ -extern int __fflush4(FILE *stream,int next); -extern int __buffered_outs(const char *s,size_t len); - -/* ..scanf */ -struct arg_scanf { -  void *data; -  int (*getch)(void*); -  int (*putch)(int,void*); -}; - -int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr); - -struct arg_printf { -  void *data; -  int (*put)(void*,size_t,void*); -}; - -int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr); - -extern FILE *__stdio_root; - -int __fflush_stdin(void); -int __fflush_stdout(void); -int __fflush_stderr(void); - -FILE* __stdio_init_file(int fd,int closeonerror); -int __stdio_parse_mode(const char *mode); -void __stdio_flushall(void); diff --git a/mdk-stage1/dietlibc/dietuglyweaks.h b/mdk-stage1/dietlibc/dietuglyweaks.h deleted file mode 100644 index 4b2aa231a..000000000 --- a/mdk-stage1/dietlibc/dietuglyweaks.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef __DIET_UGLY_WEAKS__ -#define __DIET_UGLY_WEAKS__ - -/* if you change something here ... KNOW what you're doing ! - * it'll effect ALL platforms ! */ - -.weak __thread_doexit -__thread_doexit: -.weak __fflush_stdin -__fflush_stdin: -.weak __fflush_stdout -__fflush_stdout: -.weak __fflush_stderr -__fflush_stderr: -.weak flockfile -flockfile: -.weak funlockfile -funlockfile: -.weak __nop -__nop: -.global __you_tried_to_link_a_dietlibc_object_against_glibc -__you_tried_to_link_a_dietlibc_object_against_glibc: - -#endif diff --git a/mdk-stage1/dietlibc/dietwarning.h b/mdk-stage1/dietlibc/dietwarning.h deleted file mode 100644 index f7c67a175..000000000 --- a/mdk-stage1/dietlibc/dietwarning.h +++ /dev/null @@ -1,23 +0,0 @@ -#include "dietfeatures.h" - -#ifdef WANT_LINKER_WARNINGS - -#ifndef __ASSEMBLER__ - -#define link_warning(symbol,msg) \ -  asm (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous"); - -#else - -#define link_warning(symbol,msg) \ -  .section .gnu.warning.##symbol ;\ -  .string msg ;\ -  .previous - -#endif - -#else - -#define link_warning(foo,bar) - -#endif diff --git a/mdk-stage1/dietlibc/dyn_start.c b/mdk-stage1/dietlibc/dyn_start.c deleted file mode 100644 index 391797e12..000000000 --- a/mdk-stage1/dietlibc/dyn_start.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "dietfeatures.h" - -#ifdef WANT_DYNAMIC -#include <stdlib.h> - -typedef void(*structor)(void); - -__attribute__((section(".ctors"))) -static structor __CTOR_LIST__[1]={((structor)-1)}; - -__attribute__((section(".dtors"))) -static structor __DTOR_LIST__[1]={((structor)-1)}; - -static void __do_global_dtors_aux(void) -{ -  structor *df=__CTOR_LIST__;	/* ugly trick to prevent warning */ -  for (df=((__DTOR_LIST__)+1);(*df) != (structor)0; df++) (*df)(); -} - -void _fini(void) __attribute__((section(".fini"))); -__attribute__((section(".fini"))) void _fini(void) -{ -  __do_global_dtors_aux(); -} - -#ifndef __DYN_LIB_SHARED -/* pre main, post _start */ -int _dyn_start(int argc, char **argv, char **envp, structor dl_init); -int _dyn_start(int argc, char **argv, char **envp, structor dl_init) -{ -  static __attribute__((section(".init"))) void _init(void); -  int main(int argc, char **argv, char **envp); - -  if (dl_init) atexit(dl_init); -  _init(); -  atexit(_fini); -  return main(argc, argv, envp); -} -#endif -#endif diff --git a/mdk-stage1/dietlibc/dyn_stop.c b/mdk-stage1/dietlibc/dyn_stop.c deleted file mode 100644 index 7213a8089..000000000 --- a/mdk-stage1/dietlibc/dyn_stop.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "dietfeatures.h" - -#ifdef WANT_DYNAMIC -typedef void(*structor)(void); - -__attribute__((section(".ctors"))) -static structor __CTOR_END__[1]={((structor)0)}; - -__attribute__((section(".dtors"))) -static structor __DTOR_END__[1]={((structor)0)}; - -static void __do_global_ctors_aux(void) -{ -  structor *cf=__DTOR_END__;	/* ugly trick to prevent warning */ -  for(cf=((__CTOR_END__)-1); (*cf) != (structor)-1; cf--) (*cf)(); -} - -void _init() __attribute__((section(".init"))); -__attribute__((section(".init"))) void _init() -{ -  __do_global_ctors_aux(); -} -#endif diff --git a/mdk-stage1/dietlibc/findcflags.sh b/mdk-stage1/dietlibc/findcflags.sh deleted file mode 100755 index 8b8b3d74a..000000000 --- a/mdk-stage1/dietlibc/findcflags.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -version=`${1:-gcc} -v 2>&1 |sed -n '/gcc version/ {s/gcc version //;p;}'` -case $version in -  2.9*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;; -  3.0*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;; -  3*) echo -Os -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0 -mpreferred-stack-boundary=2;; -  *) echo -O2 -pipe -fomit-frame-pointer ;; -esac diff --git a/mdk-stage1/dietlibc/i386/Makefile.add b/mdk-stage1/dietlibc/i386/Makefile.add deleted file mode 100644 index 83b18ae29..000000000 --- a/mdk-stage1/dietlibc/i386/Makefile.add +++ /dev/null @@ -1,8 +0,0 @@ - -M:=$(shell ./findcflags.sh $(CC)) -LIBOBJ+=$(OBJDIR)/__ten.o $(OBJDIR)/md5asm.o $(OBJDIR)/mmap64.o -LIBMATH+=acos.o asin.o atan.o atan2.o ceil.o cos.o exp.o exp10.o exp2.o expm1.o fabs.o floor.o hypot.o log.o log10.o log2.o sin.o sqrt.o tan.o copysign.o sincos.o __half.o ldexp.o pow.o ilogb.o cbrt.o log1p.o sqrtl.o fmod.o libm2.o -#CFLAGS+=-march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 -CFLAGS+=$(M) -VPATH:=i386:syscalls.s:$(VPATH) -LIBGMON_OBJS+=$(OBJDIR)/mcount.o diff --git a/mdk-stage1/dietlibc/i386/PIC.h b/mdk-stage1/dietlibc/i386/PIC.h deleted file mode 100644 index 45ddeb446..000000000 --- a/mdk-stage1/dietlibc/i386/PIC.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef __I386_PIC_H__ -#define __I386_PIC_H__ -#ifdef __DYN_LIB - -#if 1 -/* don't trash the athlon return stack */ -.text -.Lgetpic: -	mov	(%esp),%ebx -	ret - -.macro PIC_INIT -	call	.Lgetpic -	addl	$_GLOBAL_OFFSET_TABLE_, %ebx -.endm -#else -/* standard code for PIC init */ -.macro PIC_INIT -	call	0f -0:	popl	%ebx -	addl	$_GLOBAL_OFFSET_TABLE_+[.-0b], %ebx -.endm -#endif - -#define PIC_SAVE	pushl	%ebx -#define PIC_RESTORE	popl	%ebx - - -/* get memory variable (var) in register (reg) */ -.macro GET_VAR var reg -	movl	\var@GOT(%ebx), \reg -	movl	(\reg), \reg -.endm - -/* put register (reg) into memory variable (var) TRASH register (tmp) */ -.macro PUT_VAR reg var tmp -	movl	\var@GOT(%ebx), \tmp -	movl	\reg, (\tmp) -.endm - -/* get memory variable (var) in register (reg) - * IF no more PIC-code is needed */ -.macro GET_1VAR var reg -	PIC_SAVE -	PIC_INIT -	GET_VAR \var, \reg -	PIC_RESTORE -.endm - -/* put register (reg) into memory variable (var) - * IF no more PIC-code is needed */ -.macro PUT_1VAR reg var -	PIC_SAVE -	PIC_INIT -	PUT_VAR \reg, \var, %ebx -	PIC_RESTORE -.endm - -#else - -#define PIC_SAVE -#define PIC_RESTORE -#define PIC_INIT - -.macro GET_VAR var reg -	movl	\var, \reg -.endm - -.macro PUT_VAR reg var tmp -	movl	\reg, \var -.endm - -.macro GET_1VAR var reg -	GET_VAR \var, \reg -.endm - -.macro PUT_1VAR reg var -	PUT_VAR \reg, \var, none -.endm - -#endif -#endif diff --git a/mdk-stage1/dietlibc/i386/__half.S b/mdk-stage1/dietlibc/i386/__half.S deleted file mode 100644 index 6355c93e4..000000000 --- a/mdk-stage1/dietlibc/i386/__half.S +++ /dev/null @@ -1,10 +0,0 @@ -# -#  Definiert Konstante (float)0.5 unter dem Namen __half -#  Wird von etlichen Funktionen benutzt (sinh, cosh, atanh) -# - -.global __half -.data -.type   __half,@object -.size   __half,4 -__half: .long 0x3f000000 diff --git a/mdk-stage1/dietlibc/i386/__longjmp.S b/mdk-stage1/dietlibc/i386/__longjmp.S deleted file mode 100644 index a09191f0b..000000000 --- a/mdk-stage1/dietlibc/i386/__longjmp.S +++ /dev/null @@ -1,19 +0,0 @@ -#include <setjmp.h> - -.text -.global __longjmp -.type __longjmp,@function -__longjmp: -	movl 4(%esp), %ecx	/* User's jmp_buf in %ecx.  */ -	movl 8(%esp), %eax	/* Second argument is return value.  */ -	/* Save the return address now.  */ -	movl (JB_PC*4)(%ecx), %edx -	/* Restore registers.  */ -	movl (JB_BX*4)(%ecx), %ebx -	movl (JB_SI*4)(%ecx), %esi -	movl (JB_DI*4)(%ecx), %edi -	movl (JB_BP*4)(%ecx), %ebp -	movl (JB_SP*4)(%ecx), %esp -	/* Jump to saved PC.  */ -	jmp *%edx -.size __longjmp,.-__longjmp; diff --git a/mdk-stage1/dietlibc/i386/__ten.S b/mdk-stage1/dietlibc/i386/__ten.S deleted file mode 100644 index 47b9431f4..000000000 --- a/mdk-stage1/dietlibc/i386/__ten.S +++ /dev/null @@ -1,9 +0,0 @@ -# -#  Definiert Konstante (float)10. unter dem Namen __ten -# - -.global __ten -.data -.type   __ten,@object -.size   __ten,4 -__ten:  .long 0x41200000 diff --git a/mdk-stage1/dietlibc/i386/__testandset.S b/mdk-stage1/dietlibc/i386/__testandset.S deleted file mode 100644 index 29b02d57a..000000000 --- a/mdk-stage1/dietlibc/i386/__testandset.S +++ /dev/null @@ -1,9 +0,0 @@ -.text -.global __testandset -.type	__testandset,@function -__testandset: -	xorl	%eax, %eax -	movl	0x4(%esp),%edx -	incl	%eax -	xchgl	%eax,(%edx) -	ret diff --git a/mdk-stage1/dietlibc/i386/accept.S b/mdk-stage1/dietlibc/i386/accept.S deleted file mode 100644 index d8be36a54..000000000 --- a/mdk-stage1/dietlibc/i386/accept.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(accept,ACCEPT) diff --git a/mdk-stage1/dietlibc/i386/acos.S b/mdk-stage1/dietlibc/i386/acos.S deleted file mode 100644 index baabf9f04..000000000 --- a/mdk-stage1/dietlibc/i386/acos.S +++ /dev/null @@ -1,30 +0,0 @@ - -.text - -.global acosf,acos,acosl	# ,__acos -	.type	 acosf,@function -	.type	 acos,@function -	.type	 acosl,@function -#	.type	 __acos,@function -acosf: -	flds 4(%esp) -	jmp __acos -acosl: -	fldt 4(%esp) -	jmp __acos -acos: -	fldl 4(%esp) -__acos: -	fld	%st -	fmul	%st -	fld1 -	fsubp -	fsqrt -	fxch	%st(1) -	fpatan -	ret - -.ende: -.size    acos,.ende-acos -.size    acosf,.ende-acosf -.size    acosl,.ende-acosl diff --git a/mdk-stage1/dietlibc/i386/acosh.S b/mdk-stage1/dietlibc/i386/acosh.S deleted file mode 100644 index 0611c9d31..000000000 --- a/mdk-stage1/dietlibc/i386/acosh.S +++ /dev/null @@ -1,18 +0,0 @@ -.text -.global acosh -.type   acosh,@function - -acosh: -        fldln2 -        fldl    4(%esp) -        fld     %st(0) -        fmul    %st(0),%st(0) -        fld1 -        fsubrp  %st(0),%st(1) -        fsqrt -        faddp   %st(0),%st(1) -        fyl2x -        ret - -.Lende: -        .size    acosh,.Lende-acosh diff --git a/mdk-stage1/dietlibc/i386/asin.S b/mdk-stage1/dietlibc/i386/asin.S deleted file mode 100644 index 7b0c31407..000000000 --- a/mdk-stage1/dietlibc/i386/asin.S +++ /dev/null @@ -1,29 +0,0 @@ - -.text - -.global asinf,asin,asinl	# ,__asin -	.type	 asinf,@function -	.type	 asin,@function -	.type	 asinl,@function -#	.type	 __asin,@function -asinf: -	flds 4(%esp) -	jmp __asin -asinl: -	fldt 4(%esp) -	jmp __asin -asin: -	fldl 4(%esp) -__asin: -	fld	%st -	fmul	%st -	fld1 -	fsubp -	fsqrt -	fpatan -	ret - -.ende: -.size    asin,.ende-asin -.size    asinf,.ende-asinf -.size    asinl,.ende-asinl diff --git a/mdk-stage1/dietlibc/i386/asinh.S b/mdk-stage1/dietlibc/i386/asinh.S deleted file mode 100644 index 8c3964392..000000000 --- a/mdk-stage1/dietlibc/i386/asinh.S +++ /dev/null @@ -1,18 +0,0 @@ -.text -.global asinh -.type   asinh,@function - -asinh: -        fldln2 -        fldl    4(%esp) -        fld     %st(0) -        fmul    %st(0),%st(0) -        fld1 -        faddp   %st(0),%st(1) -        fsqrt -        faddp   %st(0),%st(1) -        fyl2x -        ret - -.Lende: -        .size    asinh,.Lende-asinh diff --git a/mdk-stage1/dietlibc/i386/atan.S b/mdk-stage1/dietlibc/i386/atan.S deleted file mode 100644 index 76513f928..000000000 --- a/mdk-stage1/dietlibc/i386/atan.S +++ /dev/null @@ -1,27 +0,0 @@ - -.text - -.global atanf,atan,atanl -	.type	 atanf,@function -	.type	 atan,@function -	.type	 atanl,@function -atanf: -	flds 4(%esp) -	fld1 -	fpatan -	ret -atan: -	fldl 4(%esp) -	fld1 -	fpatan -	ret -atanl: -	fldt 4(%esp) -	fld1 -	fpatan -	ret - -.ende: -.size    atan,.ende-atan -.size    atanf,.ende-atanf -.size    atanl,.ende-atanl diff --git a/mdk-stage1/dietlibc/i386/atan2.S b/mdk-stage1/dietlibc/i386/atan2.S deleted file mode 100644 index acf6e03ae..000000000 --- a/mdk-stage1/dietlibc/i386/atan2.S +++ /dev/null @@ -1,12 +0,0 @@ - -.text -.type   atan2,@function -.global atan2 -atan2: -        fldl   4(%esp) -        fldl  12(%esp) -        fpatan -        ret - -.ende: -.size    atan2,.ende-atan2 diff --git a/mdk-stage1/dietlibc/i386/atanh.S b/mdk-stage1/dietlibc/i386/atanh.S deleted file mode 100644 index b75f0fa8e..000000000 --- a/mdk-stage1/dietlibc/i386/atanh.S +++ /dev/null @@ -1,19 +0,0 @@ -.text -.global atanh -.type   atanh,@function - -atanh: -        fldln2 -        fldl    4(%esp) -        fld1 -        fld     %st(1) -        fadd    %st(1),%st(0) -        fxch    %st(1) -        fsubp   %st(0),%st(2) -        fdivp   %st(0),%st(1) -        fyl2x -        fmuls   __half -        ret - -.Lende: -        .size    atanh,.Lende-atanh diff --git a/mdk-stage1/dietlibc/i386/atol.S b/mdk-stage1/dietlibc/i386/atol.S deleted file mode 100644 index 5bd7f2c24..000000000 --- a/mdk-stage1/dietlibc/i386/atol.S +++ /dev/null @@ -1,55 +0,0 @@ -/* -  Copyright (C) 2001, 2002 Thomas M. Ogrisegg - -  This is free software. You can redistribute and -  modify it under the terms of the GNU General Public -  Public License. - -  atol.S -    i386 assembler implementation of atoi(3) & atol(3) -*/ - -.text -.globl atoi -.globl atol -.type atoi,@function -.type atol,@function - -atoi: -atol: -	pushl %esi -	movl 0x8(%esp), %esi -	xorl %eax, %eax -	xorl %edx, %edx -	xorb %cl, %cl -.LSpace: -	lodsb -	cmpb $0x21, %al -	jng .LSpace -	cmpb $'+', %al -	jz .Lfe5 -	cmpb $'-', %al -	jnz .Lfe3 -	inc %cl -	jmp .Lfe5 -.Lfe2: -	imul $0xa, %edx -	addl %eax, %edx -.Lfe5: -	lodsb -.Lfe3: -	cmpb $47, %al -	jng .Lout -	subb $('0'), %al -	cmpb $9, %al -	jng .Lfe2 -.Lout: -	movl %edx, %eax -	or %cl, %cl -	jz .Lreturn -	negl %eax -.Lreturn: -	popl %esi -	ret -.size	atoi, . - atoi -.size	atol, . - atol diff --git a/mdk-stage1/dietlibc/i386/atoll.S b/mdk-stage1/dietlibc/i386/atoll.S deleted file mode 100644 index 093bf762a..000000000 --- a/mdk-stage1/dietlibc/i386/atoll.S +++ /dev/null @@ -1,64 +0,0 @@ - -.text -.type   atoll,@function -.global atoll - -atoll: -        movl    4(%esp),%ecx -        push    %edi - -        xorl    %edi,%edi               # sign = 0 - -        decl    %ecx -.Lspaces: -        incl    %ecx                    # while ( isspace(*p) ) p++; -        movb    (%ecx),%al -        cmpb    $' ',%al -        je      .Lspaces -        subb    $9,%al -        cmpb    $5,%al -        jc      .Lspaces                # c = *p - 9; - -        cmpb    $'+'-9,%al              # if ( c == '+' - 9 ) p++; -        je      .Lpos -        cmpb    $'-'-9,%al              # else if ( c == '-' - 9 ) sign = -sign, p++; -        jne     .Lnosign -        decl    %edi -.Lpos:  incl    %ecx -.Lnosign: - -        push    %ebx -        push    %esi -        push    %ebp -        movl    $10,%ebp - -        xorl    %esi,%esi               # Hi(value) = 0; -        xorl    %eax,%eax               # Lo(value) = 0; -.Lcont: movzbl  (%ecx),%ebx             # while ( (unsigned) (*p - '0') < 10 ) -        inc     %ecx -        subl    $'0',%ebx -        cmpl    %ebp,%ebx -        jnc     .Lfini -        imull   %ebp,%esi               #     value *= 10, -        mull    %ebp -        addl    %edx,%esi -        addl    %ebx,%eax               #     value += (*p - '0'); -        adcl    $0,%esi -        jmp     .Lcont - -.Lfini: xchg    %edx,%esi               # return sign== 0 ? +value -        xorl    %edi,%eax               #        sign==-1 ? -value -        xorl    %edi,%edx -        subl    %edi,%eax -        sbbl    %edi,%edx - -        pop     %ebp -        pop     %esi -        pop     %ebx -        pop     %edi -        ret - -.Lende: - -.size    atoll,.Lende-atoll - diff --git a/mdk-stage1/dietlibc/i386/bind.S b/mdk-stage1/dietlibc/i386/bind.S deleted file mode 100644 index caff9bb8b..000000000 --- a/mdk-stage1/dietlibc/i386/bind.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(bind,BIND) diff --git a/mdk-stage1/dietlibc/i386/cbrt.S b/mdk-stage1/dietlibc/i386/cbrt.S deleted file mode 100644 index 9d8aebd1e..000000000 --- a/mdk-stage1/dietlibc/i386/cbrt.S +++ /dev/null @@ -1,46 +0,0 @@ -.text - -tab:    .byte    0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4 -        .byte    4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9 -        .byte   10,10,11,11,12,12,12,13,13,14,14,14,15,15,15,16 - -_3:     .long   0x40400000 - - -.global cbrt -cbrt: -        fldl    4(%esp) -        movw    10(%esp),%ax -        movb    %ah,%ch -        andw    $0x7FFF,%ax -        jz      zero                    /* cbrt(0) = 0              */ -        pushl   %ebx -        cwd -        movl    $16*3,%ebx              /* AX   3FE0 3FF0 4000 4010 */ -        divw    %bx                     /* AX    154  155  155  155 */ -                                        /* DX     20    0   10   20 */ -        shlw    $5,%ax -        addb    %ch,%ch -        rcrw    %ax                     /* AX   1540 1550 1550 1550 */ -        addw    $0x3FF0-0x1550,%ax      /* AX   3FE0 3FF0 3FF0 3FF0 */ -        movw    %dx,%bx -        addb    tab(%ebx),%al -        adcb    $0,%ah -        popl    %ebx -        movw    %ax,10(%esp) -        fldl    4(%esp)                 /* y         x        */ - -        movl    $4,%ecx -lop: -        fld     %st(0)                  /* y         y    x   */ -        fmul    %st(0),%st(0)           /* y^2       y    x   */ -        fdivr   %st(2),%st(0)           /* x/y^2     y    x   */ -        fadd    %st(1),%st(0)           /* x/y^2+y   y    x   */ -        faddp                           /* x/y^2+2y  x        */ -        fdivs   _3                      /* y'        x        */ -        loop    lop - -        fstp    %st(1)                  /* y'                 */ -zero: -        ret - diff --git a/mdk-stage1/dietlibc/i386/ceil.S b/mdk-stage1/dietlibc/i386/ceil.S deleted file mode 100644 index e6a4e989c..000000000 --- a/mdk-stage1/dietlibc/i386/ceil.S +++ /dev/null @@ -1,44 +0,0 @@ -.text - -.global ceilf,ceil,ceill,__flcetr -	.type ceilf,@function -	.type ceil,@function -	.type ceill,@function -	.type __flcetr,@function - -ceilf: -	flds 4(%esp) -	movb $0x08,%ah -	jmp __flcetr - -ceill: -	fldt 4(%esp) -	movb $0x08,%ah -	jmp __flcetr - -ceil: -	fldl 4(%esp) -	movb $0x08,%ah - -# Wspolny kod dla funkcji floor, ceil i trunc -# W ah maska bitow 11 i 10 rejestru sterowania koprocesora -__flcetr: -	xorl %ecx,%ecx	# wyzerowanie rejestru -	movb %ah,%ch	# i utworzenie maski w cx -	pushl %eax	# krotsze niz subl $4,%esp -	fstcw (%esp) -	movw (%esp),%ax -	andb $0x03,%ah	# wyzerowanie bitow 11 i 10 -	orl %ecx,%eax	# ustawienie bitow z maski -	movw %ax,2(%esp) -	fldcw 2(%esp) -	frndint -	fldcw (%esp)	# odtworzenie rejestru sterowania -	popl %eax	# i polozenia stosu -	ret - -.Lende: -.size    ceil,.Lende-ceil -.size    ceill,.Lende-ceill -.size    ceilf,.Lende-ceilf -.size    flcetr,.Lende-__flcetr diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S deleted file mode 100644 index ea43bc2e2..000000000 --- a/mdk-stage1/dietlibc/i386/clone.S +++ /dev/null @@ -1,60 +0,0 @@ -#include "syscalls.h" -#include <errno.h> -#include "PIC.h" - -.text -.type clone,@function -.weak clone -clone: -.type __clone,@function -.global __clone -__clone: -	mov	$-EINVAL, %eax - -	movl	4(%esp), %ecx	/* have non null thread_funcion */ -	jecxz	.Lclone_error - -	movl	8(%esp), %ecx	/* have non null child_stack pointer */ -	jecxz	.Lclone_error - -	/* put the parameter on thread stack */ -	subl	$8, %ecx - -	movl	16(%esp), %eax	/* arg */ -	movl	%eax, 4(%ecx) - -	movl	4(%esp), %eax	/* thread_func */ -	movl	%eax, 0(%ecx) - -	/* the syscall */ -	pushl	%ebx -	movl	16(%esp), %ebx	/* flags */ -	movl	$__NR_clone, %eax -	int	$0x80 -	popl	%ebx - -	testl	%eax, %eax -	jl	.Lclone_error -	jne	.Lreturn -.Lstart_thread: -	xorl	%ebp,%ebp -	call	*%ebx -	pushl	%eax -	call	_exit - -.Lclone_error: -	negl	%eax -	pushl	%eax -#ifdef PIC -	pushl	%ebx -	PIC_INIT -	call	__errno_location@PLT -	popl	%ebx -#else -	call	__errno_location -#endif -	popl	%ecx -	movl	%ecx, (%eax) -	orl	$-1, %eax -.Lreturn: -	ret diff --git a/mdk-stage1/dietlibc/i386/connect.S b/mdk-stage1/dietlibc/i386/connect.S deleted file mode 100644 index a295a8814..000000000 --- a/mdk-stage1/dietlibc/i386/connect.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(connect,CONNECT) diff --git a/mdk-stage1/dietlibc/i386/copysign.S b/mdk-stage1/dietlibc/i386/copysign.S deleted file mode 100644 index 3a495efee..000000000 --- a/mdk-stage1/dietlibc/i386/copysign.S +++ /dev/null @@ -1,18 +0,0 @@ - -.text -.type   copysign,@function -.global copysign - -# double  copysign ( double value, double sign ); - -copysign: -        movb  12+7(%esp),%al -        movb   4+7(%esp),%ah -        andw  $0x7F80,%ax -        orb   %ah,%al -        movb   4+7(%esp),%al -        fldl   4(%esp) -        ret - -.ende: -.size    copysign,.ende-copysign diff --git a/mdk-stage1/dietlibc/i386/cos.S b/mdk-stage1/dietlibc/i386/cos.S deleted file mode 100644 index f95c81ca7..000000000 --- a/mdk-stage1/dietlibc/i386/cos.S +++ /dev/null @@ -1,35 +0,0 @@ -.text - -.global cosf,cos,cosl -.type   cosf,@function -.type   cos,@function -.type   cosl,@function - -cosf: -        flds    4(%esp) -	jmp 1f -cos: -        fldl    4(%esp) -1: -        fcos -	fnstsw	%ax -	testb	$0x04, %ah -	je 3f -	fldpi -	fadd	%st -	fxch	%st(1) -2:	fprem1 -	fnstsw	%ax -	testb	$0x04, %ah -	jne	2b -	fstp	%st(1) -        fcos -3:	ret -cosl: -        fldt    4(%esp) -        jmp 1b - -.Lende: -.size    cos,.Lende-cos -.size    cosl,.Lende-cosl -.size    cosf,.Lende-cosf diff --git a/mdk-stage1/dietlibc/i386/cosh.S b/mdk-stage1/dietlibc/i386/cosh.S deleted file mode 100644 index f6a33704d..000000000 --- a/mdk-stage1/dietlibc/i386/cosh.S +++ /dev/null @@ -1,29 +0,0 @@ - -.text -.type   cosh,@function -.global cosh - -cosh:                           # note: exp(x) = 2^(x*log2(e)) -        fldl2e -        fmull    4(%esp)        # x*log2(e) -        fld      %st(0)         # x*log2(e)              x*log2(e) -        frndint                 # int(x*log2(e))         x*log2(e) -        fxch                    # x*log2(e)              int(x*log2(e)) -        fsub     %st(1),%st(0)  # frac(x*log2(e))        int(x*log2(e)) -        f2xm1                   # 2^(fract(x*log2(e)))-1 int(x*log2(e)) -        fld1                    # 1                      2^(fract(x*log2(e)))-1         int(x*log2(e)) -        faddp    %st(0),%st(1)  # 2^(fract(x*log2(e)))   int(x*log2(e)) -        fscale                  # 2^(x*log2(e))          int(x*log2(e)) -        fstp     %st(1)         # 2^(x*log2(e)) - -# now we have y = exp(x), but cosh(x) = (y + 1/y) * 0.5 - -        fld1 -        fdiv    %st(1),%st(0) -        faddp -        fmuls   __half -        ret - -.Lende: - -.size    cosh,.ende-cosh diff --git a/mdk-stage1/dietlibc/i386/dyn_syscalls.S b/mdk-stage1/dietlibc/i386/dyn_syscalls.S deleted file mode 100644 index c4fd2fff5..000000000 --- a/mdk-stage1/dietlibc/i386/dyn_syscalls.S +++ /dev/null @@ -1,282 +0,0 @@ -/* - * dynamic unified-syscalls - * Olaf Dreesen - */ - -#include "../syscalls.s/environ.S" -#include "../syscalls.s/errno.S" - -#include <dietfeatures.h> -#include "syscalls.h" -#include "PIC.h" - -/* ok now include all syscalls.s (*.S) and sysdep *.S */ - -#include "mmap.S" - -/* here on i386 I had split them some pre- some post-unified-syscall, - * because the jumps pre-u.s.c. have only a 1 byte displacement. the first - * post-u.s.c. have also 1 byte dsplacement the rest a 4 byte. - * this pre/post split saves about 250 byte of code .... - * - * Please put additional syscalls AFTER the post-u.s.c.  - * or try to not break the savings :) */ - -#include "select.S" - -#include "../syscalls.s/fork.S" -#include "../syscalls.s/read.S" -#include "../syscalls.s/write.S" -#include "../syscalls.s/open.S" -#include "../syscalls.s/close.S" -#include "../syscalls.s/waitpid.S" - -#include "../syscalls.s/getgid.S" -#include "../syscalls.s/getpgid.S" -#include "../syscalls.s/getpid.S" -#include "../syscalls.s/getppid.S" -#include "../syscalls.s/getuid.S" -#include "../syscalls.s/kill.S" -#include "../syscalls.s/ioctl.S" -#include "../syscalls.s/_llseek.S" -#include "../syscalls.s/lseek.S" -#include "../syscalls.s/lstat.S" -#include "../syscalls.s/lstat64.S" -#include "../syscalls.s/mkdir.S" -#include "../syscalls.s/mprotect.S" -#include "../syscalls.s/nanosleep.S" -#include "../syscalls.s/pipe.S" -#include "../syscalls.s/poll.S" -#include "../syscalls.s/readv.S" -#include "../syscalls.s/stat.S" -#include "../syscalls.s/stat64.S" -#include "../syscalls.s/truncate.S" -#include "../syscalls.s/umask.S" -#include "../syscalls.s/wait4.S" -#include "../syscalls.s/writev.S" -#include "../syscalls.s/__getpagesize.S" - -/* OK this is basicaly unified.S */ -.text -.type __unified_syscall_256,@function -__unified_syscall_256: -	movzwl %ax, %eax -	jmp .L23 -.L22: -.size __unified_syscall_256,.L22-__unified_syscall_256 -.type exit,@function -.weak exit -exit: -.type _exit,@function -.global _exit -_exit: -__exit: -	mov $__NR_exit, %al -__unified_syscall: -	movzbl	%al, %eax -.L23: -	push	%edi -	push	%esi -	push	%ebx -	movl	%esp,%edi -	movl	0x10(%edi),%ebx -	movl	0x14(%edi),%ecx -	movl	0x18(%edi),%edx -	movl	0x1c(%edi),%esi -	movl	0x20(%edi),%edi -	int	$0x80 -	cmp	$-124,%eax -	jbe	.Lnoerror -	neg	%eax - -	/* PIC-code Ohhhhh My. */ -	push	%eax -	PIC_INIT -	call	__errno_location@PLT -	popl	%ebx -	movl	%ebx,(%eax) -	orl	$-1,%eax -.Lnoerror: -	pop	%ebx -	pop	%esi -	pop	%edi -#include "dietuglyweaks.h" -	ret - -#include "../syscalls.s/__pread.S" -#include "../syscalls.s/__pwrite.S" -#include "../syscalls.s/__reboot.S" -#include "../syscalls.s/access.S" -#include "../syscalls.s/adjtimex.S" -#include "../syscalls.s/brk.S" -#include "../syscalls.s/chdir.S" -#include "../syscalls.s/chmod.S" -#include "../syscalls.s/chown.S" -#include "../syscalls.s/chroot.S" -#include "../syscalls.s/dup.S" -#include "../syscalls.s/dup2.S" -#include "../syscalls.s/execve.S" -#include "../syscalls.s/fchdir.S" -#include "../syscalls.s/fchmod.S" -#include "../syscalls.s/fchown.S" -#include "../syscalls.s/fcntl.S" -#include "../syscalls.s/flock.S" -#include "../syscalls.s/fstat.S" -#include "../syscalls.s/fstat64.S" -#include "../syscalls.s/fstatfs.S" -#include "../syscalls.s/fsync.S" -#include "../syscalls.s/fdatasync.S" -#include "../syscalls.s/ftruncate.S" -#include "../syscalls.s/getcwd.S" -#include "../syscalls.s/getdents.S" -#include "../syscalls.s/getdents64.S" -#include "../syscalls.s/getegid.S" -#include "../syscalls.s/geteuid.S" -#include "../syscalls.s/getgroups.S" -#include "../syscalls.s/getitimer.S" -#include "../syscalls.s/getpriority.S" -#include "../syscalls.s/getresgid.S" -#include "../syscalls.s/getresuid.S" -#include "../syscalls.s/getrlimit.S" -#include "../syscalls.s/getrusage.S" -#include "../syscalls.s/getsid.S" -#include "../syscalls.s/gettimeofday.S" -#include "../syscalls.s/ioperm.S" -#include "../syscalls.s/iopl.S" -#include "../syscalls.s/ipc.S" -#include "../syscalls.s/lchown.S" -#include "../syscalls.s/link.S" -#include "../syscalls.s/mknod.S" -#include "../syscalls.s/mlock.S" -#include "../syscalls.s/mlockall.S" -#include "../syscalls.s/mount.S" -#include "../syscalls.s/mremap.S" -#include "../syscalls.s/munlockall.S" -#include "../syscalls.s/munmap.S" -#include "../syscalls.s/n_sigaction.S" -#include "../syscalls.s/n_sigpending.S" -#include "../syscalls.s/n_sigprocmask.S" -#include "../syscalls.s/n_sigsuspend.S" -#include "../syscalls.s/nice.S" -#include "../syscalls.s/pause.S" -#include "../syscalls.s/personality.S" -#include "../syscalls.s/query_module.S" -#include "../syscalls.s/init_module.S" -#include "../syscalls.s/delete_module.S" -#include "../syscalls.s/create_module.S" -#include "../syscalls.s/readlink.S" -#include "../syscalls.s/rename.S" -#include "../syscalls.s/rmdir.S" -#include "../syscalls.s/rt_sigaction.S" -#include "../syscalls.s/rt_sigpending.S" -#include "../syscalls.s/rt_sigprocmask.S" -#include "../syscalls.s/rt_sigqueueinfo.S" -#include "../syscalls.s/rt_sigsuspend.S" -#include "../syscalls.s/rt_sigtimedwait.S" -#include "../syscalls.s/sched_get_priority_max.S" -#include "../syscalls.s/sched_get_priority_min.S" -#include "../syscalls.s/sched_getparam.S" -#include "../syscalls.s/sched_getscheduler.S" -#include "../syscalls.s/sched_rr_get_interval.S" -#include "../syscalls.s/sched_setparam.S" -#include "../syscalls.s/sched_setscheduler.S" -#include "../syscalls.s/sched_yield.S" -#include "../syscalls.s/sendfile.S" -#include "../syscalls.s/setdomainname.S" -#include "../syscalls.s/setfsgid.S" -#include "../syscalls.s/setfsuid.S" -#include "../syscalls.s/setgid.S" -#include "../syscalls.s/setgroups.S" -#include "../syscalls.s/sethostname.S" -#include "../syscalls.s/setitimer.S" -#include "../syscalls.s/setpgid.S" -#include "../syscalls.s/setpriority.S" -#include "../syscalls.s/setregid.S" -#include "../syscalls.s/setresgid.S" -#include "../syscalls.s/setresuid.S" -#include "../syscalls.s/setreuid.S" -#include "../syscalls.s/setrlimit.S" -#include "../syscalls.s/setsid.S" -#include "../syscalls.s/setuid.S" -#include "../syscalls.s/sigaltstack.S" -#include "../syscalls.s/statfs.S" -#include "../syscalls.s/stime.S" -#include "../syscalls.s/swapoff.S" -#include "../syscalls.s/swapon.S" -#include "../syscalls.s/symlink.S" -#include "../syscalls.s/sync.S" -#include "../syscalls.s/sysctl.S" -#include "../syscalls.s/sysinfo.S" -#include "../syscalls.s/syslog.S" -#include "../syscalls.s/time.S" -#include "../syscalls.s/times.S" -#include "../syscalls.s/umount.S" -#include "../syscalls.s/umount2.S" -#include "../syscalls.s/uname.S" -#include "../syscalls.s/unlink.S" -#include "../syscalls.s/utime.S" -#include "../syscalls.s/vhangup.S" - -#include "../syscalls.s/chown32.S" -#include "../syscalls.s/fchown32.S" -#include "../syscalls.s/getegid32.S" -#include "../syscalls.s/geteuid32.S" -#include "../syscalls.s/getgid32.S" -#include "../syscalls.s/getgroups32.S" -#include "../syscalls.s/getresgid32.S" -#include "../syscalls.s/getuid32.S" -#include "../syscalls.s/lchown32.S" -#include "../syscalls.s/setfsgid32.S" -#include "../syscalls.s/setfsuid32.S" -#include "../syscalls.s/setgid32.S" -#include "../syscalls.s/setregid32.S" -#include "../syscalls.s/setresgid32.S" -#include "../syscalls.s/setreuid32.S" -#include "../syscalls.s/setuid32.S" -#include "../syscalls.s/alarm.S" -#include "../syscalls.s/ptrace.S" -#include "../syscalls.s/truncate64.S" -#include "../syscalls.s/ftruncate64.S" -#include "../syscalls.s/epoll_create.S" -#include "../syscalls.s/epoll_ctl.S" -#include "../syscalls.s/epoll_wait.S" - -#undef __PIC__ -#undef __socketcall -/* oh what a kludge! */ -#define socketcall .Lsocketcall -#include "../i386/send.S" -#include "../i386/recv.S" -#include "../i386/socket.S" -#include "../i386/accept.S" -#include "../i386/shutdown.S" -#include "../i386/socketpair.S" -#include "../i386/setsockopt.S" -#include "../i386/sendto.S" -#include "../i386/sendmsg.S" -#include "../i386/recvmsg.S" -#include "../i386/recvfrom.S" -#include "../i386/listen.S" -#include "../i386/getsockopt.S" -#include "../i386/getsockname.S" -#include "../i386/getpeername.S" -#include "../i386/connect.S" -#include "../i386/bind.S" -#undef socketcall -.Lsocketcall: -#include "../i386/socketcall.S" -#define __PIC__ -#undef __socketcall - - -/* so now this was the last u.s.c. */ - -/* other asm-files ... */ -#define PIC - -#define _exit __exit -#include "clone.S" -#undef _exit - -#include "__longjmp.S" -#include "setjmp.S" diff --git a/mdk-stage1/dietlibc/i386/exp.S b/mdk-stage1/dietlibc/i386/exp.S deleted file mode 100644 index 6c82128e4..000000000 --- a/mdk-stage1/dietlibc/i386/exp.S +++ /dev/null @@ -1,35 +0,0 @@ -.text - -.global expf,exp,expl,__finexp -	.type	 expf,@function -	.type	 exp,@function -	.type	 expl,@function -	.type	 __finexp,@function -expf: -	fldl2e -	fmuls 4(%esp) -	jmp __finexp -expl: -	fldl2e -	fldt 4(%esp) -	fmulp -	jmp __finexp -exp: -	fldl2e -	fmull 4(%esp) -__finexp: -	fst	%st(1) -	frndint -	fst	%st(2) -	fsubrp -	f2xm1 -	fld1 -	faddp -	fscale -	ret - -.Lende: -.size    exp,.Lende-exp -.size    expl,.Lende-expl -.size    expf,.Lende-expf -.size    __finexp,.Lende-__finexp diff --git a/mdk-stage1/dietlibc/i386/exp10.S b/mdk-stage1/dietlibc/i386/exp10.S deleted file mode 100644 index 6223e5f85..000000000 --- a/mdk-stage1/dietlibc/i386/exp10.S +++ /dev/null @@ -1,27 +0,0 @@ - -.text -.type   exp10,@function -.global exp10 -.type   pow10,@function -.global pow10 - - -pow10: -exp10:                          # note: 10^(x) = 2^(x*log2(10)) -        fldl2t -        fmull    4(%esp)        # x*log2(10) -        fld      %st(0)         # x*log2(10)              x*log2(10) -        frndint                 # int(x*log2(10))         x*log2(10) -        fxch                    # x*log2(10)              int(x*log2(10)) -        fsub     %st(1),%st(0)  # frac(x*log2(10))        int(x*log2(10)) -        f2xm1                   # 2^(fract(x*log2(10)))-1 int(x*log2(10)) -        fld1                    # 1                       2^(fract(x*log2(10)))-1       int(x*log2(10)) -        faddp    %st(0),%st(1)  # 2^(fract(x*log2(10)))   int(x*log2(10)) -        fscale                  # 2^(x*log2(10))          int(x*log2(10)) -        fstp     %st(1)         # 2^(x*log2(10)) -        ret - -.ende: - -.size    exp10,.ende-exp10 -.size    pow10,.ende-pow10 diff --git a/mdk-stage1/dietlibc/i386/exp2.S b/mdk-stage1/dietlibc/i386/exp2.S deleted file mode 100644 index d5389a22e..000000000 --- a/mdk-stage1/dietlibc/i386/exp2.S +++ /dev/null @@ -1,18 +0,0 @@ -.text -.type   exp2,@function -.global exp2 -exp2:                           # note: exp2(x) = 2^x -        fldl     4(%esp)        # x -        fld      %st(0)         # x              x -        frndint                 # int(x)         x -        fxch                    # x              int(x) -        fsub     %st(1),%st(0)  # frac(x)        int(x) -        f2xm1                   # 2^(fract(x))-1 int(x) -        fld1                    # 1              2^(fract(x))-1         int(x) -        faddp    %st(0),%st(1)  # 2^(fract(x))   int(x) -        fscale                  # 2^x            int(x) -        fstp     %st(1)         # 2^x -        ret - -.ende: -.size    exp2,.ende-exp2 diff --git a/mdk-stage1/dietlibc/i386/expm1.S b/mdk-stage1/dietlibc/i386/expm1.S deleted file mode 100644 index 677f4723f..000000000 --- a/mdk-stage1/dietlibc/i386/expm1.S +++ /dev/null @@ -1,23 +0,0 @@ -.text -.type   expm1,@function -.global expm1 -expm1:                          # note: exp(x) = 2^(x*log2(e)) -        fldl2e -        fmull    4(%esp)        # x*log2(e) -        fld      %st(0)         # x*log2(e)                       x*log2(e) -        frndint                 # int(x*log2(e))                  x*log2(e) -        fxch                    # x*log2(e)                       int(x*log2(e)) -        fsub     %st(1),%st(0)  # frac(x*log2(e))                 int(x*log2(e)) -        f2xm1                   # 2^(fract(x*log2(e)))-1          int(x*log2(e)) -        fscale                  # 2^(x*log2(e))-2^int(x*log2(e))  int(x*log2(e)) -        fxch                    # int(x*log2(e))                  2^(x*log2(e))-2^int(x*log2(e)) -        fld1                    # 1                               int(x*log2(e))                  2^(x*log2(e))-2^int(x*log2(e)) -        fscale                  # 2^int(x*log2(e))                int(x*log2(e))                  2^(x*log2(e))-2^int(x*log2(e)) -        fstp     %st(1)         # 2^int(x*log2(e))                2^(x*log2(e))-2^int(x*log2(e)) -        fld1                    # 1                               2^int(x*log2(e))                2^(x*log2(e))-2^int(x*log2(e)) -        fsubrp   %st(1)         # 2^int(x*log2(e))-1              2^(x*log2(e))-2^int(x*log2(e)) -        faddp    %st(1) -        ret - -.ende: -.size    expm1,.ende-expm1 diff --git a/mdk-stage1/dietlibc/i386/fabs.S b/mdk-stage1/dietlibc/i386/fabs.S deleted file mode 100644 index d9c1c2212..000000000 --- a/mdk-stage1/dietlibc/i386/fabs.S +++ /dev/null @@ -1,11 +0,0 @@ - -.text -.type   fabs,@function -.global fabs -fabs: -        fldl    4(%esp) -        fabs -        ret - -.ende: -.size    fabs,.ende-fabs diff --git a/mdk-stage1/dietlibc/i386/floor.S b/mdk-stage1/dietlibc/i386/floor.S deleted file mode 100644 index af26d0c94..000000000 --- a/mdk-stage1/dietlibc/i386/floor.S +++ /dev/null @@ -1,26 +0,0 @@ -.text - -.global floorf,floor,floorl -	.type floorf,@function -	.type floor,@function -	.type floorf,@function - -floorf: -	flds 4(%esp) -	movb $0x04,%ah -	jmp __flcetr - -floor: -	fldl 4(%esp) -	movb $0x04,%ah -	jmp __flcetr - -floorl: -	fldt 4(%esp) -	movb $0x04,%ah -	jmp __flcetr - -.Lende: -.size    floor,.Lende-floor -.size    floorl,.Lende-floorl -.size    floorf,.Lende-floorf diff --git a/mdk-stage1/dietlibc/i386/fmod.S b/mdk-stage1/dietlibc/i386/fmod.S deleted file mode 100644 index 5bf4c06ab..000000000 --- a/mdk-stage1/dietlibc/i386/fmod.S +++ /dev/null @@ -1,37 +0,0 @@ -.text -.type   fmod,@function -.type   fmodf,@function -.type   fmodl,@function -.type   __fmod2pi,@function -.global fmod, fmodl, fmodf, __fmod2pi - -__fmod2pi: -	fldpi -	fadd %st(0) -	fxch -	jmp .Lfmod - -fmodf: -	flds 8(%esp)		# y -	flds 4(%esp)		# x -	jmp .Lfmod -fmod: -	fldl 12(%esp) -	fldl 4(%esp) -.Lfmod: -	fprem -	fstsw %ax -	sahf -	jp .Lfmod -	ret - -fmodl: -	fldt 16(%esp) -	fldt 4(%esp) -	jmp .Lfmod - - -.ende: -.size    fmod,.ende-fmod -.size    fmodl,.ende-fmodl -.size    fmodf,.ende-fmodf diff --git a/mdk-stage1/dietlibc/i386/getenv.S b/mdk-stage1/dietlibc/i386/getenv.S deleted file mode 100644 index dafbf37ee..000000000 --- a/mdk-stage1/dietlibc/i386/getenv.S +++ /dev/null @@ -1,48 +0,0 @@ -#include "PIC.h" - -.text -.global getenv -.type getenv,@function -getenv: -	pushl %esi -	pushl %edi -	movl 0xc(%esp), %edi -	cld -	movl %edi, %edx -	xorl %eax, %eax -	leal -1(%eax), %ecx -	repnz scasb -	not %ecx -	dec %ecx -	pushl %ecx -	movl (%edx), %ecx - -	GET_1VAR environ, %esi		# non-PIC: movl environ, %esi -	jmp .Lloop - -.Lprepare: -	movl (%edx), %ecx -	movl %eax, %esi -.Lloop: -	lodsl -	or %eax, %eax -	jz .Lout -	cmpb %cl, (%eax) -	jnz .Lloop - -	movl %edx, %edi -	xchg %esi, %eax -	movl (%esp), %ecx -	repz cmpsb -	jne .Lprepare -	or %ecx, %ecx -	jnz .Lprepare -	cmpb $'=', (%esi) -	jne .Lprepare -	leal 0x1(%esi), %eax -.Lout: -	popl %ecx -	popl %edi -	popl %esi -	ret -.size	getenv, . - getenv diff --git a/mdk-stage1/dietlibc/i386/getpeername.S b/mdk-stage1/dietlibc/i386/getpeername.S deleted file mode 100644 index 833322941..000000000 --- a/mdk-stage1/dietlibc/i386/getpeername.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(getpeername,GETPEERNAME) diff --git a/mdk-stage1/dietlibc/i386/getsockname.S b/mdk-stage1/dietlibc/i386/getsockname.S deleted file mode 100644 index f0618481c..000000000 --- a/mdk-stage1/dietlibc/i386/getsockname.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(getsockname,GETSOCKNAME) diff --git a/mdk-stage1/dietlibc/i386/getsockopt.S b/mdk-stage1/dietlibc/i386/getsockopt.S deleted file mode 100644 index 23d7c2470..000000000 --- a/mdk-stage1/dietlibc/i386/getsockopt.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(getsockopt,GETSOCKOPT) diff --git a/mdk-stage1/dietlibc/i386/htonl.S b/mdk-stage1/dietlibc/i386/htonl.S deleted file mode 100644 index f3732d16a..000000000 --- a/mdk-stage1/dietlibc/i386/htonl.S +++ /dev/null @@ -1,13 +0,0 @@ -.text -.global htonl -.type   htonl,@function -.global ntohl -.type   ntohl,@function - -htonl: -ntohl: -        movl    4(%esp),%eax -        xchgb   %al,%ah -        rorl    $16,%eax -        xchgb   %al,%ah -        ret diff --git a/mdk-stage1/dietlibc/i386/htons.S b/mdk-stage1/dietlibc/i386/htons.S deleted file mode 100644 index 367d6d03c..000000000 --- a/mdk-stage1/dietlibc/i386/htons.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.global htons -.type   htons,@function -.global ntohs -.type   ntohs,@function - -htons: -ntohs: -        movzwl  4(%esp),%eax -        xchgb   %al,%ah -        ret diff --git a/mdk-stage1/dietlibc/i386/hypot.S b/mdk-stage1/dietlibc/i386/hypot.S deleted file mode 100644 index 730b2c5c9..000000000 --- a/mdk-stage1/dietlibc/i386/hypot.S +++ /dev/null @@ -1,15 +0,0 @@ - -.text -.type   hypot,@function -.global hypot -hypot: -        fldl     4(%esp) -        fmul    %st(0),%st(0) -        fldl    12(%esp) -        fmul    %st(0),%st(0) -        faddp -        fsqrt -        ret - -.ende: -.size    hypot,.ende-hypot diff --git a/mdk-stage1/dietlibc/i386/ilogb.S b/mdk-stage1/dietlibc/i386/ilogb.S deleted file mode 100644 index 3bebd88ba..000000000 --- a/mdk-stage1/dietlibc/i386/ilogb.S +++ /dev/null @@ -1,23 +0,0 @@ -# -#   int  ilogb ( double x ); -# -#   returns  (int) log2 (fabs(x))  for x!=0 -#   returns  MIN_INT               for x==0 -# - -.text -.global ilogb -.type   ilogb,@function - -ilogb: -	movl	8(%esp),%eax -	addl	%eax,%eax -	jz	.Lzero -	shrl	$21,%eax -	subl	$1023,%eax -	ret -	 -.Lzero: -	stc -	rcrl	%eax -	ret	 diff --git a/mdk-stage1/dietlibc/i386/ipow.S b/mdk-stage1/dietlibc/i386/ipow.S deleted file mode 100644 index cca6a0ce1..000000000 --- a/mdk-stage1/dietlibc/i386/ipow.S +++ /dev/null @@ -1,27 +0,0 @@ -# -# This is not standard, but often you only need such this function -# which is much shorter than the generic pow() function. -# -#   double  ipow ( double mant, int expo ); -# - -.text -.global ipow -.type   ipow,@function - -ipow:   fld1 -        movl    12(%esp),%ecx -        fldl    4(%esp) -        and     %ecx,%ecx -        jns     .Lstart -        negl    %ecx -        fdivr   %st(1),%st(0) -        jmp     .Lstart - -.Lnext: fmul    %st(0),%st(0) -.Lstart:shrl    %ecx -        jnc     .Lnomul -        fmul    %st(0),%st(1) -.Lnomul:jnz     .Lnext -        fcomp -        ret diff --git a/mdk-stage1/dietlibc/i386/isleap.S b/mdk-stage1/dietlibc/i386/isleap.S deleted file mode 100644 index 28d1ee0ce..000000000 --- a/mdk-stage1/dietlibc/i386/isleap.S +++ /dev/null @@ -1,28 +0,0 @@ -.text -.globl __isleap -.type    __isleap,@function - -__isleap: -        movl    4(%esp),%eax -        testb   $3,%al -        jne     .Lretzero -#if 1 -        movb    $100,%cl        /* this works only for 0 a.D. ... 25599 a.C. */ -        divb    %cl -        andb    %ah,%ah -#else -        cltd                    /* This works for 2147483648 b.C. ... 2147483647 a.C. */ -        movl    $100,%ecx -        divl    %ecx -        andl    %edx,%edx -#endif -        jne     .Lretone -        testb   $3,%al -        jne     .Lretzero -.Lretone: xorl    %eax,%eax -        incl    %eax -        ret - -.Lretzero:xorl    %eax,%eax -        ret - diff --git a/mdk-stage1/dietlibc/i386/ldexp.S b/mdk-stage1/dietlibc/i386/ldexp.S deleted file mode 100644 index 51d9bae89..000000000 --- a/mdk-stage1/dietlibc/i386/ldexp.S +++ /dev/null @@ -1,28 +0,0 @@ -.text -.global ldexpf,ldexp,ldexpl -	.type ldexpf,@function -	.type ldexp,@function -	.type ldexpl,@function - -ldexpf: -	fildl 8(%esp) -	flds 4(%esp) -	fscale -	ret - -ldexp: -        fildl 12(%esp) -        fldl   4(%esp) -        fscale -	ret - -ldexpl: -	fildl 16(%esp) -	fldt 4(%esp) -	fscale -        ret - -.ende: -.size    ldexpl,.ende-ldexpl -.size    ldexp,ldexpl-ldexp -.size    ldexpf,ldexp-ldexpf diff --git a/mdk-stage1/dietlibc/i386/libm2.S b/mdk-stage1/dietlibc/i386/libm2.S deleted file mode 100644 index 91c4437cd..000000000 --- a/mdk-stage1/dietlibc/i386/libm2.S +++ /dev/null @@ -1,643 +0,0 @@ -.text -#d.half: -#	.long	0x3f000000	# 1/2 -#d.log1p: -#	.long	0x3ed413cc	# < sqrt(2)-1-2^(-25) - -.global fabsf,fabs,fabsl -	.type	fabsf,@function -	.type	fabs,@function -	.type	fabsl,@function -fabsf: -	flds 4(%esp) -	fabs -	ret -fabs: -	fldl 4(%esp) -	fabs -	ret -fabsl: -	fldt 4(%esp) -	fabs -	ret - -.global sincosf,sincos,sincosl -.type   sincosf,@function -.type   sincos,@function -.type   sincosl,@function -# void  sincos ( double x, double* sinx, double* cosx ); - -sincosf: -        flds     4(%esp) -	call	__fmod2pi -        movl    12(%esp),%eax -        movl    8(%esp),%ecx -        fsincos -        fstps   (%eax) -        fstps   (%ecx) -        ret -sincos: -        fldl     4(%esp) -	call	__fmod2pi -        movl    16(%esp),%eax -        movl    12(%esp),%ecx -        fsincos -        fstpl   (%eax) -        fstpl   (%ecx) -        ret -sincosl: -        fldt     4(%esp) -	call	__fmod2pi -        movl    20(%esp),%eax -        movl    16(%esp),%ecx -        fsincos -        fstpt   (%eax) -        fstpt   (%ecx) -        ret - -.global tanf,tan,tanl -.type   tanf,@function -.type   tan,@function -.type   tanl,@function -tanf: -        flds    4(%esp) -	jmp __tan -tan: -        fldl    4(%esp) -__tan: -	call	__fmod2pi -        fsincos -        fdivrp -        ret -tanl: -        fldt    4(%esp) -	jmp __tan - -.global atan2f,atan2,atan2l -	.type	 atan2f,@function -	.type	 atan2,@function -	.type	 atan2l,@function -atan2f: -	flds 4(%esp) -	flds 8(%esp) -	fpatan -	ret -atan2l: -	fldt 4(%esp) -	fldt 16(%esp) -	fpatan -	ret -atan2: -	fldl 4(%esp) -	fldl 12(%esp) -	fpatan -	ret - -.global cbrtf,cbrt,cbrtl -	.type	cbrtf,@function -	.type	cbrt,@function -	.type	cbrtl,@function -cbrtf: -	flds 4(%esp) -	jmp __cbrt -cbrtl: -	fldt 4(%esp) -	jmp __cbrt -cbrt: -	fldl 4(%esp) -# fldt 1/3 -__cbrt: -	pushl $0x00003ffd	# yes, this method of loading 1/3 -	pushl $0xaaaaaaaa	# is shorter than keeping the data -	pushl $0xaaaaaaab	# separate -	fldt (%esp) -	addl $12,%esp -	fxch			# st(0)=x, st(1)=1/3 -	ftst -	fstsw %ax -	sahf -	jz 1f -	jnc finpow -	fchs -	call finpow -	fchs -1:	ret - -# x^y; st(0)=x, st(1)=y (x > 0) -finpow: -	fyl2x -	jmp __finexp - -.global exp2f,exp2,exp2l -	.type	 exp2f,@function -	.type	 exp2,@function -	.type	 exp2l,@function -exp2f: -	flds 4(%esp) -	jmp __finexp -exp2: -	fldl 4(%esp) -	jmp __finexp -exp2l: -	fldt 4(%esp) -	jmp __finexp - -.global exp10f,exp10,exp10l	#,pow10f,pow10,pow10l -	.type	 exp10f,@function -	.type	 exp10,@function -	.type	 exp10l,@function -#	.type	 pow10f,@function -#	.type	 pow10,@function -#	.type	 pow10l,@function -exp10f: -#pow10f: -	fldl2t -	fmuls 4(%esp) -	jmp __finexp -exp10: -#pow10: -	fldl2t -	fmull 4(%esp) -	jmp __finexp -exp10l: -#pow10l: -	fldl2t -	fldt 4(%esp) -	fmulp -	jmp __finexp - -# exp(x)-1 -.global expm1f,expm1,expm1l -	.type	 expm1f,@function -	.type	 expm1,@function -	.type	 expm1l,@function -expm1f: -	fldl2e -	fmuls 4(%esp) -	jmp finem1 -expm1l: -	fldl2e -	fldt 4(%esp) -	fmulp -	jmp finem1 -expm1: -	fldl2e -	fmull 4(%esp) -# -1 <= st <= 1 ? -finem1: -	fst %st(1)	# st(1)=st(0) -	fabs -	fld1 -	fcompp -	fstsw %ax -	sahf -# |x| >= 1 -	jc 1f -	f2xm1 -	ret -1:	call __finexp -	fld1 -	fsubrp -	ret - -# sinh(x)=(exp(x)-exp(-x))/2 -# cosh(x)=(exp(x)+exp(-x))/2 -# tanh(x)=sinh(x)/cosh(x) -.global sinhf,sinh,sinhl -	.type	sinhf,@function -	.type	sinh,@function -	.type	sinhl,@function -sinhf: -	fldl2e -	fmuls 4(%esp) -	jmp finsinh -sinh: -	fldl2e -	fmull 4(%esp) -finsinh: -	call __finexp -	fld1 -	fdiv %st(1),%st(0)	# st(0)=1/exp(x), st(1)=exp(x) -	fsubrp %st(0),%st(1) -	pushl $0x3f000000	# 1/2 -	flds (%esp) -	popl %eax -	fmulp -	ret - -sinhl: -	fldl2e -	fldt 4(%esp) -	fmulp -	jmp finsinh - -.global coshf,cosh,coshl -	.type	coshf,@function -	.type	cosh,@function -	.type	coshl,@function -coshf: -	fldl2e -	fmuls 4(%esp) -	jmp fincosh -cosh: -	fldl2e -	fmull 4(%esp) -fincosh: -	call __finexp -	fld1 -	fdiv %st(1),%st(0)	# st(0)=1/exp(x), st(1)=exp(x) -	faddp %st,%st(1) -	pushl $0x3f000000	# 1/2 -	flds (%esp) -	popl %eax -	fmulp -	ret - -coshl: -	fldl2e -	fldt 4(%esp) -	fmulp -	jmp fincosh - -.global tanhf,tanh,tanhl -	.type	tanhf,@function -	.type	tanh,@function -	.type	tanhl,@function -tanhf: -	fldl2e -	fmuls 4(%esp) -	call __finexp -	jmp fintanh -tanh: -	fldl2e -	fmull 4(%esp) -	call __finexp -fintanh: -	fld1 -	fdiv %st(1),%st	# st(0)=1/exp(x), st(1)=exp(x) -	fst %st(2)	# st(2)=1/exp(x) -	fadd %st(1),%st(0) -	fstp %st(3)	# st(2)=exp(x)+exp(-x), st(1)=exp(-x), st(0)=exp(x) -	fsubp		# st(1)=exp(x)+exp(-x), st(0)=exp(x)-exp(-x) -	fdivp -	ret - -tanhl: -	fldl2e -	fldt 4(%esp) -	fmulp -	call __finexp -	jmp fintanh - -.global hypotf,hypot,hypotl	# ,__hypot -	.type	 hypotf,@function -	.type	 hypot,@function -	.type	 hypotl,@function -#	.type	 __hypot,@function -hypotf: -	flds 8(%esp) -	flds 4(%esp) -	jmp __hypot -hypotl: -	fldt 16(%esp) -	fldt 4(%esp) -	jmp __hypot -hypot: -	fldl 12(%esp) -	fldl 4(%esp) -__hypot: -	fmul %st(0),%st(0) -	fxch -	fmul %st(0),%st(0) -	faddp -	fsqrt -	ret - -.global log1pf,log1p,log1pl -	.type	 log1pf,@function -	.type	 log1p,@function -	.type	 log1pl,@function -log1pf: -	flds 4(%esp) -	jmp __log1p -log1pl: -	fldt 4(%esp) -	jmp __log1p -log1p: -	fldl 4(%esp) -__log1p: -# Sprawdzenie zakresu parametru -	fst %st(1) -	pushl	$0x3ed413cc	# sqrt(2)-1-2^(-25) -	fabs -	flds (%esp) -	popl %eax -	fcompp			# porownanie -	fstsw %ax -	fldln2 -	fxch -	sahf -# |x| >= sqrt(2)-1 -	jc 1f -	fyl2xp1 -	ret -1:	fld1		# x = x + 1 -	faddp -	fyl2x -	ret - -.global log10f,log10,log10l -	.type	 log10f,@function -	.type	 log10,@function -	.type	 log10l,@function -log10f: -	fldlg2 -	flds 4(%esp) -	fyl2x -	ret -log10l: -	fldlg2 -	fldt 4(%esp) -	fyl2x -	ret -log10: -	fldlg2 -	fldl 4(%esp) -	fyl2x -	ret - -.global log2f,log2,log2l -	.type	 log2f,@function -	.type	 log2,@function -	.type	 log2l,@function -log2f: -	fld1 -	flds 4(%esp) -	fyl2x -	ret -log2l: -	fld1 -	fldt 4(%esp) -	fyl2x -	ret -log2: -	fld1 -	fldl 4(%esp) -	fyl2x -	ret - -.global fmaf,fma,fmal -	.type	fmaf,@function -	.type	fma,@function -	.type	fmal,@function -fmaf: -	flds 4(%esp) -	fmuls 8(%esp) -	fadds 12(%esp) -	ret -fma: -	fldl 4(%esp) -	fmull 12(%esp) -	faddl 20(%esp) -	ret -fmal: -	fldt 4(%esp) -	fldt 16(%esp) -	fmulp %st,%st(1) -	fldt 28(%esp) -	faddp %st,%st(1) -	ret - -.global asinhf,asinh,asinhl -	.type	asinhf,@function -	.type	asinh,@function -	.type	asinhl,@function -asinhf: -	flds 4(%esp) -	jmp __asinh -asinh: -	fldl 4(%esp) -__asinh: -	fld %st(0) -	fmul %st(0),%st(0) -	fld1 -	faddp %st(0),%st(1) -finasch: -	fsqrt -	faddp %st(0),%st(1) -	fldln2 -	fxch -	fyl2x -	ret -asinhl: -	fldt 4(%esp) -	jmp __asinh - -.global acoshf,acosh,acoshl -	.type	acoshf,@function -	.type	acosh,@function -	.type	acoshl,@function -acoshf: -	flds 4(%esp) -	jmp __acosh -acosh: -	fldl 4(%esp) -__acosh: -	fld %st(0) -	fmul %st(0),%st(0) -	fld1 -	fsubrp %st(0),%st(1)	# st1=st1-st0; pop -	jmp finasch -acoshl: -	fldt 4(%esp) -	jmp __acosh - -.global atanhf,atanh,atanhl -	.type	atanhf,@function -	.type	atanh,@function -	.type	atanhl,@function -atanhf: -	flds 4(%esp) -	jmp __atanh -atanh: -	fldl 4(%esp) -__atanh: -	fst %st(1) -	fld1			# st0=1, st1=x, st2=x -	fadd %st(0),%st(2)	# st0=1, st1=x, st2=x+1 -	fsubp %st(0),%st(1)	# st0=1-x, st1=x+1 -	fdivrp %st(0),%st(1) -	fsqrt -	fldln2 -	fxch -	fyl2x -	ret -atanhl: -	fldt 4(%esp) -	jmp __atanh - -.global dremf,drem,dreml -	.type	dremf,@function -	.type	drem,@function -	.type	dreml,@function -dremf: -	flds 8(%esp)		# y -	flds 4(%esp)		# x -	jmp __drem -drem: -	fldl 12(%esp) -	fldl 4(%esp) -__drem: -	fprem1 -	fstsw %ax -	sahf -	jp __drem -	ret - -dreml: -	fldt 16(%esp) -	fldt 4(%esp) -	jmp __drem - -# |ret| = |x|, sign(ret) = sign(y) -.global copysignf,copysign,copysignl -	.type	copysignf,@function -	.type	copysign,@function -	.type	copysignl,@function -copysignf: -	flds 4(%esp)		# x -	flds 8(%esp)		# y -	jmp __copysign -copysign: -	fldl 4(%esp) -	fldl 12(%esp) -__copysign: -	fmul %st(1),%st		# st = x*y -	ftst -	fstsw %ax -	fincstp -	sahf -	jnc 1f -	fchs -1:	ret - -copysignl: -	fldt 4(%esp) -	fldt 16(%esp) -	jmp __copysign - -.global fdimf,fdim,fdiml -	.type	 fdimf,@function -	.type	 fdim,@function -	.type	 fdiml,@function -fdimf: -	flds 4(%esp) -	fsubl 12(%esp) -	jmp __fdim -fdim: -	fldl 4(%esp) -	fsubl 12(%esp) -__fdim: -	fstsw %ax -	sahf -	jnc 1f -	fldz -1:	ret -fdiml: -	fldt 4(%esp) -	fldt 16(%esp) -	fsubp -	jmp __fdim - - -.global truncf,trunc,truncl -	.type truncf,@function -	.type trunc,@function -	.type truncl,@function - -truncf: -	flds 4(%esp) -	movb $0x0c,%ah -	jmp __flcetr - -trunc: -	fldl 4(%esp) -	movb $0x0c,%ah -	jmp __flcetr - -truncl: -	fldt 4(%esp) -	movb $0x0c,%ah -	jmp __flcetr - -.global frexpf,frexp,frexpl -	.type frexpf,@function -	.type frexp,@function -	.type frexpl,@function - -frexpf: -	flds 4(%esp) -	movl 8(%esp),%eax -	jmp __frexp - -frexp: -	fldl 4(%esp) -	movl 12(%esp),%eax -__frexp: -	fxtract -	fxch -	fistpl (%eax) -	pushl $0x3f000000	# 1/2 -	fmuls (%esp) -	incl (%eax) -	popl %eax -	ret - -frexpl: -	fldt 4(%esp) -	movl 16(%esp),%eax -	jmp __frexp - -.global logbf,logb,logbl -	.type logbf,@function -	.type logb,@function -	.type logbl,@function - -#logbf:	flds 4(%esp) -#	fxtract -#	fxch -#	ret - -#logb:	fldl 4(%esp) -#	fxtract -#	fxch -#	ret - -#logbl:	fldt 4(%esp) -#	fxtract -#	fxch -#	ret - -.global ilogbf,ilogb,ilogbl -	.type ilogbf,@function -	.type ilogb,@function -	.type ilogbl,@function - -logbf: -ilogbf:	flds 4(%esp) -	jmp __ilogb - -logb: -ilogb:	fldl 4(%esp) -__ilogb: -	fxtract -	pushl %eax -	fxch -	fistl (%esp) -	popl %eax -	ret - -logbl: -ilogbl:	fldt 4(%esp) -	jmp __ilogb - diff --git a/mdk-stage1/dietlibc/i386/listen.S b/mdk-stage1/dietlibc/i386/listen.S deleted file mode 100644 index a0879be37..000000000 --- a/mdk-stage1/dietlibc/i386/listen.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(listen,LISTEN) diff --git a/mdk-stage1/dietlibc/i386/log.S b/mdk-stage1/dietlibc/i386/log.S deleted file mode 100644 index 0d42c9297..000000000 --- a/mdk-stage1/dietlibc/i386/log.S +++ /dev/null @@ -1,26 +0,0 @@ -.text - -.global logf,log,logl -	.type	 logf,@function -	.type	 log,@function -	.type	 logl,@function -logf: -	fldln2 -	flds 4(%esp) -	fyl2x -	ret -logl: -	fldln2 -	fldt 4(%esp) -	fyl2x -	ret -log: -	fldln2 -	fldl 4(%esp) -	fyl2x -	ret - -.Lende: -.size    log,.Lende-log -.size    logl,.Lende-logl -.size    logf,.Lende-logf diff --git a/mdk-stage1/dietlibc/i386/log10.S b/mdk-stage1/dietlibc/i386/log10.S deleted file mode 100644 index dcd08cc3f..000000000 --- a/mdk-stage1/dietlibc/i386/log10.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.type   log10,@function -.global log10 -log10: -        fldlg2 -        fldl    4(%esp) -        fyl2x -        ret - -.ende: -.size    log10,.ende-log10 diff --git a/mdk-stage1/dietlibc/i386/log1p.S b/mdk-stage1/dietlibc/i386/log1p.S deleted file mode 100644 index 4dd2d58b4..000000000 --- a/mdk-stage1/dietlibc/i386/log1p.S +++ /dev/null @@ -1,12 +0,0 @@ -.text -.type   log1p,@function -.global log1p -log1p: -        fldln2 -        fldl    4(%esp) -        fyl2xp1 -        ret - -.ende: -.size    log1p,.ende-log1p - diff --git a/mdk-stage1/dietlibc/i386/log2.S b/mdk-stage1/dietlibc/i386/log2.S deleted file mode 100644 index 80e99a8c9..000000000 --- a/mdk-stage1/dietlibc/i386/log2.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.type   log2,@function -.global log2 -log2: -        fld1 -        fldl    4(%esp) -        fyl2x -        ret - -.ende: -.size    log2,.ende-log2 diff --git a/mdk-stage1/dietlibc/i386/ltostr.S b/mdk-stage1/dietlibc/i386/ltostr.S deleted file mode 100644 index ddf85a4f6..000000000 --- a/mdk-stage1/dietlibc/i386/ltostr.S +++ /dev/null @@ -1,62 +0,0 @@ -/* -   Copyright (C) 2002 Thomas M. Ogrisegg  - -   __ltostr.S -- convert an integer into a string - - %eax = dividend - %ebx = divisor - %ecx = size of output-buffer - %edi = output-buffer - %ebp = if uppercase is set, then %ebp is 'A'-10 else %ebp is 'a'-10 - -*/ - -.text -.globl __ltostr -__ltostr: -	pushl %esi -	pushl %edi		# destination -	pushl %ebp -	pushl %ebx -	movl %esp, %eax -	movl 0x14(%eax), %edi -	movl 0x18(%eax), %ecx	# size -	movl 0x20(%eax), %ebx	# divisor -	movl 0x1c(%eax), %eax	# dividend -	decl %ecx -	movl %ecx, %esi -	movl $('A'-0xa), %ebp -	xorl %edx, %edx		# must be 0 -- used by idiv -	cmpl $0x0, 36(%esp)	# check for uppercase -	jnz .Lnext -	addl $0x20, %ebp	# set lowercase -.Lnext: -	idiv %ebx, %eax -	cmpb $0x9, %dl -	jg .Lnext2 -	addb $'0', %dl -	jmp .Lstos -.Lnext2: -	addl %ebp, %edx -.Lstos: -	movb %dl, (%edi, %ecx) -	xorl %edx, %edx -	decl %ecx -	jz .Lout -	orl %eax, %eax -	jnz .Lnext -.Lout: -	cld -	movl %esi, %ebx -	leal 1(%edi, %ecx), %esi -	subl %ebx, %ecx -	negl %ecx -	movl %ecx, %eax -	repnz movsb -	movb $0x0, (%edi) -	popl %ebx -	popl %ebp -	popl %edi -	popl %esi -	ret -.size __ltostr, . - __ltostr diff --git a/mdk-stage1/dietlibc/i386/mcount.S b/mdk-stage1/dietlibc/i386/mcount.S deleted file mode 100644 index 11feed5e0..000000000 --- a/mdk-stage1/dietlibc/i386/mcount.S +++ /dev/null @@ -1,44 +0,0 @@ -/* -   Copyright (C) 2001, 2002 Thomas M. Ogrisegg - -   This is free software. You can redistribute and -   modify it under the terms of the GNU General Public -   Public License. - -   mcount.S -     i386 assembler implementation of mcount -*/ - -/* .section ".profile" */ -.text -.globl mcount -.type  mcount,@function -mcount: -/* -   save all generic registers which -   might be used by __mcount, but aren't -   automatically saved - */ -	pushl %eax -	pushl %ecx -	pushl %edx - -/*  push the instruction pointer of the calling function */ -	pushl 0xc(%esp) - -/*  push the instruction pointer of the -    function that called the calling function */ -	pushl 0x4(%ebp) - -	call __mcount - -/*  clean up stack */ -	addl $0x8, %esp - -/*  restore the previously saved registers */ -	popl %edx -	popl %ecx -	popl %eax -	ret - -.size mcount,.-mcount diff --git a/mdk-stage1/dietlibc/i386/md5asm.S b/mdk-stage1/dietlibc/i386/md5asm.S deleted file mode 100644 index a99a92934..000000000 --- a/mdk-stage1/dietlibc/i386/md5asm.S +++ /dev/null @@ -1,300 +0,0 @@ -#define S11   7 -#define S12  12 -#define S13  17 -#define S14  22 -#define S21   5 -#define S22   9 -#define S23  14 -#define S24  20 -#define S31   4 -#define S32  11 -#define S33  16 -#define S34  23 -#define S41   6 -#define S42  10 -#define S43  15 -#define S44  21 - - -// #define F(x, y, z)   (x & y) + (~x & z) = x&y + (z - z&x) = z + y&x - z&x -//#define F(x, y, z)    movl x,%ebx; movl x,%eax; notl %ebx; andl y,%eax; andl z,%ebx; addl %ebx,%eax -#define F(x, y, z)	movl y,%eax; movl z,%ebx; andl x,%eax; andl x,%ebx; addl z,%eax; subl %ebx,%eax - -// #define G(x, y, z)   (x & z) + (y & ~z) = x&z + (y - y&z) = y + x&z - y&z -#define G(x, y, z)      movl z,%ebx; movl z,%eax; notl %ebx; andl x,%eax; andl y,%ebx; addl %ebx,%eax -//#define G(x, y, z)	movl x,%eax; movl y,%ebx; andl z,%eax; andl z,%ebx; addl y,%eax; subl %ebx,%eax -//#define G(x, y, z)	movl z,%eax; movl z,%ebx; andl x,%eax; andl y,%ebx; addl y,%eax; subl %ebx,%eax - -// #define H(x, y, z)   x ^ y ^ z -#define H(x, y, z)	movl z,%eax; xorl y,%eax; xorl x,%eax - -// #define I(x, y, z)   y ^ (x | ~z) -#define I(x, y, z)	movl z,%eax; notl %eax; orl x,%eax; xorl y,%eax - - -// #define ROTATE_LEFT(x, n)  (((x) << (n)) | ((x) >> (32-(n)))) -#define ROTATE_LEFT(x, n)     roll $n,x - -// #define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -// #define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -// #define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -// #define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } - -#define FF(a, b, c, d, x, s, ac)   addl x, a; addl $ac,a; F (b, c, d); addl %eax,a; roll $s,a; addl b,a -#define GG(a, b, c, d, x, s, ac)   addl x, a; addl $ac,a; G (b, c, d); addl %eax,a; roll $s,a; addl b,a -#define HH(a, b, c, d, x, s, ac)   addl x, a; addl $ac,a; H (b, c, d); addl %eax,a; roll $s,a; addl b,a -#define II(a, b, c, d, x, s, ac)   addl x, a; addl $ac,a; I (b, c, d); addl %eax,a; roll $s,a; addl b,a - - -//			    // x is ecx -//    word  a = state [0];  // a is edx -//    word  b = state [1];  // b is esi -//    word  c = state [2];  // c is edi -//    word  d = state [3];  // d is ebp - -#define X(n)	4*(n)(%ecx) -#define X0	(%ecx) -#define a       %edx -#define b       %esi     -#define c       %edi -#define d       %ebp - - - -/* MD5 basic transformation: Transforms state based on data block */ - -// void  __MD5Transform ( word state[4], const word* x, size_t repeat ) - -.text -.type __MD5Transform, @function -.align 32 -.global __MD5Transform - -	.align	32 -.Lrepeat:	 - -        /* Round 1 */ -        FF (a, b, c, d, X0   , S11, 0xd76aa478); /*  1 */ -        FF (d, a, b, c, X( 1), S12, 0xe8c7b756); /*  2 */ -        FF (c, d, a, b, X( 2), S13, 0x242070db); /*  3 */ -        FF (b, c, d, a, X( 3), S14, 0xc1bdceee); /*  4 */ -        FF (a, b, c, d, X( 4), S11, 0xf57c0faf); /*  5 */ -        FF (d, a, b, c, X( 5), S12, 0x4787c62a); /*  6 */ -        FF (c, d, a, b, X( 6), S13, 0xa8304613); /*  7 */ -        FF (b, c, d, a, X( 7), S14, 0xfd469501); /*  8 */ -        FF (a, b, c, d, X( 8), S11, 0x698098d8); /*  9 */ -        FF (d, a, b, c, X( 9), S12, 0x8b44f7af); /* 10 */ -        FF (c, d, a, b, X(10), S13, 0xffff5bb1); /* 11 */ -        FF (b, c, d, a, X(11), S14, 0x895cd7be); /* 12 */ -        FF (a, b, c, d, X(12), S11, 0x6b901122); /* 13 */ -        FF (d, a, b, c, X(13), S12, 0xfd987193); /* 14 */ -        FF (c, d, a, b, X(14), S13, 0xa679438e); /* 15 */ -        FF (b, c, d, a, X(15), S14, 0x49b40821); /* 16 */ -         -        /* Round 2 */ -        GG (a, b, c, d, X( 1), S21, 0xf61e2562); /* 17 */ -        GG (d, a, b, c, X( 6), S22, 0xc040b340); /* 18 */ -        GG (c, d, a, b, X(11), S23, 0x265e5a51); /* 19 */ -        GG (b, c, d, a, X0   , S24, 0xe9b6c7aa); /* 20 */ -        GG (a, b, c, d, X( 5), S21, 0xd62f105d); /* 21 */ -        GG (d, a, b, c, X(10), S22, 0x02441453); /* 22 */ -        GG (c, d, a, b, X(15), S23, 0xd8a1e681); /* 23 */ -        GG (b, c, d, a, X( 4), S24, 0xe7d3fbc8); /* 24 */ -        GG (a, b, c, d, X( 9), S21, 0x21e1cde6); /* 25 */ -        GG (d, a, b, c, X(14), S22, 0xc33707d6); /* 26 */ -        GG (c, d, a, b, X( 3), S23, 0xf4d50d87); /* 27 */ -        GG (b, c, d, a, X( 8), S24, 0x455a14ed); /* 28 */ -        GG (a, b, c, d, X(13), S21, 0xa9e3e905); /* 29 */ -        GG (d, a, b, c, X( 2), S22, 0xfcefa3f8); /* 30 */ -        GG (c, d, a, b, X( 7), S23, 0x676f02d9); /* 31 */ -        GG (b, c, d, a, X(12), S24, 0x8d2a4c8a); /* 32 */ -         -        /* Round 3 */ -        HH (a, b, c, d, X( 5), S31, 0xfffa3942); /* 33 */ -        HH (d, a, b, c, X( 8), S32, 0x8771f681); /* 34 */ -        HH (c, d, a, b, X(11), S33, 0x6d9d6122); /* 35 */ -        HH (b, c, d, a, X(14), S34, 0xfde5380c); /* 36 */ -        HH (a, b, c, d, X( 1), S31, 0xa4beea44); /* 37 */ -        HH (d, a, b, c, X( 4), S32, 0x4bdecfa9); /* 38 */ -        HH (c, d, a, b, X( 7), S33, 0xf6bb4b60); /* 39 */ -        HH (b, c, d, a, X(10), S34, 0xbebfbc70); /* 40 */ -        HH (a, b, c, d, X(13), S31, 0x289b7ec6); /* 41 */ -        HH (d, a, b, c, X0   , S32, 0xeaa127fa); /* 42 */ -        HH (c, d, a, b, X( 3), S33, 0xd4ef3085); /* 43 */ -        HH (b, c, d, a, X( 6), S34, 0x04881d05); /* 44 */ -        HH (a, b, c, d, X( 9), S31, 0xd9d4d039); /* 45 */ -        HH (d, a, b, c, X(12), S32, 0xe6db99e5); /* 46 */ -        HH (c, d, a, b, X(15), S33, 0x1fa27cf8); /* 47 */ -        HH (b, c, d, a, X( 2), S34, 0xc4ac5665); /* 48 */ -         -        /* Round 4 */ -        II (a, b, c, d, X0   , S41, 0xf4292244); /* 49 */ -        II (d, a, b, c, X( 7), S42, 0x432aff97); /* 50 */ -        II (c, d, a, b, X(14), S43, 0xab9423a7); /* 51 */ -        II (b, c, d, a, X( 5), S44, 0xfc93a039); /* 52 */ -        II (a, b, c, d, X(12), S41, 0x655b59c3); /* 53 */ -        II (d, a, b, c, X( 3), S42, 0x8f0ccc92); /* 54 */ -        II (c, d, a, b, X(10), S43, 0xffeff47d); /* 55 */ -        II (b, c, d, a, X( 1), S44, 0x85845dd1); /* 56 */ -        II (a, b, c, d, X( 8), S41, 0x6fa87e4f); /* 57 */ -        II (d, a, b, c, X(15), S42, 0xfe2ce6e0); /* 58 */ -        II (c, d, a, b, X( 6), S43, 0xa3014314); /* 59 */ -        II (b, c, d, a, X(13), S44, 0x4e0811a1); /* 60 */ -        II (a, b, c, d, X( 4), S41, 0xf7537e82); /* 61 */ -        II (d, a, b, c, X(11), S42, 0xbd3af235); /* 62 */ -        II (c, d, a, b, X( 2), S43, 0x2ad7d2bb); /* 63 */ -        II (b, c, d, a, X( 9), S44, 0xeb86d391); /* 64 */ -     -//    state [0] += a; -//    state [1] += b; -//    state [2] += c; -//    state [3] += d; - -	addl	$64,%ecx -	 -	movl	4+32(%esp),%eax		// state -	addl	  (%eax),a -	addl	 4(%eax),b -	addl	 8(%eax),c -	addl	12(%eax),d -	movl	a,  (%eax) -	movl	b, 4(%eax) -	movl	c, 8(%eax) -	movl	d,12(%eax) - -.Lstart: -	decl	12+32(%esp) -	jns	.Lrepeat -     -	popal -	ret - -__MD5Transform: -__MD5TransformLocal: -	pushal -	movl	8+32(%esp),%ecx		// x -	movl	4+32(%esp),%eax		// state -	movl	  (%eax),a -	movl	 4(%eax),b -	movl	 8(%eax),c -	movl	12(%eax),d -	jmp	.Lstart -	 -.Lende: -.size	__MD5Transform, .Lende-__MD5Transform - -.type	 MD5Init,@function -.global	 MD5Init - -MD5Init: -	movl 	4(%esp), %ecx -	xorl	%eax,%eax -	movl 	$0x67452301,   (%ecx) -	movl 	$0xefcdab89,  4(%ecx) -	movl 	$0x98badcfe,  8(%ecx) -	movl 	$0x10325476, 12(%ecx) -	movl 	%eax, 16(%ecx) -	movl 	%eax, 20(%ecx) -	ret - - -.global MD5Update -.type	MD5Update,@function - - -// void  MD5Update ( MD5_CTX* context, const byte* input, size_t inputBytes ) - -#define CONTEXT		 4+32(%esp) -#define INPUT		 8+32(%esp) -#define INPUTBYTES	12+32(%esp) - -#define	COUNT		16(%ebx) -#define BUFFER		24(%ebx) - - -MD5Update: -	pushal -	cld -	movl 	CONTEXT, %ebx - -//  ByteIndex = (context->count[0] >> 3) & 0x3F; - -	movl 	COUNT, %ebp -	shrl 	$3, %ebp -	andl 	$63,%ebp		// ebp = ByteIndex	 - -//  if ( (context->count[0] += inputBytes << 3 ) < (inputBytes << 3) ) -//      context->count[1]++; -//  context->count[1] += inputBytes >> (32-3); - -	movl	$8, %eax -	mull	INPUTBYTES -	addl	%eax, 0+COUNT -	adcl	%edx, 4+COUNT - -// partLen = 64 - ByteIndex; - -	movl	$64, %eax -	subl	%ebp, %eax		// eax = partLen - -// i = 0; -// if ( partLen <= inputBytes ) { - -	xorl	%ecx,%ecx		// ecx = i -	cmpl	INPUTBYTES, %eax	 -	ja 	.Lende2 - -//      memcpy ( context->buffer + ByteIndex, input, partLen ); - -	leal	24(%ebx,%ebp,1), %edi -	movl	INPUT, %esi -	movl	%eax, %ecx -	rep	movsb -	 -//      MD5Transform ( context->state, context->buffer, 1 ); - -	pushl	$1 -	leal	BUFFER, %ecx -	pushl	%ecx -	push	%ebx -	call	__MD5TransformLocal - -//      len = (inputBytes - partLen) / 64; - -	movl	12+INPUTBYTES, %ecx -	subl	%eax, %ecx -	shrl	$6, %ecx - -//      MD5Transform ( context->state, input+partLen, len ); -	 -	pushl	%ecx -	pushl	%esi -	pushl	%ebx -	call	__MD5TransformLocal -	addl	$24,%esp -	 -//	i = partLen + 64 * len; -//	ByteIndex = 0; -	 -	shll	$6, %ecx -	addl	%eax, %ecx -	xorl	%ebp, %ebp -	 -.Lende2:	 - -//  } -//  memcpy ( context->buffer + ByteIndex, input + i, inputBytes - i ); - -	movl	INPUT, %esi -	addl	%ecx, %esi - -	negl	%ecx -	addl	INPUTBYTES, %ecx -	 -	leal	24(%ebx,%ebp,1), %edi -	rep	movsb - -	popal -	ret - - diff --git a/mdk-stage1/dietlibc/i386/memccpy.S b/mdk-stage1/dietlibc/i386/memccpy.S deleted file mode 100644 index 0b7dce49e..000000000 --- a/mdk-stage1/dietlibc/i386/memccpy.S +++ /dev/null @@ -1,39 +0,0 @@ -/* -  Copyright (C) 2002 Thomas M. Ogrisegg - -  This is free software. You can redistribute and -  modify it under the terms of the GNU General Public -  Public License. - -  memccpy.S -    i386 assembler implementation of memccpy(3) -*/ - -.text -.global memccpy -.type   memccpy,@function -memccpy: -		pushl %esi -		pushl %edi - -		movl %esp, %ecx -		movl 0x0c(%ecx), %edi -		movl 0x10(%ecx), %esi -		movb 0x14(%ecx), %dl -		movl 0x18(%ecx), %ecx -		cld -.Lloop: -		lodsb -		stosb -		cmp %al, %dl -		jz .Lout -		decl %ecx -		jnz .Lloop -		xorl %edi, %edi -.Lout: -		movl %edi, %eax -		popl %edi -		popl %esi -		ret -.Lende: -.size    memccpy,.Lende-memccpy diff --git a/mdk-stage1/dietlibc/i386/memchr.S b/mdk-stage1/dietlibc/i386/memchr.S deleted file mode 100644 index 7d04f990b..000000000 --- a/mdk-stage1/dietlibc/i386/memchr.S +++ /dev/null @@ -1,24 +0,0 @@ -.text -.align 0 -.global memchr -.type	 memchr,@function -memchr: -	pushl %edi -	movl 8(%esp),%edi -	movl 12(%esp),%eax -	movl 16(%esp),%ecx -	cld -	jecxz .Lnotfound - -	repne scasb - -	je .Lfound -.Lnotfound: -	xorl %edi, %edi -	incl %edi -.Lfound: -	movl %edi, %eax -	decl %eax - -	popl %edi -	ret diff --git a/mdk-stage1/dietlibc/i386/memcmp.S b/mdk-stage1/dietlibc/i386/memcmp.S deleted file mode 100644 index aa6d55f23..000000000 --- a/mdk-stage1/dietlibc/i386/memcmp.S +++ /dev/null @@ -1,26 +0,0 @@ -.text -.align 0  -.global memcmp -.type	 memcmp,@function -memcmp: -	xorl %eax,%eax -	orl 12(%esp),%eax -	jz .Lempty -	pushl %esi -	pushl %edi -	movl 12(%esp),%esi -	movl 16(%esp),%edi -	movl %eax,%ecx - -	rep cmpsb - -	decl %esi -	decl %edi -	lodsb -	subb (%edi), %al -	movsx %al, %eax - -	popl %edi -	popl %esi -.Lempty: -	ret diff --git a/mdk-stage1/dietlibc/i386/memcpy.S b/mdk-stage1/dietlibc/i386/memcpy.S deleted file mode 100644 index cbe74459f..000000000 --- a/mdk-stage1/dietlibc/i386/memcpy.S +++ /dev/null @@ -1,16 +0,0 @@ -.text -.align 0  -.global memcpy -.type	 memcpy,@function -memcpy: -	pushl %esi -	pushl %edi -	movl 12(%esp),%edi -	movl 16(%esp),%esi -	movl 20(%esp),%ecx -	movl %edi, %eax -	cld -	rep movsb -	popl %edi -	popl %esi -	ret diff --git a/mdk-stage1/dietlibc/i386/memset.S b/mdk-stage1/dietlibc/i386/memset.S deleted file mode 100644 index 472390b84..000000000 --- a/mdk-stage1/dietlibc/i386/memset.S +++ /dev/null @@ -1,15 +0,0 @@ -.text -.align 0 -.global memset -.type	 memset,@function -memset: -	pushl %edi -	movl 8(%esp),%edi -	movl 12(%esp),%eax -	movl 16(%esp),%ecx -	cld -	pushl %edi -	rep stosb -	popl %eax -	popl %edi -	ret diff --git a/mdk-stage1/dietlibc/i386/mmap.S b/mdk-stage1/dietlibc/i386/mmap.S deleted file mode 100644 index c824aa037..000000000 --- a/mdk-stage1/dietlibc/i386/mmap.S +++ /dev/null @@ -1,14 +0,0 @@ -#include "syscalls.h" - -.text -.global mmap -.type	mmap,@function -mmap: -	mov	$__NR_mmap,%al -	lea	0x4(%esp,1),%edx -	push	%edx -	call	__unified_syscall -	pop	%ecx -	ret -.Lende3: -.size mmap,.Lende3-mmap diff --git a/mdk-stage1/dietlibc/i386/mmap.c b/mdk-stage1/dietlibc/i386/mmap.c deleted file mode 100644 index 26ecb55c0..000000000 --- a/mdk-stage1/dietlibc/i386/mmap.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <linux/types.h> -#include <linux/unistd.h> - -#define __NR__mmap __NR_mmap -_syscall1(int,_mmap,unsigned long *,buffer) - -char *mmap(char *addr, size_t len, int prot, int flags, int fd, unsigned long off) { -  unsigned long buffer[6]; -  buffer[0] = (unsigned long)addr; -  buffer[1] = (unsigned long)len; -  buffer[2] = (unsigned long)prot; -  buffer[3] = (unsigned long)flags; -  buffer[4] = (unsigned long)fd; -  buffer[5] = (unsigned long)off; -  return (char*) _mmap(buffer); -} diff --git a/mdk-stage1/dietlibc/i386/mmap64.S b/mdk-stage1/dietlibc/i386/mmap64.S deleted file mode 100644 index 421325260..000000000 --- a/mdk-stage1/dietlibc/i386/mmap64.S +++ /dev/null @@ -1,63 +0,0 @@ -#include <dietfeatures.h> -#include <syscalls.h> -#include <errno.h> - -#ifdef __DYN_LIB -#ifndef WANT_THREAD_SAFE -#define WANT_THREAD_SAFE -#endif -#endif - -.text -.global mmap64 -.type mmap64,@function -mmap64: -/* man is this ugly! */ -  push	%ebp -  push	%edi -  push	%esi -  push	%ebx -  movl	%esp, %edi -  movl	0x28(%edi), %eax -  movl	0x2c(%edi), %edx -  testl	$0xfff, %eax	/* offset in pages */ -  jnz	.Leinval -  shrdl	$12, %edx, %eax -  shrl	$12, %edx -  jnz	.Leinval -  movl	%eax, %ebp -  movl	0x14(%edi),%ebx -  movl	0x18(%edi),%ecx -  movl	0x1c(%edi),%edx -  movl	0x20(%edi),%esi -  movl	0x24(%edi),%edi -  movl	$__NR_mmap2,%eax -  int	$0x80 -  cmp	$-124,%eax -  jbe	.Lnoerror -  neg	%eax -.Lerror: -#ifdef WANT_THREAD_SAFE -  movl	%eax,%ebx -#ifdef __DYN_LIB -  call	__errno_location@PLT -#else -  call	__errno_location -#endif -  movl	%ebx,(%eax) -  orl	$-1,%eax -#else -  mov	%eax,errno -  sbb	%eax,%eax               # eax = eax - eax - CY = -1 -#endif -.Lnoerror: -  pop	%ebx -  pop	%esi -  pop	%edi -  pop	%ebp -  ret -.Leinval: -  movl $EINVAL,%eax -  jmp .Lerror -.Lende2: -.size mmap64,.Lende2-mmap64 diff --git a/mdk-stage1/dietlibc/i386/poly.S b/mdk-stage1/dietlibc/i386/poly.S deleted file mode 100644 index d8be7d7f5..000000000 --- a/mdk-stage1/dietlibc/i386/poly.S +++ /dev/null @@ -1,24 +0,0 @@ - -.text -.global __poly -.type	__poly,@function - - -# -#  double  __poly ( double x, int n, const double* c ); -# - -__poly: -	movl 	16(%esp),%eax		 -	movl	12(%esp),%ecx		  -	leal 	(%eax,%ecx,8),%eax -	fldl	 4(%esp) -	fldz -.Lloop: -	fmul 	%st(1),%st(0) -	faddl	(%eax) -	addl 	$-8,%eax -	decl	%ecx -	jns 	.Lloop -	fstp 	%st(1) -	ret diff --git a/mdk-stage1/dietlibc/i386/pow.S b/mdk-stage1/dietlibc/i386/pow.S deleted file mode 100644 index 46562a299..000000000 --- a/mdk-stage1/dietlibc/i386/pow.S +++ /dev/null @@ -1,67 +0,0 @@ -.text -.global pow -.type   pow,@function - -# pow(x,y) -.global powf,pow,powl -	.type	powf,@function -	.type	pow,@function -	.type	powl,@function -powf: -	flds 4(%esp)	# x -	flds 8(%esp)	# y -	jmp .L__pow -powl: -	fldt 4(%esp) -	fldt 16(%esp) -	jmp .L__pow -pow: -	fldl 4(%esp) -	fldl 12(%esp) -# x^y; st(0)=y, st(1)=x -.L__pow: -	ftst		# y = 0 ? -	fstsw %ax -	fld1		# st(0)=1, st(1)=y, st(2)=x -	sahf -	jz 1f		# return 1 -	fcomp %st(1)	# y = 1 ? -	fstsw %ax -	fxch		# st(0)=x, st(1)=y -	sahf -	jz 1f		# return x -	ftst		# x = 0 ? -	fstsw %ax -	sahf -	jz 1f -	jnc .Lfinpow	# x > 0 -	fxch		# st(0)=y, st(1)=x -	fld %st(0)	# st(0)=y, st(1)=y, st(2)=x -	frndint		# st(0)=int(y) -	fcomp %st(1)	# y = int(y)? -	fstsw %ax -	fxch -	sahf -	jnz .Lfinpow	# fyl2x -> st(0) = NaN -# y even or odd ? -	fld1 -	fadd %st(0)	# st(0) = 2 -	fdivr %st(2),%st(0) # st(0)=st(2)/2 -	frndint -	fadd %st(0),%st(0) -	fcomp %st(2)	# st(0) = x, st(1) = y -	fstsw %ax -	fchs		# st(0) = -x -	sahf -	jz .Lfinpow	# y even -	call .Lfinpow	# y odd -	fchs -1:	ret -.Lfinpow: -	fyl2x -	jmp __finexp - -.Lende: -.size    pow,.Lende-pow -.size    powf,.Lende-powf -.size    powl,.Lende-powl diff --git a/mdk-stage1/dietlibc/i386/recv.S b/mdk-stage1/dietlibc/i386/recv.S deleted file mode 100644 index 215343ccc..000000000 --- a/mdk-stage1/dietlibc/i386/recv.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(recv,RECV) diff --git a/mdk-stage1/dietlibc/i386/recvfrom.S b/mdk-stage1/dietlibc/i386/recvfrom.S deleted file mode 100644 index a9dde840d..000000000 --- a/mdk-stage1/dietlibc/i386/recvfrom.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(recvfrom,RECVFROM) diff --git a/mdk-stage1/dietlibc/i386/recvmsg.S b/mdk-stage1/dietlibc/i386/recvmsg.S deleted file mode 100644 index cb26e2f08..000000000 --- a/mdk-stage1/dietlibc/i386/recvmsg.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(recvmsg,RECVMSG) diff --git a/mdk-stage1/dietlibc/i386/rint.S b/mdk-stage1/dietlibc/i386/rint.S deleted file mode 100644 index f56ab1f93..000000000 --- a/mdk-stage1/dietlibc/i386/rint.S +++ /dev/null @@ -1,23 +0,0 @@ -.text - -.global rintf,rint,rintl -	.type	 rintf,@function -	.type	 rint,@function -	.type	 rintl,@function -rintf: -	flds 4(%esp) -	frndint -	ret -rint: -	fldl 4(%esp) -	frndint -	ret -rintl: -	fldt 4(%esp) -	frndint -	ret - -.Lende: -.size    rint,.Lende-rint -.size    rintl,.Lende-rintl -.size    rintf,.Lende-rintf diff --git a/mdk-stage1/dietlibc/i386/select.S b/mdk-stage1/dietlibc/i386/select.S deleted file mode 100644 index 9e7066eae..000000000 --- a/mdk-stage1/dietlibc/i386/select.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(_newselect,select,__libc_select) diff --git a/mdk-stage1/dietlibc/i386/send.S b/mdk-stage1/dietlibc/i386/send.S deleted file mode 100644 index f2dd7e3d5..000000000 --- a/mdk-stage1/dietlibc/i386/send.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(send,SEND) diff --git a/mdk-stage1/dietlibc/i386/sendmsg.S b/mdk-stage1/dietlibc/i386/sendmsg.S deleted file mode 100644 index 484d62e50..000000000 --- a/mdk-stage1/dietlibc/i386/sendmsg.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(sendmsg,SENDMSG) diff --git a/mdk-stage1/dietlibc/i386/sendto.S b/mdk-stage1/dietlibc/i386/sendto.S deleted file mode 100644 index 04270f0f0..000000000 --- a/mdk-stage1/dietlibc/i386/sendto.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(sendto,SENDTO) diff --git a/mdk-stage1/dietlibc/i386/setjmp.S b/mdk-stage1/dietlibc/i386/setjmp.S deleted file mode 100644 index 09b266c61..000000000 --- a/mdk-stage1/dietlibc/i386/setjmp.S +++ /dev/null @@ -1,41 +0,0 @@ -#include <setjmp.h> - -.text -.weak setjmp -.type setjmp,@function -setjmp: -.globl __setjmp -.type __setjmp,@function -__setjmp: -	popl %eax -	popl %ecx -	pushl $0 -	pushl %ecx -	pushl %eax - -.globl __sigsetjmp -.type __sigsetjmp,@function -__sigsetjmp: -	movl 4(%esp), %eax - -	/* Save registers.  */ -	movl %ebx, (JB_BX*4)(%eax) -	movl %esi, (JB_SI*4)(%eax) -	movl %edi, (JB_DI*4)(%eax) -	movl %ebp, (JB_BP*4)(%eax) -	leal 4(%esp), %edx	/* Save SP as it will be after we return.  */ -	movl 0(%esp), %ecx	/* Save PC we are returning to now.  */ -	movl %edx, (JB_SP*4)(%eax) -	movl %ecx, (JB_PC*4)(%eax) - -	/* Make a tail call to __sigjmp_save; it takes the same args.  */ -#ifdef	PIC -	call	1f -	addl	$_GLOBAL_OFFSET_TABLE_, %ecx -	jmp	*__sigjmp_save@GOT(%ecx) -1:	movl	(%esp), %ecx -	ret -#else -	jmp __sigjmp_save -#endif -.size __sigsetjmp,.-__sigsetjmp; diff --git a/mdk-stage1/dietlibc/i386/setsockopt.S b/mdk-stage1/dietlibc/i386/setsockopt.S deleted file mode 100644 index 6a81aec82..000000000 --- a/mdk-stage1/dietlibc/i386/setsockopt.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(setsockopt,SETSOCKOPT) diff --git a/mdk-stage1/dietlibc/i386/shutdown.S b/mdk-stage1/dietlibc/i386/shutdown.S deleted file mode 100644 index f9dc707e8..000000000 --- a/mdk-stage1/dietlibc/i386/shutdown.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(shutdown,SHUTDOWN) diff --git a/mdk-stage1/dietlibc/i386/sin.S b/mdk-stage1/dietlibc/i386/sin.S deleted file mode 100644 index 404bf5eed..000000000 --- a/mdk-stage1/dietlibc/i386/sin.S +++ /dev/null @@ -1,34 +0,0 @@ - -.text - -.global sinf,sin,sinl -.type   sinf,@function -.type   sin,@function -.type   sinl,@function -sinf: -        flds    4(%esp) -	jmp	1f -sin: -        fldl    4(%esp) -1:	fsin -	fnstsw	%ax -	testb	$0x04, %ah -	je	3f -	fldpi -	fadd	%st -	fxch	%st(1) -2:	fprem1 -	fnstsw	%ax -	testb	$0x04, %ah -	jne	2b -	fstp	%st(1) -        fsin -3:	ret -sinl: -        fldt    4(%esp) -	jmp	1b - -.ende: -.size    sin,.ende-sin -.size    sinf,.ende-sinf -.size    sinl,.ende-sinl diff --git a/mdk-stage1/dietlibc/i386/sincos.S b/mdk-stage1/dietlibc/i386/sincos.S deleted file mode 100644 index 7395075f3..000000000 --- a/mdk-stage1/dietlibc/i386/sincos.S +++ /dev/null @@ -1,18 +0,0 @@ - -.text -.type   sincos,@function -.global sincos - -# void  sincos ( double x, double* sinx, double* cosx ); - -sincos: -        fldl     4(%esp) -        fsincos -        movl    16(%esp),%eax -        movl    12(%esp),%ecx -        fstpl   (%eax) -        fstpl   (%ecx) -        ret - -.ende: -.size    sincos,.ende-sincos diff --git a/mdk-stage1/dietlibc/i386/sinh.S b/mdk-stage1/dietlibc/i386/sinh.S deleted file mode 100644 index 98f7ee752..000000000 --- a/mdk-stage1/dietlibc/i386/sinh.S +++ /dev/null @@ -1,29 +0,0 @@ - -.text -.type   sinh,@function -.global sinh - -sinh:                           # note: exp(x) = 2^(x*log2(e)) -        fldl2e -        fmull    4(%esp)        # x*log2(e) -        fld      %st(0)         # x*log2(e)              x*log2(e) -        frndint                 # int(x*log2(e))         x*log2(e) -        fxch                    # x*log2(e)              int(x*log2(e)) -        fsub     %st(1),%st(0)  # frac(x*log2(e))        int(x*log2(e)) -        f2xm1                   # 2^(fract(x*log2(e)))-1 int(x*log2(e)) -        fld1                    # 1                      2^(fract(x*log2(e)))-1         int(x*log2(e)) -        faddp    %st(0),%st(1)  # 2^(fract(x*log2(e)))   int(x*log2(e)) -        fscale                  # 2^(x*log2(e))          int(x*log2(e)) -        fstp     %st(1)         # 2^(x*log2(e)) - -# now we have y = exp(x), but sinh(x) = (y - 1/y) * 0.5 - -        fld1 -        fdiv    %st(1),%st(0) -        fsubrp -        fmuls   __half -        ret - -.Lende: - -.size    sinh,.ende-sinh diff --git a/mdk-stage1/dietlibc/i386/sleep.S b/mdk-stage1/dietlibc/i386/sleep.S deleted file mode 100644 index 356552dc2..000000000 --- a/mdk-stage1/dietlibc/i386/sleep.S +++ /dev/null @@ -1,25 +0,0 @@ -#include "PIC.h" - -.text -.global sleep -.type   sleep,@function - -sleep: -	movl    4(%esp),%eax            # Argument holen -	PIC_SAVE		# non-PIC: empty line -	PIC_INIT		# non-PIC: empty line -	pushl   $0                      # 0 ns -	pushl   %eax                    # 'x' µs warten -	movl    %esp,%eax -	pushl   %eax                    # zweimal ein Zeiger auf das Stackobjekt -	pushl   %eax                    # ptr  ptr  sec  nsec  return  arg -#ifdef __DYN_LIB -	call	nanosleep@PLT -#else -	call    nanosleep -#endif -	movl    20(%esp),%eax           # 'x' holen -	subl    8(%esp),%eax            # schon abgelaufende Zeit subtrahieren -	addl    $16,%esp -	PIC_RESTORE		# non-PIC: empty line -	ret diff --git a/mdk-stage1/dietlibc/i386/socket.S b/mdk-stage1/dietlibc/i386/socket.S deleted file mode 100644 index bc8cbe536..000000000 --- a/mdk-stage1/dietlibc/i386/socket.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(socket,SOCKET) diff --git a/mdk-stage1/dietlibc/i386/socketcall.S b/mdk-stage1/dietlibc/i386/socketcall.S deleted file mode 100644 index 4e8019ec2..000000000 --- a/mdk-stage1/dietlibc/i386/socketcall.S +++ /dev/null @@ -1,17 +0,0 @@ -#include <syscalls.h> - -.text -.global socketcall -.type	socketcall,@function -socketcall: -	leal 4(%esp), %ecx -	pushl %ecx -	movzbl %al,%eax -	pushl %eax -	movb $__NR_socketcall,%al -	call __unified_syscall -	popl %ecx -	popl %ecx -	retl -.Lende: -.size socketcall,.Lende-socketcall diff --git a/mdk-stage1/dietlibc/i386/socketpair.S b/mdk-stage1/dietlibc/i386/socketpair.S deleted file mode 100644 index a5de65f25..000000000 --- a/mdk-stage1/dietlibc/i386/socketpair.S +++ /dev/null @@ -1,4 +0,0 @@ -#include <linuxnet.h> -#include <syscalls.h> - -__socketcall(socketpair,SOCKETPAIR) diff --git a/mdk-stage1/dietlibc/i386/sqrt.S b/mdk-stage1/dietlibc/i386/sqrt.S deleted file mode 100644 index 5e4527612..000000000 --- a/mdk-stage1/dietlibc/i386/sqrt.S +++ /dev/null @@ -1,23 +0,0 @@ -.text - -.global sqrtf,sqrt,sqrtl -	.type	 sqrtf,@function -	.type	 sqrt,@function -	.type	 sqrtl,@function -sqrtf: -	flds 4(%esp) -	fsqrt -	ret -sqrt: -	fldl 4(%esp) -	fsqrt -	ret -sqrtl: -	fldt 4(%esp) -	fsqrt -	ret - -.ende: -.size    sqrt,.ende-sqrt -.size    sqrtf,.ende-sqrtf -.size    sqrtl,.ende-sqrtl diff --git a/mdk-stage1/dietlibc/i386/sqrtl.S b/mdk-stage1/dietlibc/i386/sqrtl.S deleted file mode 100644 index c1a931fd8..000000000 --- a/mdk-stage1/dietlibc/i386/sqrtl.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.type   sqrtl,@function -.global sqrtl -sqrtl: -        fldt   4(%esp) -        fsqrt -        ret - -.ende: -.size    sqrtl,.ende-sqrtl - diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S deleted file mode 100644 index 1a825fc2a..000000000 --- a/mdk-stage1/dietlibc/i386/start.S +++ /dev/null @@ -1,51 +0,0 @@ -#include "dietfeatures.h" -#include "PIC.h" - -.text -.global _start -_start: -#if 1 -	popl	%ecx			/* %ecx = argc */ -	movl	%esp,%esi		/* %esi = argv */ -	pushl	%ecx -#else -	movl	(%esp),%ecx		/* %ecx = argc */ -	leal	4(%esp),%esi		/* %esi = argv */ -#endif -	leal	4(%esi,%ecx,4),%eax	/* %eax = envp = (4*ecx)+%esi+4 */ - -#ifdef WANT_DYNAMIC -/* in %edx we have the ld.so dynamic _fini ( register this if non null ) */ -	push	%edx -#endif - -	pushl	%eax -	pushl	%esi -	pushl	%ecx -	PIC_INIT			/* non-PIC: this is an empty line */ -	PUT_VAR %eax, environ, %ecx	/* non-PIC: movl %eax,environ */ - -#ifdef PROFILING -	pushl	$_etext -	pushl	$.text -	call	monitor -	addl	$0x8, %esp -#endif - -#ifdef WANT_DYNAMIC -	call	_dyn_start -#else -	call	main -#endif - -#ifdef PROFILING -	pushl	%eax -	call	_stop_monitor -	popl	%eax -#endif -	pushl	%eax -	call	exit -	hlt	/* die now ! will ya ... */ -.Lstart: -	.size	 _start,.Lstart-_start - diff --git a/mdk-stage1/dietlibc/i386/stpcpy.S b/mdk-stage1/dietlibc/i386/stpcpy.S deleted file mode 100644 index 1cb74b2ea..000000000 --- a/mdk-stage1/dietlibc/i386/stpcpy.S +++ /dev/null @@ -1,22 +0,0 @@ -.text -.global stpcpy -.type	stpcpy,@function -stpcpy: -	pushl %edi -	pushl %esi -	movl 0xc(%esp),  %edi -	movl 0x10(%esp), %esi - -.Lcopy: -	lodsb -	stosb -	testb %al, %al -	jnz .Lcopy - -	movl %edi, %eax -	decl %eax -	popl %esi -	popl %edi -	ret -.Lende: -.size stpcpy,.Lende-stpcpy diff --git a/mdk-stage1/dietlibc/i386/strcasecmp.S b/mdk-stage1/dietlibc/i386/strcasecmp.S deleted file mode 100644 index a836680db..000000000 --- a/mdk-stage1/dietlibc/i386/strcasecmp.S +++ /dev/null @@ -1,31 +0,0 @@ -.text -.globl strcasecmp - -strcasecmp: -	pushl %esi -	movl 0x8(%esp), %esi -	movl 0xc(%esp), %edx -	xorl %eax, %eax -	xorl %ecx, %ecx -	cld -.Lloop: -	lodsb -	movb (%edx), %cl -	incl %edx -	or %al, %al -	jz .Lfinifirst -	cmp $'A', %al -	jnge .Lcmp -	cmp $'z', %al -	jg .Lcmp -	or $0x20, %al -	or $0x20, %cl -.Lcmp: -	subl %ecx, %eax -	jz .Lloop -.Lret: -	popl %esi -	ret -.Lfinifirst: -	subl %ecx, %eax -	jmp .Lret diff --git a/mdk-stage1/dietlibc/i386/strcat.S b/mdk-stage1/dietlibc/i386/strcat.S deleted file mode 100644 index e7d74ef13..000000000 --- a/mdk-stage1/dietlibc/i386/strcat.S +++ /dev/null @@ -1,29 +0,0 @@ -.text -.align 0  -.global strcat -.type	 strcat,@function -strcat: -	pushl %edi -	pushl %esi - -	movl 12(%esp), %edi -	movl 16(%esp), %esi - -	pushl %edi - -	xorl %eax, %eax -	xorl %ecx, %ecx -	decl %ecx -	repne scasb -	decl %edi -	 -.Lloop: -	lodsb -	stosb -	testb %al, %al -	jnz .Lloop -	 -	popl %eax -	popl %esi -	popl %edi -	ret diff --git a/mdk-stage1/dietlibc/i386/strchr.S b/mdk-stage1/dietlibc/i386/strchr.S deleted file mode 100644 index 4515d9835..000000000 --- a/mdk-stage1/dietlibc/i386/strchr.S +++ /dev/null @@ -1,22 +0,0 @@ - -.text -.type   strchr,@function -.global strchr -.weak index -.type index,@function - -index: -strchr: -	movl	4(%esp),%ecx -	movb	8(%esp),%dl -.Lloop: -	movb	(%ecx),%al -	cmpb	%al,%dl -	jz .Lfound -	incl	%ecx -	testb	%al,%al -	jnz .Lloop -	xorl	%ecx,%ecx -.Lfound: -	movl	%ecx,%eax -	ret diff --git a/mdk-stage1/dietlibc/i386/strcmp.S b/mdk-stage1/dietlibc/i386/strcmp.S deleted file mode 100644 index e01064ffb..000000000 --- a/mdk-stage1/dietlibc/i386/strcmp.S +++ /dev/null @@ -1,31 +0,0 @@ -.text -.global strcmp -.type	strcmp,@function -.weak	strcoll -.type	strcoll,@function - -#ifdef HIGH_PERFORMANCE -.align 	16 -#endif - -.Ldiff: -	movzbl	(%edx), %ecx -	subl	%ecx, %eax		# (unsigned char)*p - (unsigned char)*q, so wie die Original libc -	ret				# und ohne Überlaufprobleme:  -					# (int) ((signed char)c - (signed char)d) != (int)(signed char) ((unsigned char)c - (unsigned char)d) -					# c = 'ä', d = 'e': left expression: -129, right expression: 127 - -strcoll: -strcmp: -	movl 	4(%esp), %ecx -	movl 	8(%esp), %edx -	xorl	%eax, %eax -.Lloop:					# Schleifenanfang liegt genau auf Modulanfang + 0x10, damit alignbar -	movb 	(%ecx), %al -	cmpb	(%edx), %al -	jnz	.Ldiff -	incl 	%edx -	incl 	%ecx -	testb	%al, %al -	jnz	.Lloop -	ret diff --git a/mdk-stage1/dietlibc/i386/strcpy.S b/mdk-stage1/dietlibc/i386/strcpy.S deleted file mode 100644 index a597436bc..000000000 --- a/mdk-stage1/dietlibc/i386/strcpy.S +++ /dev/null @@ -1,24 +0,0 @@ - -.text -.align 0  -.global strcpy -.type	 strcpy,@function -strcpy: -	pushl %esi -	pushl %edi -	 -	movl 12(%esp), %edx -	movl 16(%esp), %esi -	movl %edx, %edi -	cld - -.Lloop: -	lodsb -	stosb -	orb %al, %al -	jnz .Lloop - -	popl %edi -	popl %esi -	movl %edx,%eax -	ret diff --git a/mdk-stage1/dietlibc/i386/strlen.S b/mdk-stage1/dietlibc/i386/strlen.S deleted file mode 100644 index 66f8ee553..000000000 --- a/mdk-stage1/dietlibc/i386/strlen.S +++ /dev/null @@ -1,18 +0,0 @@ - -.text -.type   strlen,@function -.global strlen - -strlen: -        movl    4(%esp),%ecx -        xorl    %eax,%eax -        jecxz   .Lnull -        decl    %eax -.Llbl:  incl    %eax -        cmpb    $0,(%ecx, %eax) -        jne     .Llbl -.Lnull: ret - -.Lende: - -.size    strlen,.Lende-strlen diff --git a/mdk-stage1/dietlibc/i386/strncmp.S b/mdk-stage1/dietlibc/i386/strncmp.S deleted file mode 100644 index bf07b07d0..000000000 --- a/mdk-stage1/dietlibc/i386/strncmp.S +++ /dev/null @@ -1,28 +0,0 @@ -.text -.align 0  -.global strncmp -.type	 strncmp,@function -strncmp: -	push %ebx -	movl %esp,%ebx -	movl 12(%ebx),%edx -	movl 16(%ebx),%ecx -	movl 8(%ebx),%ebx -.Lloop: -	jecxz .Ldone -	decl %ecx -	movb (%ebx),%al -	incl %edx -	incl %ebx -	movb %al,%ah -	subb -1(%edx),%al -	jnz .Lnotequal -	testb %ah,%ah -	jnz .Lloop - -.Ldone: -	xorl %eax,%eax -.Lnotequal: -	movsx %al, %eax -	popl %ebx -	ret diff --git a/mdk-stage1/dietlibc/i386/strncpy.S b/mdk-stage1/dietlibc/i386/strncpy.S deleted file mode 100644 index 837b43c41..000000000 --- a/mdk-stage1/dietlibc/i386/strncpy.S +++ /dev/null @@ -1,42 +0,0 @@ -/* -  Copyright (C) 2002 Thomas M. Ogrisegg - -  This is free software. You can redistribute and -  modify it under the terms of the GNU General Public -  Public License. - -  strncpy.S -    i386 assembler implementation of strncpy(3) -*/ - -#include "dietfeatures.h" - -.text -.globl strncpy -.type strncpy,@function - -strncpy: -		pushl %esi -		pushl %edi -		movl %esp, %ecx -		movl  0x0c(%ecx), %edi -		movl  0x10(%ecx), %esi -		movl  0x14(%ecx), %ecx - -		movl %edi, %edx - -.Lloop: -		dec %ecx -		js .Lout -		lodsb -		stosb -		or %al, %al -		jnz .Lloop -#ifdef WANT_FULL_POSIX_COMPAT -		repnz stosb -#endif -.Lout: -		movl %edx, %eax -		popl %edi -		popl %esi -		ret diff --git a/mdk-stage1/dietlibc/i386/strrchr.S b/mdk-stage1/dietlibc/i386/strrchr.S deleted file mode 100644 index 9fd6e8b32..000000000 --- a/mdk-stage1/dietlibc/i386/strrchr.S +++ /dev/null @@ -1,19 +0,0 @@ -.text -.globl strrchr -.type strrchr,@function - -strrchr: -	movl 0x4(%esp), %edx -	movb 0x8(%esp), %cl -	xorl %eax, %eax -	decl %edx -.Lloop: -	incl %edx -	cmpb $0x0,(%edx) -	jz .Lret -	cmpb %cl, (%edx) -	jnz .Lloop -	movl %edx, %eax -	jmp .Lloop -.Lret: -	ret diff --git a/mdk-stage1/dietlibc/i386/syscalls.h b/mdk-stage1/dietlibc/i386/syscalls.h deleted file mode 100644 index 3cbf7b605..000000000 --- a/mdk-stage1/dietlibc/i386/syscalls.h +++ /dev/null @@ -1,303 +0,0 @@ - -#define __NR_exit		  1 -#define __NR_fork		  2 -#define __NR_read		  3 -#define __NR_write		  4 -#define __NR_open		  5 -#define __NR_close		  6 -#define __NR_waitpid		  7 -#define __NR_creat		  8 -#define __NR_link		  9 -#define __NR_unlink		 10 -#define __NR_execve		 11 -#define __NR_chdir		 12 -#define __NR_time		 13 -#define __NR_mknod		 14 -#define __NR_chmod		 15 -#define __NR_lchown		 16 -#define __NR_break		 17 -#define __NR_oldstat		 18 -#define __NR_lseek		 19 -#define __NR_getpid		 20 -#define __NR_mount		 21 -#define __NR_umount		 22 -#define __NR_setuid		 23 -#define __NR_getuid		 24 -#define __NR_stime		 25 -#define __NR_ptrace		 26 -#define __NR_alarm		 27 -#define __NR_oldfstat		 28 -#define __NR_pause		 29 -#define __NR_utime		 30 -#define __NR_stty		 31 -#define __NR_gtty		 32 -#define __NR_access		 33 -#define __NR_nice		 34 -#define __NR_ftime		 35 -#define __NR_sync		 36 -#define __NR_kill		 37 -#define __NR_rename		 38 -#define __NR_mkdir		 39 -#define __NR_rmdir		 40 -#define __NR_dup		 41 -#define __NR_pipe		 42 -#define __NR_times		 43 -#define __NR_prof		 44 -#define __NR_brk		 45 -#define __NR_setgid		 46 -#define __NR_getgid		 47 -#define __NR_signal		 48 -#define __NR_geteuid		 49 -#define __NR_getegid		 50 -#define __NR_acct		 51 -#define __NR_umount2		 52 -#define __NR_lock		 53 -#define __NR_ioctl		 54 -#define __NR_fcntl		 55 -#define __NR_mpx		 56 -#define __NR_setpgid		 57 -#define __NR_ulimit		 58 -#define __NR_oldolduname	 59 -#define __NR_umask		 60 -#define __NR_chroot		 61 -#define __NR_ustat		 62 -#define __NR_dup2		 63 -#define __NR_getppid		 64 -#define __NR_getpgrp		 65 -#define __NR_setsid		 66 -#define __NR_sigaction		 67 -#define __NR_sgetmask		 68 -#define __NR_ssetmask		 69 -#define __NR_setreuid		 70 -#define __NR_setregid		 71 -#define __NR_sigsuspend		 72 -#define __NR_sigpending		 73 -#define __NR_sethostname	 74 -#define __NR_setrlimit		 75 -#define __NR_getrlimit		 76	/* Back compatible 2Gig limited rlimit */ -#define __NR_getrusage		 77 -#define __NR_gettimeofday	 78 -#define __NR_settimeofday	 79 -#define __NR_getgroups		 80 -#define __NR_setgroups		 81 -#define __NR_select		 82 -#define __NR_symlink		 83 -#define __NR_oldlstat		 84 -#define __NR_readlink		 85 -#define __NR_uselib		 86 -#define __NR_swapon		 87 -#define __NR_reboot		 88 -#define __NR_readdir		 89 -#define __NR_mmap		 90 -#define __NR_munmap		 91 -#define __NR_truncate		 92 -#define __NR_ftruncate		 93 -#define __NR_fchmod		 94 -#define __NR_fchown		 95 -#define __NR_getpriority	 96 -#define __NR_setpriority	 97 -#define __NR_profil		 98 -#define __NR_statfs		 99 -#define __NR_fstatfs		100 -#define __NR_ioperm		101 -#define __NR_socketcall		102 -#define __NR_syslog		103 -#define __NR_setitimer		104 -#define __NR_getitimer		105 -#define __NR_stat		106 -#define __NR_lstat		107 -#define __NR_fstat		108 -#define __NR_olduname		109 -#define __NR_iopl		110 -#define __NR_vhangup		111 -#define __NR_idle		112 -#define __NR_vm86old		113 -#define __NR_wait4		114 -#define __NR_swapoff		115 -#define __NR_sysinfo		116 -#define __NR_ipc		117 -#define __NR_fsync		118 -#define __NR_sigreturn		119 -#define __NR_clone		120 -#define __NR_setdomainname	121 -#define __NR_uname		122 -#define __NR_modify_ldt		123 -#define __NR_adjtimex		124 -#define __NR_mprotect		125 -#define __NR_sigprocmask	126 -#define __NR_create_module	127 -#define __NR_init_module	128 -#define __NR_delete_module	129 -#define __NR_get_kernel_syms	130 -#define __NR_quotactl		131 -#define __NR_getpgid		132 -#define __NR_fchdir		133 -#define __NR_bdflush		134 -#define __NR_sysfs		135 -#define __NR_personality	136 -#define __NR_afs_syscall	137 /* Syscall for Andrew File System */ -#define __NR_setfsuid		138 -#define __NR_setfsgid		139 -#define __NR__llseek		140 -#define __NR_getdents		141 -#define __NR__newselect		142 -#define __NR_flock		143 -#define __NR_msync		144 -#define __NR_readv		145 -#define __NR_writev		146 -#define __NR_getsid		147 -#define __NR_fdatasync		148 -#define __NR__sysctl		149 -#define __NR_mlock		150 -#define __NR_munlock		151 -#define __NR_mlockall		152 -#define __NR_munlockall		153 -#define __NR_sched_setparam		154 -#define __NR_sched_getparam		155 -#define __NR_sched_setscheduler		156 -#define __NR_sched_getscheduler		157 -#define __NR_sched_yield		158 -#define __NR_sched_get_priority_max	159 -#define __NR_sched_get_priority_min	160 -#define __NR_sched_rr_get_interval	161 -#define __NR_nanosleep		162 -#define __NR_mremap		163 -#define __NR_setresuid		164 -#define __NR_getresuid		165 -#define __NR_vm86		166 -#define __NR_query_module	167 -#define __NR_poll		168 -#define __NR_nfsservctl		169 -#define __NR_setresgid		170 -#define __NR_getresgid		171 -#define __NR_prctl              172 -#define __NR_rt_sigreturn	173 -#define __NR_rt_sigaction	174 -#define __NR_rt_sigprocmask	175 -#define __NR_rt_sigpending	176 -#define __NR_rt_sigtimedwait	177 -#define __NR_rt_sigqueueinfo	178 -#define __NR_rt_sigsuspend	179 -#define __NR_pread		180 -#define __NR_pwrite		181 -#define __NR_chown		182 -#define __NR_getcwd		183 -#define __NR_capget		184 -#define __NR_capset		185 -#define __NR_sigaltstack	186 -#define __NR_sendfile		187 -#define __NR_getpmsg		188	/* some people actually want streams */ -#define __NR_putpmsg		189	/* some people actually want streams */ -#define __NR_vfork		190 -#define __NR_ugetrlimit		191	/* SuS compliant getrlimit */ -#define __NR_mmap2		192 -#define __NR_truncate64		193 -#define __NR_ftruncate64	194 -#define __NR_stat64		195 -#define __NR_lstat64		196 -#define __NR_fstat64		197 -#define __NR_lchown32		198 -#define __NR_getuid32		199 -#define __NR_getgid32		200 -#define __NR_geteuid32		201 -#define __NR_getegid32		202 -#define __NR_setreuid32		203 -#define __NR_setregid32		204 -#define __NR_getgroups32	205 -#define __NR_setgroups32	206 -#define __NR_fchown32		207 -#define __NR_setresuid32	208 -#define __NR_getresuid32	209 -#define __NR_setresgid32	210 -#define __NR_getresgid32	211 -#define __NR_chown32		212 -#define __NR_setuid32		213 -#define __NR_setgid32		214 -#define __NR_setfsuid32		215 -#define __NR_setfsgid32		216 -#define __NR_pivot_root		217 -#define __NR_mincore		218 -#define __NR_madvise		219 -#define __NR_madvise1		219	/* delete when C lib stub is removed */ -#define __NR_getdents64		220 -#define __NR_fcntl64		221 -#define __NR_security		223	/* syscall for security modules */ -#define __NR_gettid		224 -#define __NR_readahead		225 -#define __NR_setxattr		226 -#define __NR_lsetxattr		227 -#define __NR_fsetxattr		228 -#define __NR_getxattr		229 -#define __NR_lgetxattr		230 -#define __NR_fgetxattr		231 -#define __NR_listxattr		232 -#define __NR_llistxattr		233 -#define __NR_flistxattr		234 -#define __NR_removexattr	235 -#define __NR_lremovexattr	236 -#define __NR_fremovexattr	237 -#define __NR_tkill		238 -#define __NR_sendfile64		239 -#define __NR_futex		240 -#define __NR_sched_setaffinity	241 -#define __NR_sched_getaffinity	242 -#define __NR_set_thread_area	243 -#define __NR_get_thread_area	244 -#define __NR_io_setup		245 -#define __NR_io_destroy		246 -#define __NR_io_getevents	247 -#define __NR_io_submit		248 -#define __NR_io_cancel		249 -#define __NR_alloc_hugepages	250 -#define __NR_free_hugepages	251 -#define __NR_exit_group		252 -#define __NR_lookup_dcookie	253 -#define __NR_sys_epoll_create	254 -#define __NR_sys_epoll_ctl	255 -#define __NR_sys_epoll_wait	256 -#define __NR_remap_file_pages	257 -#define __NR_set_tid_address	258 - -#define syscall_weak(name,wsym,sym) \ -.text; \ -.type wsym,@function; \ -.weak wsym; \ -wsym: ; \ -.type sym,@function; \ -.global sym; \ -sym: \ -	movb $__NR_##name,%al; \ -	jmp __unified_syscall; \ -.Lend##sym: ; \ -.size sym,.Lend##sym-sym - -#define syscall(name,sym) \ -.text; \ -.type sym,@function; \ -.global sym; \ -sym: \ -.ifle __NR_##name-255; \ -	movb $__NR_##name,%al; \ -	jmp __unified_syscall; \ -.else; \ -	movw $__NR_##name,%ax; \ -	jmp __unified_syscall_256; \ -.endif; \ -.Lend##sym: ; \ -.size sym,.Lend##sym-sym - -#ifndef __PIC__ -#define __socketcall(name,NAME) \ -.text; \ -.type name,@function; \ -.weak name; \ -name: ; \ -.global __libc_##name; \ -__libc_##name: ; \ -	movb $SYS_##NAME,%al; \ -	jmp socketcall; \ -.Lend##name:; \ -.size name,.Lend##name-name -#else -#define __socketcall(name,NAME) -#endif diff --git a/mdk-stage1/dietlibc/i386/tan.S b/mdk-stage1/dietlibc/i386/tan.S deleted file mode 100644 index 4904c2d59..000000000 --- a/mdk-stage1/dietlibc/i386/tan.S +++ /dev/null @@ -1,12 +0,0 @@ - -.text -.type   tan,@function -.global tan -tan: -        fldl    4(%esp) -        fsincos -        fdivrp -        ret - -.Lende: -.size    tan,.Lende-tan diff --git a/mdk-stage1/dietlibc/i386/tanh.S b/mdk-stage1/dietlibc/i386/tanh.S deleted file mode 100644 index 61d3f3376..000000000 --- a/mdk-stage1/dietlibc/i386/tanh.S +++ /dev/null @@ -1,32 +0,0 @@ - -.text -.type   tanh,@function -.global tanh - -tanh:                           # note: exp(x) = 2^(x*log2(e)) -        fldl2e -        fmull    4(%esp)        # x*log2(e) -        fld      %st(0)         # x*log2(e)              x*log2(e) -        frndint                 # int(x*log2(e))         x*log2(e) -        fxch                    # x*log2(e)              int(x*log2(e)) -        fsub     %st(1),%st(0)  # frac(x*log2(e))        int(x*log2(e)) -        f2xm1                   # 2^(fract(x*log2(e)))-1 int(x*log2(e)) -        fld1                    # 1                      2^(fract(x*log2(e)))-1         int(x*log2(e)) -        faddp    %st(0),%st(1)  # 2^(fract(x*log2(e)))   int(x*log2(e)) -        fscale                  # 2^(x*log2(e))          int(x*log2(e)) -        fstp     %st(1)         # 2^(x*log2(e)) - -# now we have y = exp(x), but tanh(x) = (y - 1/y) / (y + 1/y) - -        fld1 -        fdiv    %st(1),%st(0)   # 1/y           y -        fld     %st(0)          # 1/y           1/y             y -        fadd    %st(2)          # y+1/y         1/y             y -        fxch    %st(2)          # y             1/y             y+1/y -        fsubp                   # y-1/y         y+1/y -        fdivp                   # (y-1/y)/(y+1/y) -        ret - -.Lende: - -.size    tanh,.ende-tanh diff --git a/mdk-stage1/dietlibc/i386/unified.S b/mdk-stage1/dietlibc/i386/unified.S deleted file mode 100644 index 989bf37b5..000000000 --- a/mdk-stage1/dietlibc/i386/unified.S +++ /dev/null @@ -1,59 +0,0 @@ - -#include <dietfeatures.h> - -.text -.global __unified_syscall_256 -.type __unified_syscall_256,@function -__unified_syscall_256: -	movzwl %ax,%eax -	jmp .L1 -.L2: -.size __unified_syscall_256,.L2-__unified_syscall_256 -.weak exit -exit: -.global _exit -.type	_exit,@function -_exit: -	movb	$1,%al -.global __unified_syscall -.type	__unified_syscall,@function -__unified_syscall: -.size _exit,__unified_syscall-_exit -	movzbl	%al, %eax -.L1: -	push	%edi -	push	%esi -	push	%ebx -	movl	%esp,%edi -	/* we use movl instead of pop because otherwise a signal would -	   destroy the stack frame and crash the program, although it -	   would save a few bytes. */ -	movl	0x10(%edi),%ebx -	movl	0x14(%edi),%ecx -	movl	0x18(%edi),%edx -	movl	0x1c(%edi),%esi -	movl	0x20(%edi),%edi -	int	$0x80 -	cmp	$-124,%eax -	jbe	.Lnoerror -	neg	%eax -#ifdef WANT_THREAD_SAFE -	movl	%eax,%ebx -	call	__errno_location -	movl	%ebx,(%eax) -	orl	$-1,%eax -#else -	mov	%eax,errno -	sbb	%eax,%eax               # eax = eax - eax - CY = -1 -#endif -.Lnoerror: -	pop	%ebx -	pop	%esi -	pop	%edi - -/* here we go and "reuse" the return for weak-void functions */ -#include "dietuglyweaks.h" - -	ret -.L3: -.size __unified_syscall,.L3-__unified_syscall diff --git a/mdk-stage1/dietlibc/i386/usleep.S b/mdk-stage1/dietlibc/i386/usleep.S deleted file mode 100644 index 7c0cc6ce7..000000000 --- a/mdk-stage1/dietlibc/i386/usleep.S +++ /dev/null @@ -1,31 +0,0 @@ -#include "PIC.h" - -.text -.global usleep -.type    usleep,@function - -usleep: -	movl	4(%esp),%eax -	PIC_SAVE		# non-PIC: empty line -	PIC_INIT		# non-PIC: empty line -	xorl	%edx,%edx -	movl	$1000000,%ecx -	divl	%ecx -	imull	$1000,%edx -	pushl	%edx -	pushl	%eax -	movl	%esp,%eax -	pushl	%eax -	pushl	%eax -#ifdef __DYN_LIB -	call	nanosleep@PLT -#else -	call	nanosleep -#endif -	addl	$16,%esp -	PIC_RESTORE		# non-PIC: empty line -	ret - -.Lende: -.size    usleep,.Lende-usleep - diff --git a/mdk-stage1/dietlibc/i386/vfork.S b/mdk-stage1/dietlibc/i386/vfork.S deleted file mode 100644 index c07c5f6af..000000000 --- a/mdk-stage1/dietlibc/i386/vfork.S +++ /dev/null @@ -1,9 +0,0 @@ -.text -.globl vfork -vfork: -	popl %edx -	xorl %eax,%eax -	movb $190, %al -	int $0x80 -	jmpl *%edx -.size vfork, . - vfork diff --git a/mdk-stage1/dietlibc/i386/write12.S b/mdk-stage1/dietlibc/i386/write12.S deleted file mode 100644 index a40f63a86..000000000 --- a/mdk-stage1/dietlibc/i386/write12.S +++ /dev/null @@ -1,37 +0,0 @@ -#include "PIC.h" - -.text - -.global __write1 -.type	__write1,@function - -.global __write2 -.type	__write2,@function - -					# regparm=1, daher Stringadresse in %eax -__write2: -	clc				# CY = 0 -	.byte	0xB2			# zusammen mit nächstem Byte: mov dl,0xF9 -__write1: -	stc				# CY = 1 -	sbbl	%ecx,%ecx		# __write2: ecx=0, __write1: ecx=-1 -	incl	%ecx -	incl	%ecx			# __write2: ecx=2, __write1: ecx=1 -	xorl	%edx,%edx -	decl	%edx -.Lnext:	incl	%edx -	cmpb	%ch,(%edx,%eax)		# ch=0, da bei beiden Filedescriptoren Bits 15:8 0 sind -	jnz	.Lnext			# Stringlänge in edx, ohne eax zerstört zu haben -	PIC_SAVE		# non-PIC: empty line -	PIC_INIT		# non-PIC: empty line -	pushl	%edx -	pushl	%eax -	pushl	%ecx -#ifdef __DYN_LIB -	call	write@PLT -#else -	call	write			# alles ruf uf dn Stack und ab damit -#endif -	addl	$12,%esp		# und das leidvolle Putzen -	PIC_RESTORE		# non-PIC: empty line -	ret diff --git a/mdk-stage1/dietlibc/ia64/Makefile.add b/mdk-stage1/dietlibc/ia64/Makefile.add deleted file mode 100644 index f660930af..000000000 --- a/mdk-stage1/dietlibc/ia64/Makefile.add +++ /dev/null @@ -1,2 +0,0 @@ -VPATH:=ia64:syscalls.s:$(VPATH) -LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o diff --git a/mdk-stage1/dietlibc/ia64/README b/mdk-stage1/dietlibc/ia64/README deleted file mode 100644 index 684364d93..000000000 --- a/mdk-stage1/dietlibc/ia64/README +++ /dev/null @@ -1,4 +0,0 @@ -A Port for IA64. - -Does not yet support: clone, FPU and profiling. And includes -some subtle bugs which will hopefully be fixed later. diff --git a/mdk-stage1/dietlibc/ia64/__alarm.c b/mdk-stage1/dietlibc/ia64/__alarm.c deleted file mode 100644 index e2c499f2c..000000000 --- a/mdk-stage1/dietlibc/ia64/__alarm.c +++ /dev/null @@ -1 +0,0 @@ -#include "alpha/__alarm.c" diff --git a/mdk-stage1/dietlibc/ia64/__longjmp.S b/mdk-stage1/dietlibc/ia64/__longjmp.S deleted file mode 100644 index 698bda528..000000000 --- a/mdk-stage1/dietlibc/ia64/__longjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* No longjmp yet */ diff --git a/mdk-stage1/dietlibc/ia64/__nice.c b/mdk-stage1/dietlibc/ia64/__nice.c deleted file mode 100644 index 012ea2628..000000000 --- a/mdk-stage1/dietlibc/ia64/__nice.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <sys/resource.h> - -int nice(int x) { -  if (setpriority(PRIO_PROCESS,0,x)) return -1; -  return getpriority(PRIO_PROCESS,0); -} diff --git a/mdk-stage1/dietlibc/ia64/__testandset.S b/mdk-stage1/dietlibc/ia64/__testandset.S deleted file mode 100644 index d462e3c58..000000000 --- a/mdk-stage1/dietlibc/ia64/__testandset.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.globl __testandset -.proc  __testandset -__testandset: -	mov  ar.ccv = r0 -	mov  r29 = 1 -	ld8  r3 = [r32] -	cmpxchg8.acq  r8 = [r32], r29, ar.ccv /* cmpxchg is atomic */ -	br.ret.sptk.clr b0 -.endp __testandset -.size __testandset, . - __testandset diff --git a/mdk-stage1/dietlibc/ia64/__time.c b/mdk-stage1/dietlibc/ia64/__time.c deleted file mode 100644 index 7547acb1d..000000000 --- a/mdk-stage1/dietlibc/ia64/__time.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <time.h> -#include <sys/time.h> - -time_t time(time_t*t) { -  struct timeval tv; -  time_t ret; -  if (gettimeofday(&tv,0)) { -    ret=(time_t)-1; -  } else { -    ret=(time_t)tv.tv_sec; -  } -  if (t) *t=ret; -  return ret; -} diff --git a/mdk-stage1/dietlibc/ia64/__waitpid.c b/mdk-stage1/dietlibc/ia64/__waitpid.c deleted file mode 100644 index 8c228f375..000000000 --- a/mdk-stage1/dietlibc/ia64/__waitpid.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <sys/types.h> - -pid_t waitpid(int pid, int * wait_stat, int flags) { -  return wait4(pid, wait_stat, flags, 0); -} diff --git a/mdk-stage1/dietlibc/ia64/accept.S b/mdk-stage1/dietlibc/ia64/accept.S deleted file mode 100644 index 7bdc38c7e..000000000 --- a/mdk-stage1/dietlibc/ia64/accept.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(accept, accept); diff --git a/mdk-stage1/dietlibc/ia64/bind.S b/mdk-stage1/dietlibc/ia64/bind.S deleted file mode 100644 index 05849d470..000000000 --- a/mdk-stage1/dietlibc/ia64/bind.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(bind, bind); diff --git a/mdk-stage1/dietlibc/ia64/clone.S b/mdk-stage1/dietlibc/ia64/clone.S deleted file mode 100644 index ba768141c..000000000 --- a/mdk-stage1/dietlibc/ia64/clone.S +++ /dev/null @@ -1,41 +0,0 @@ -/* This is untested code which probably won´t work out of the box! */ - -#include "syscalls.h" -#include <errno.h> - -.text -.globl __clone -.proc  __clone -.weak  __clone2 -__clone2: -__clone: -	mov r8 = EINVAL -	cmp.eq p6,p0=0,r32      -(p6)	br.cond.spnt.few __error_unified_syscall -	cmp.eq p6,p0=0,r33      -(p6)	br.cond.spnt.few __error_unified_syscall -	flushrs - -	mov.m r17 = ar.rsc -	mov r14 = r32 -	mov r18 = r33 -	mov r16 = r36;; -	mov r15 = __NR_clone2 -	break 0x100000 -	cmp.eq p6,p0=-1,r10 -(p6)	br.cond.spnt.few __error_unified_syscall -	cmp.eq p6,p7=0,r8 -(p6)	ld8 r34=[r14],8 -(p6)	mov.m ar.bspstore=r18 -(p6)	mov r32 = r16 -	mov.m ar.rsc = r17 -(p7)	br.ret.sptk b0 -	ld8 r1 = [r14] -	mov b6 = r34 -	br.call.dptk.few b0=b6 -	mov r32 = r8 -	br.call.dptk.few b0=__error_unified_syscall -	br.ret.sptk.few b0 -.endp __clone -.endp __clone2 -.size __clone, . - __clone diff --git a/mdk-stage1/dietlibc/ia64/connect.S b/mdk-stage1/dietlibc/ia64/connect.S deleted file mode 100644 index 5fbd151ae..000000000 --- a/mdk-stage1/dietlibc/ia64/connect.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(connect, connect); diff --git a/mdk-stage1/dietlibc/ia64/fork.S b/mdk-stage1/dietlibc/ia64/fork.S deleted file mode 100644 index 3b253a80b..000000000 --- a/mdk-stage1/dietlibc/ia64/fork.S +++ /dev/null @@ -1,8 +0,0 @@ -#include "syscalls.h" - -.text -.globl fork -fork: -	mov r15 = __NR_clone -	mov r32 = 17 -	br __unified_syscall diff --git a/mdk-stage1/dietlibc/ia64/getpeername.S b/mdk-stage1/dietlibc/ia64/getpeername.S deleted file mode 100644 index fdaa1038a..000000000 --- a/mdk-stage1/dietlibc/ia64/getpeername.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpeername, getpeername); diff --git a/mdk-stage1/dietlibc/ia64/getsockname.S b/mdk-stage1/dietlibc/ia64/getsockname.S deleted file mode 100644 index 1ea0bc000..000000000 --- a/mdk-stage1/dietlibc/ia64/getsockname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockname, getsockname); diff --git a/mdk-stage1/dietlibc/ia64/getsockopt.S b/mdk-stage1/dietlibc/ia64/getsockopt.S deleted file mode 100644 index 465c4e08e..000000000 --- a/mdk-stage1/dietlibc/ia64/getsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockopt, getsockopt); diff --git a/mdk-stage1/dietlibc/ia64/listen.S b/mdk-stage1/dietlibc/ia64/listen.S deleted file mode 100644 index 66a3fe376..000000000 --- a/mdk-stage1/dietlibc/ia64/listen.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(listen, listen); diff --git a/mdk-stage1/dietlibc/ia64/mmap.S b/mdk-stage1/dietlibc/ia64/mmap.S deleted file mode 100644 index cca4bbdbb..000000000 --- a/mdk-stage1/dietlibc/ia64/mmap.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall (mmap, mmap) diff --git a/mdk-stage1/dietlibc/ia64/msgctl.S b/mdk-stage1/dietlibc/ia64/msgctl.S deleted file mode 100644 index d7caed2cc..000000000 --- a/mdk-stage1/dietlibc/ia64/msgctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgctl,msgctl) diff --git a/mdk-stage1/dietlibc/ia64/msgget.S b/mdk-stage1/dietlibc/ia64/msgget.S deleted file mode 100644 index 518d67ac4..000000000 --- a/mdk-stage1/dietlibc/ia64/msgget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgget,msgget) diff --git a/mdk-stage1/dietlibc/ia64/msgrcv.S b/mdk-stage1/dietlibc/ia64/msgrcv.S deleted file mode 100644 index ab62e6c30..000000000 --- a/mdk-stage1/dietlibc/ia64/msgrcv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgrcv,msgrcv) diff --git a/mdk-stage1/dietlibc/ia64/msgsnd.S b/mdk-stage1/dietlibc/ia64/msgsnd.S deleted file mode 100644 index 890a996a2..000000000 --- a/mdk-stage1/dietlibc/ia64/msgsnd.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgsnd,msgsnd) diff --git a/mdk-stage1/dietlibc/ia64/pipe.S b/mdk-stage1/dietlibc/ia64/pipe.S deleted file mode 100644 index c3bf4570b..000000000 --- a/mdk-stage1/dietlibc/ia64/pipe.S +++ /dev/null @@ -1,20 +0,0 @@ -#include "syscalls.h" - -.text -.globl pipe -.proc  pipe - -pipe: -	st8  [r12] = r32 -	mov   r15  = __NR_pipe -	break.i  0x100000 -	ld8 r2 = [r12] -	cmp.eq p7,p6=-1,r10 -(p6)	st4 [r2] = r8,4 -	mov r8 = r0 -(p7)	br.cond.spnt.few __error_unified_syscall -(p6)	st4 [r2] = r9 -(p6)	br.ret.sptk.few b0 - -.endp pipe -.size pipe, . - pipe diff --git a/mdk-stage1/dietlibc/ia64/recv.S b/mdk-stage1/dietlibc/ia64/recv.S deleted file mode 100644 index 1f1640390..000000000 --- a/mdk-stage1/dietlibc/ia64/recv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recv, recv); diff --git a/mdk-stage1/dietlibc/ia64/recvfrom.S b/mdk-stage1/dietlibc/ia64/recvfrom.S deleted file mode 100644 index d3c2e602f..000000000 --- a/mdk-stage1/dietlibc/ia64/recvfrom.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recvfrom, recvfrom); diff --git a/mdk-stage1/dietlibc/ia64/recvmsg.S b/mdk-stage1/dietlibc/ia64/recvmsg.S deleted file mode 100644 index cfbbafdc1..000000000 --- a/mdk-stage1/dietlibc/ia64/recvmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recvmsg, recvmsg); diff --git a/mdk-stage1/dietlibc/ia64/semctl.S b/mdk-stage1/dietlibc/ia64/semctl.S deleted file mode 100644 index e215ed955..000000000 --- a/mdk-stage1/dietlibc/ia64/semctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semctl,semctl) diff --git a/mdk-stage1/dietlibc/ia64/semget.S b/mdk-stage1/dietlibc/ia64/semget.S deleted file mode 100644 index 67f488546..000000000 --- a/mdk-stage1/dietlibc/ia64/semget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semget,semget) diff --git a/mdk-stage1/dietlibc/ia64/semop.S b/mdk-stage1/dietlibc/ia64/semop.S deleted file mode 100644 index 81b6fc606..000000000 --- a/mdk-stage1/dietlibc/ia64/semop.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semop,semop) diff --git a/mdk-stage1/dietlibc/ia64/send.S b/mdk-stage1/dietlibc/ia64/send.S deleted file mode 100644 index 38f47f398..000000000 --- a/mdk-stage1/dietlibc/ia64/send.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(send, send); diff --git a/mdk-stage1/dietlibc/ia64/sendmsg.S b/mdk-stage1/dietlibc/ia64/sendmsg.S deleted file mode 100644 index c2bc80f72..000000000 --- a/mdk-stage1/dietlibc/ia64/sendmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sendmsg, sendmsg); diff --git a/mdk-stage1/dietlibc/ia64/sendto.S b/mdk-stage1/dietlibc/ia64/sendto.S deleted file mode 100644 index 1579a3b45..000000000 --- a/mdk-stage1/dietlibc/ia64/sendto.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sendto, sendto); diff --git a/mdk-stage1/dietlibc/ia64/setjmp.S b/mdk-stage1/dietlibc/ia64/setjmp.S deleted file mode 100644 index f0f5bc431..000000000 --- a/mdk-stage1/dietlibc/ia64/setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* No, I am not going to save 128 registers */ diff --git a/mdk-stage1/dietlibc/ia64/setsockopt.S b/mdk-stage1/dietlibc/ia64/setsockopt.S deleted file mode 100644 index 45fcfbb6c..000000000 --- a/mdk-stage1/dietlibc/ia64/setsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setsockopt, setsockopt); diff --git a/mdk-stage1/dietlibc/ia64/shmat.S b/mdk-stage1/dietlibc/ia64/shmat.S deleted file mode 100644 index 51248173d..000000000 --- a/mdk-stage1/dietlibc/ia64/shmat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmat,shmat) diff --git a/mdk-stage1/dietlibc/ia64/shmctl.S b/mdk-stage1/dietlibc/ia64/shmctl.S deleted file mode 100644 index d56caace4..000000000 --- a/mdk-stage1/dietlibc/ia64/shmctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmctl,shmctl) diff --git a/mdk-stage1/dietlibc/ia64/shmdt.S b/mdk-stage1/dietlibc/ia64/shmdt.S deleted file mode 100644 index d9812a799..000000000 --- a/mdk-stage1/dietlibc/ia64/shmdt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmdt,shmdt) diff --git a/mdk-stage1/dietlibc/ia64/shmget.S b/mdk-stage1/dietlibc/ia64/shmget.S deleted file mode 100644 index 82914223f..000000000 --- a/mdk-stage1/dietlibc/ia64/shmget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmget,shmget) diff --git a/mdk-stage1/dietlibc/ia64/shutdown.S b/mdk-stage1/dietlibc/ia64/shutdown.S deleted file mode 100644 index 024e99e18..000000000 --- a/mdk-stage1/dietlibc/ia64/shutdown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shutdown, shutdown); diff --git a/mdk-stage1/dietlibc/ia64/socket.S b/mdk-stage1/dietlibc/ia64/socket.S deleted file mode 100644 index cc453881f..000000000 --- a/mdk-stage1/dietlibc/ia64/socket.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socket, socket); diff --git a/mdk-stage1/dietlibc/ia64/socketpair.S b/mdk-stage1/dietlibc/ia64/socketpair.S deleted file mode 100644 index d92eaa4d8..000000000 --- a/mdk-stage1/dietlibc/ia64/socketpair.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socketpair, socketpair); diff --git a/mdk-stage1/dietlibc/ia64/start.S b/mdk-stage1/dietlibc/ia64/start.S deleted file mode 100644 index dbacb25f6..000000000 --- a/mdk-stage1/dietlibc/ia64/start.S +++ /dev/null @@ -1,45 +0,0 @@ -/* -  Copyright (C) 2002 Thomas M. Ogrisegg - -  This is free software. You can redistribute and -  modify it under the terms of the GNU General Public -  Public License. - -  This file is part of the IA64-Port of the dietlibc - -  start.S -    Implemenation of the _start startup function -*/ - -.psr abi64 -.psr lsb -.lsb - -.text -.globl _start -.proc  _start - -_start: -	alloc r2 = ar.pfs,0,0,7,0 -	adds out1 = 16, sp    /* base arguments */ -	movl gp = @gprel(0f)  /* base offset */ -	;; -0:	 -	ld8 out0 = [out1], 8  /* load argc and set argv */ -	mov r9 = ip -	;; -	shladd out2=out0,3,out1	/* envp = argv+8*argc */ -	sub gp = r9, gp       /* subtract program counter */ -	;; -	addl r15 = @ltoff(environ#), gp /* offset to environ */ -	adds out2 = 8, out2	/* envp += 8 */ -	;; -	ld8  r14 = [r15] -	;; -	st8  [r14] = out2           /* store envp in environ */ -	br.call.sptk.few rp = main  /* call main */ -	;; -	mov r32 = r8                /* store return code */ -	br _exit                    /* branch to _exit */ -.endp _start -.size _start, . - _start diff --git a/mdk-stage1/dietlibc/ia64/syscalls.h b/mdk-stage1/dietlibc/ia64/syscalls.h deleted file mode 100644 index 65eda0ed2..000000000 --- a/mdk-stage1/dietlibc/ia64/syscalls.h +++ /dev/null @@ -1,242 +0,0 @@ -#ifndef __DLIBC_SYSCALL_H_ -#define __DLIBC_SYSCALL_H_ - -#define __NR_ni_syscall			1024 -#define __NR_exit			1025 -#define __NR_read			1026 -#define __NR_write			1027 -#define __NR_open			1028 -#define __NR_close			1029 -#define __NR_creat			1030 -#define __NR_link			1031 -#define __NR_unlink			1032 -#define __NR_execve			1033 -#define __NR_chdir			1034 -#define __NR_fchdir			1035 -#define __NR_utimes			1036 -#define __NR_mknod			1037 -#define __NR_chmod			1038 -#define __NR_chown			1039 -#define __NR_lseek			1040 -#define __NR_getpid			1041 -#define __NR_getppid			1042 -#define __NR_mount			1043 -#define __NR_umount			1044 -#define __NR_setuid			1045 -#define __NR_getuid			1046 -#define __NR_geteuid			1047 -#define __NR_ptrace			1048 -#define __NR_access			1049 -#define __NR_sync			1050 -#define __NR_fsync			1051 -#define __NR_fdatasync			1052 -#define __NR_kill			1053 -#define __NR_rename			1054 -#define __NR_mkdir			1055 -#define __NR_rmdir			1056 -#define __NR_dup			1057 -#define __NR_pipe			1058 -#define __NR_times			1059 -#define __NR_brk			1060 -#define __NR_setgid			1061 -#define __NR_getgid			1062 -#define __NR_getegid			1063 -#define __NR_acct			1064 -#define __NR_ioctl			1065 -#define __NR_fcntl			1066 -#define __NR_umask			1067 -#define __NR_chroot			1068 -#define __NR_ustat			1069 -#define __NR_dup2			1070 -#define __NR_setreuid			1071 -#define __NR_setregid			1072 -#define __NR_getresuid			1073 -#define __NR_setresuid			1074 -#define __NR_getresgid			1075 -#define __NR_setresgid			1076 -#define __NR_getgroups			1077 -#define __NR_setgroups			1078 -#define __NR_getpgid			1079 -#define __NR_setpgid			1080 -#define __NR_setsid			1081 -#define __NR_getsid			1082 -#define __NR_sethostname		1083 -#define __NR_setrlimit			1084 -#define __NR_getrlimit			1085 -#define __NR_getrusage			1086 -#define __NR_gettimeofday		1087 -#define __NR_settimeofday		1088 -#define __NR_select			1089 -#define __NR_poll			1090 -#define __NR_symlink			1091 -#define __NR_readlink			1092 -#define __NR_uselib			1093 -#define __NR_swapon			1094 -#define __NR_swapoff			1095 -#define __NR_reboot			1096 -#define __NR_truncate			1097 -#define __NR_ftruncate			1098 -#define __NR_fchmod			1099 -#define __NR_fchown			1100 -#define __NR_getpriority		1101 -#define __NR_setpriority		1102 -#define __NR_statfs			1103 -#define __NR_fstatfs			1104 -#define __NR_gettid			1105 -#define __NR_semget			1106 -#define __NR_semop			1107 -#define __NR_semctl			1108 -#define __NR_msgget			1109 -#define __NR_msgsnd			1110 -#define __NR_msgrcv			1111 -#define __NR_msgctl			1112 -#define __NR_shmget			1113 -#define __NR_shmat			1114 -#define __NR_shmdt			1115 -#define __NR_shmctl			1116 -#define __NR_syslog			1117 -#define __NR_setitimer			1118 -#define __NR_getitimer			1119 -#define __NR_old_stat			1120 -#define __NR_old_lstat			1121 -#define __NR_old_fstat			1122 -#define __NR_vhangup			1123 -#define __NR_lchown			1124 -#define __NR_vm86			1125 -#define __NR_wait4			1126 -#define __NR_sysinfo			1127 -#define __NR_clone			1128 -#define __NR_setdomainname		1129 -#define __NR_uname			1130 -#define __NR_adjtimex			1131 -#define __NR_create_module		1132 -#define __NR_init_module		1133 -#define __NR_delete_module		1134 -#define __NR_get_kernel_syms		1135 -#define __NR_query_module		1136 -#define __NR_quotactl			1137 -#define __NR_bdflush			1138 -#define __NR_sysfs			1139 -#define __NR_personality		1140 -#define __NR_afs_syscall		1141 -#define __NR_setfsuid			1142 -#define __NR_setfsgid			1143 -#define __NR_getdents			1144 -#define __NR_flock			1145 -#define __NR_readv			1146 -#define __NR_writev			1147 -#define __NR_pread			1148 -#define __NR_pwrite			1149 -#define __NR__sysctl			1150 -#define __NR_mmap			1151 -#define __NR_munmap			1152 -#define __NR_mlock			1153 -#define __NR_mlockall			1154 -#define __NR_mprotect			1155 -#define __NR_mremap			1156 -#define __NR_msync			1157 -#define __NR_munlock			1158 -#define __NR_munlockall			1159 -#define __NR_sched_getparam		1160 -#define __NR_sched_setparam		1161 -#define __NR_sched_getscheduler		1162 -#define __NR_sched_setscheduler		1163 -#define __NR_sched_yield		1164 -#define __NR_sched_get_priority_max	1165 -#define __NR_sched_get_priority_min	1166 -#define __NR_sched_rr_get_interval	1167 -#define __NR_nanosleep			1168 -#define __NR_nfsservctl			1169 -#define __NR_prctl			1170 -#define __NR_mmap2			1172 -#define __NR_pciconfig_read		1173 -#define __NR_pciconfig_write		1174 -#define __NR_perfmonctl			1175 -#define __NR_sigaltstack		1176 -#define __NR_rt_sigaction		1177 -#define __NR_rt_sigpending		1178 -#define __NR_rt_sigprocmask		1179 -#define __NR_rt_sigqueueinfo		1180 -#define __NR_rt_sigreturn		1181 -#define __NR_rt_sigsuspend		1182 -#define __NR_rt_sigtimedwait		1183 -#define __NR_getcwd			1184 -#define __NR_capget			1185 -#define __NR_capset			1186 -#define __NR_sendfile			1187 -#define __NR_getpmsg			1188 -#define __NR_putpmsg			1189 -#define __NR_socket			1190 -#define __NR_bind			1191 -#define __NR_connect			1192 -#define __NR_listen			1193 -#define __NR_accept			1194 -#define __NR_getsockname		1195 -#define __NR_getpeername		1196 -#define __NR_socketpair			1197 -#define __NR_send			1198 -#define __NR_sendto			1199 -#define __NR_recv			1200 -#define __NR_recvfrom			1201 -#define __NR_shutdown			1202 -#define __NR_setsockopt			1203 -#define __NR_getsockopt			1204 -#define __NR_sendmsg			1205 -#define __NR_recvmsg			1206 -#define __NR_pivot_root			1207 -#define __NR_mincore			1208 -#define __NR_madvise			1209 -#define __NR_stat			1210 -#define __NR_lstat			1211 -#define __NR_fstat			1212 -#define __NR_clone2			1213 -#define __NR_getdents64			1214 -#define __NR_getunwind			1215 -#define __NR_readahead			1216 -#define __NR_setxattr			1217 -#define __NR_lsetxattr			1218 -#define __NR_fsetxattr			1219 -#define __NR_getxattr			1220 -#define __NR_lgetxattr			1221 -#define __NR_fgetxattr			1222 -#define __NR_listxattr			1223 -#define __NR_llistxattr			1224 -#define __NR_flistxattr			1225 -#define __NR_removexattr		1226 -#define __NR_lremovexattr		1227 -#define __NR_fremovexattr		1228 -#define __NR_tkill			1229 -#define __NR_futex			1230 -#define __NR_sched_setaffinity		1231 -#define __NR_sched_getaffinity		1232 -#define __NR_security			1233 -#define __NR_alloc_hugepages		1234 -#define __NR_free_hugepages		1235 -#define __NR_exit_group			1236 -#define __NR_lookup_dcookie		1237 -#define __NR_io_setup			1238 -#define __NR_io_destroy			1239 -#define __NR_io_getevents		1240 -#define __NR_io_submit			1241 -#define __NR_io_cancel			1242 -#define __NR_epoll_create		1243 -#define __NR_epoll_ctl			1244 -#define __NR_epoll_wait			1245 - -#define syscall(name, sym) \ -.text; \ -.globl sym; \ -sym: \ -	mov r15 = __NR_##name; \ -	br __unified_syscall; - -#define syscall_weak(name, sym, wsym) \ -.text; \ -.weak wsym; \ -wsym: \ -.globl sym; \ -sym: \ -	mov r15 = __NR_##name; \ -	br __unified_syscall; - -#endif diff --git a/mdk-stage1/dietlibc/ia64/unified.S b/mdk-stage1/dietlibc/ia64/unified.S deleted file mode 100644 index 998fba75e..000000000 --- a/mdk-stage1/dietlibc/ia64/unified.S +++ /dev/null @@ -1,46 +0,0 @@ -/* -   Copyright (C) 2002 Thomas M. Ogrisegg - -  This is free software. You can redistribute and -  modify it under the terms of the GNU General Public -  Public License. - -  This file is part of the ia64-Port of dietlibc - -  unified.S -    General system-call interface -*/ - -.lsb - -.text - -.globl __unified_syscall -.proc  __unified_syscall -.globl __error_unified_syscall -.proc  __error_unified_syscall -.globl _exit -.proc  _exit - -_exit: -	mov r15 = 1025 -.endp _exit -.size _exit, . - _exit - -__unified_syscall: -	break.i 0x100000 -	movl r2=errno -	cmp.eq p6,p0=-1,r10 -	;; -__error_unified_syscall: -(p6)    st4 [r2]=r8 -(p6)    mov r8=-1 - -#include "dietuglyweaks.h" - -	br.ret.sptk.few rp - -.endp __unified_syscall -.endp __error_unified_syscall -.size __unified_syscall, __error_unified_syscall - __unified_syscall -.size __error_unified_syscall, . - __error_unified_syscall diff --git a/mdk-stage1/dietlibc/ia64/utime.S b/mdk-stage1/dietlibc/ia64/utime.S deleted file mode 100644 index a9a8aada6..000000000 --- a/mdk-stage1/dietlibc/ia64/utime.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(utimes,utime) diff --git a/mdk-stage1/dietlibc/ia64/vfork.S b/mdk-stage1/dietlibc/ia64/vfork.S deleted file mode 100644 index e59f04364..000000000 --- a/mdk-stage1/dietlibc/ia64/vfork.S +++ /dev/null @@ -1,8 +0,0 @@ -#include "syscalls.h" - -.text -.globl vfork -vfork: -	mov r15 = __NR_clone -	mov r32 = 16657 -	br __unified_syscall diff --git a/mdk-stage1/dietlibc/include/alloca.h b/mdk-stage1/dietlibc/include/alloca.h deleted file mode 100644 index 41f92354f..000000000 --- a/mdk-stage1/dietlibc/include/alloca.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef _ALLOCA_H -#define _ALLOCA_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -#ifdef __GNUC__ -#define alloca(x) __builtin_alloca(x) -#else -void *alloca(size_t size) __THROW; -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/arpa/inet.h b/mdk-stage1/dietlibc/include/arpa/inet.h deleted file mode 100644 index bb278d399..000000000 --- a/mdk-stage1/dietlibc/include/arpa/inet.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _ARPA_INET_H -#define _ARPA_INET_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <netinet/in.h> - -int inet_aton(const char *cp, struct in_addr *inp) __THROW; -unsigned long int inet_addr(const char *cp) __THROW; -unsigned long int inet_network(const char *cp) __THROW; -char *inet_ntoa(struct in_addr in) __THROW; -char *inet_ntoa_r(struct in_addr in,char* buf) __THROW; -struct in_addr inet_makeaddr(int net, int host) __THROW; -unsigned long int inet_lnaof(struct in_addr in) __THROW; -unsigned long int inet_netof(struct in_addr in) __THROW; - -int inet_pton (int AF, const char* CP, void* BUF) __THROW; -const char* inet_ntop (int AF, const void* CP, char* BUF, size_t LEN) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/arpa/nameser.h b/mdk-stage1/dietlibc/include/arpa/nameser.h deleted file mode 100644 index 9327006b0..000000000 --- a/mdk-stage1/dietlibc/include/arpa/nameser.h +++ /dev/null @@ -1,253 +0,0 @@ -#ifndef _ARPA_NAMESER_H -#define _ARPA_NAMESER_H - -#include <endian.h> - -#define NS_PACKETSZ	512	/* maximum packet size */ -#define NS_MAXDNAME	1025	/* maximum domain name */ -#define NS_MAXCDNAME	255	/* maximum compressed domain name */ -#define NS_MAXLABEL	63	/* maximum length of domain label */ -#define NS_HFIXEDSZ	12	/* #/bytes of fixed data in header */ -#define NS_QFIXEDSZ	4	/* #/bytes of fixed data in query */ -#define NS_RRFIXEDSZ	10	/* #/bytes of fixed data in r record */ -#define NS_INT32SZ	4	/* #/bytes of data in a u_int32_t */ -#define NS_INT16SZ	2	/* #/bytes of data in a u_int16_t */ -#define NS_INT8SZ	1	/* #/bytes of data in a u_int8_t */ -#define NS_INADDRSZ	4	/* IPv4 T_A */ -#define NS_IN6ADDRSZ	16	/* IPv6 T_AAAA */ -#define NS_CMPRSFLGS	0xc0	/* Flag bits indicating name compression. */ -#define NS_DEFAULTPORT	53	/* For both TCP and UDP. */ - -/* - * Currently defined type values for resources and queries. - */ -typedef enum __ns_type { -	ns_t_invalid = 0,	/* Cookie. */ -	ns_t_a = 1,		/* Host address. */ -	ns_t_ns = 2,		/* Authoritative server. */ -	ns_t_md = 3,		/* Mail destination. */ -	ns_t_mf = 4,		/* Mail forwarder. */ -	ns_t_cname = 5,		/* Canonical name. */ -	ns_t_soa = 6,		/* Start of authority zone. */ -	ns_t_mb = 7,		/* Mailbox domain name. */ -	ns_t_mg = 8,		/* Mail group member. */ -	ns_t_mr = 9,		/* Mail rename name. */ -	ns_t_null = 10,		/* Null resource record. */ -	ns_t_wks = 11,		/* Well known service. */ -	ns_t_ptr = 12,		/* Domain name pointer. */ -	ns_t_hinfo = 13,	/* Host information. */ -	ns_t_minfo = 14,	/* Mailbox information. */ -	ns_t_mx = 15,		/* Mail routing information. */ -	ns_t_txt = 16,		/* Text strings. */ -	ns_t_rp = 17,		/* Responsible person. */ -	ns_t_afsdb = 18,	/* AFS cell database. */ -	ns_t_x25 = 19,		/* X_25 calling address. */ -	ns_t_isdn = 20,		/* ISDN calling address. */ -	ns_t_rt = 21,		/* Router. */ -	ns_t_nsap = 22,		/* NSAP address. */ -	ns_t_nsap_ptr = 23,	/* Reverse NSAP lookup (deprecated). */ -	ns_t_sig = 24,		/* Security signature. */ -	ns_t_key = 25,		/* Security key. */ -	ns_t_px = 26,		/* X.400 mail mapping. */ -	ns_t_gpos = 27,		/* Geographical position (withdrawn). */ -	ns_t_aaaa = 28,		/* Ip6 Address. */ -	ns_t_loc = 29,		/* Location Information. */ -	ns_t_nxt = 30,		/* Next domain (security). */ -	ns_t_eid = 31,		/* Endpoint identifier. */ -	ns_t_nimloc = 32,	/* Nimrod Locator. */ -	ns_t_srv = 33,		/* Server Selection. */ -	ns_t_atma = 34,		/* ATM Address */ -	ns_t_naptr = 35,	/* Naming Authority PoinTeR */ -	ns_t_kx = 36,		/* Key Exchange */ -	ns_t_cert = 37,		/* Certification record */ -	ns_t_a6 = 38,		/* IPv6 address (deprecates AAAA) */ -	ns_t_dname = 39,	/* Non-terminal DNAME (for IPv6) */ -	ns_t_sink = 40,		/* Kitchen sink (experimentatl) */ -	ns_t_opt = 41,		/* EDNS0 option (meta-RR) */ -	ns_t_tsig = 250,	/* Transaction signature. */ -	ns_t_ixfr = 251,	/* Incremental zone transfer. */ -	ns_t_axfr = 252,	/* Transfer zone of authority. */ -	ns_t_mailb = 253,	/* Transfer mailbox records. */ -	ns_t_maila = 254,	/* Transfer mail agent records. */ -	ns_t_any = 255,		/* Wildcard match. */ -	ns_t_zxfr = 256,	/* BIND-specific, nonstandard. */ -	ns_t_max = 65536 -} ns_type; - -/* - * Values for class field - */ -typedef enum __ns_class { -	ns_c_invalid = 0,	/* Cookie. */ -	ns_c_in = 1,		/* Internet. */ -	ns_c_2 = 2,		/* unallocated/unsupported. */ -	ns_c_chaos = 3,		/* MIT Chaos-net. */ -	ns_c_hs = 4,		/* MIT Hesiod. */ -	/* Query class values which do not appear in resource records */ -	ns_c_none = 254,	/* for prereq. sections in update requests */ -	ns_c_any = 255,		/* Wildcard match. */ -	ns_c_max = 65536 -} ns_class; - -/* - * Currently defined opcodes. - */ -typedef enum __ns_opcode { -	ns_o_query = 0,		/* Standard query. */ -	ns_o_iquery = 1,	/* Inverse query (deprecated/unsupported). */ -	ns_o_status = 2,	/* Name server status query (unsupported). */ -				/* Opcode 3 is undefined/reserved. */ -	ns_o_notify = 4,	/* Zone change notification. */ -	ns_o_update = 5,	/* Zone update message. */ -	ns_o_max = 6 -} ns_opcode; - -/* - * Currently defined response codes. - */ -typedef	enum __ns_rcode { -	ns_r_noerror = 0,	/* No error occurred. */ -	ns_r_formerr = 1,	/* Format error. */ -	ns_r_servfail = 2,	/* Server failure. */ -	ns_r_nxdomain = 3,	/* Name error. */ -	ns_r_notimpl = 4,	/* Unimplemented. */ -	ns_r_refused = 5,	/* Operation refused. */ -	/* these are for BIND_UPDATE */ -	ns_r_yxdomain = 6,	/* Name exists */ -	ns_r_yxrrset = 7,	/* RRset exists */ -	ns_r_nxrrset = 8,	/* RRset does not exist */ -	ns_r_notauth = 9,	/* Not authoritative for zone */ -	ns_r_notzone = 10,	/* Zone of record different from zone section */ -	ns_r_max = 11, -	/* The following are TSIG extended errors */ -	ns_r_badsig = 16, -	ns_r_badkey = 17, -	ns_r_badtime = 18 -} ns_rcode; - -typedef struct { -        unsigned        id :16;         /* query identification number */ -#if BYTE_ORDER == BIG_ENDIAN -                        /* fields in third byte */ -        unsigned        qr: 1;          /* response flag */ -        unsigned        opcode: 4;      /* purpose of message */ -        unsigned        aa: 1;          /* authoritive answer */ -        unsigned        tc: 1;          /* truncated message */ -        unsigned        rd: 1;          /* recursion desired */ -                        /* fields in fourth byte */ -        unsigned        ra: 1;          /* recursion available */ -        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */ -        unsigned        ad: 1;          /* authentic data from named */ -        unsigned        cd: 1;          /* checking disabled by resolver */ -        unsigned        rcode :4;       /* response code */ -#endif -#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN -                        /* fields in third byte */ -        unsigned        rd :1;          /* recursion desired */ -        unsigned        tc :1;          /* truncated message */ -        unsigned        aa :1;          /* authoritive answer */ -        unsigned        opcode :4;      /* purpose of message */ -        unsigned        qr :1;          /* response flag */ -                        /* fields in fourth byte */ -        unsigned        rcode :4;       /* response code */ -        unsigned        cd: 1;          /* checking disabled by resolver */ -        unsigned        ad: 1;          /* authentic data from named */ -        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */ -        unsigned        ra :1;          /* recursion available */ -#endif -                        /* remaining bytes */ -        unsigned        qdcount :16;    /* number of question entries */ -        unsigned        ancount :16;    /* number of answer entries */ -        unsigned        nscount :16;    /* number of authority entries */ -        unsigned        arcount :16;    /* number of resource entries */ -} HEADER; - -#define PACKETSZ        NS_PACKETSZ -#define MAXDNAME        NS_MAXDNAME -#define MAXCDNAME       NS_MAXCDNAME -#define MAXLABEL        NS_MAXLABEL -#define HFIXEDSZ        NS_HFIXEDSZ -#define QFIXEDSZ        NS_QFIXEDSZ -#define RRFIXEDSZ       NS_RRFIXEDSZ -#define INT32SZ         NS_INT32SZ -#define INT16SZ         NS_INT16SZ -#define INADDRSZ        NS_INADDRSZ -#define IN6ADDRSZ       NS_IN6ADDRSZ -#define INDIR_MASK      NS_CMPRSFLGS -#define NAMESERVER_PORT NS_DEFAULTPORT - -#define S_ZONE          ns_s_zn -#define S_PREREQ        ns_s_pr -#define S_UPDATE        ns_s_ud -#define S_ADDT          ns_s_ar - -#define QUERY           ns_o_query -#define IQUERY          ns_o_iquery -#define STATUS          ns_o_status -#define NS_NOTIFY_OP    ns_o_notify -#define NS_UPDATE_OP    ns_o_update - -#define NOERROR         ns_r_noerror -#define FORMERR         ns_r_formerr -#define SERVFAIL        ns_r_servfail -#define NXDOMAIN        ns_r_nxdomain -#define NOTIMP          ns_r_notimpl -#define REFUSED         ns_r_refused -#define YXDOMAIN        ns_r_yxdomain -#define YXRRSET         ns_r_yxrrset -#define NXRRSET         ns_r_nxrrset -#define NOTAUTH         ns_r_notauth -#define NOTZONE         ns_r_notzone - -#define DELETE          ns_uop_delete -#define ADD             ns_uop_add - -#define T_A             ns_t_a -#define T_NS            ns_t_ns -#define T_MD            ns_t_md -#define T_MF            ns_t_mf -#define T_CNAME         ns_t_cname -#define T_SOA           ns_t_soa -#define T_MB            ns_t_mb -#define T_MG            ns_t_mg -#define T_MR            ns_t_mr -#define T_NULL          ns_t_null -#define T_WKS           ns_t_wks -#define T_PTR           ns_t_ptr -#define T_HINFO         ns_t_hinfo -#define T_MINFO         ns_t_minfo -#define T_MX            ns_t_mx -#define T_TXT           ns_t_txt -#define T_RP            ns_t_rp -#define T_AFSDB         ns_t_afsdb -#define T_X25           ns_t_x25 -#define T_ISDN          ns_t_isdn -#define T_RT            ns_t_rt -#define T_NSAP          ns_t_nsap -#define T_NSAP_PTR      ns_t_nsap_ptr -#define T_SIG           ns_t_sig -#define T_KEY           ns_t_key -#define T_PX            ns_t_px -#define T_GPOS          ns_t_gpos -#define T_AAAA          ns_t_aaaa -#define T_LOC           ns_t_loc -#define T_NXT           ns_t_nxt -#define T_EID           ns_t_eid -#define T_NIMLOC        ns_t_nimloc -#define T_SRV           ns_t_srv -#define T_ATMA          ns_t_atma -#define T_NAPTR         ns_t_naptr -#define T_TSIG          ns_t_tsig -#define T_IXFR          ns_t_ixfr -#define T_AXFR          ns_t_axfr -#define T_MAILB         ns_t_mailb -#define T_MAILA         ns_t_maila -#define T_ANY           ns_t_any - -#define C_IN            ns_c_in -#define C_CHAOS         ns_c_chaos -#define C_HS            ns_c_hs -#define C_NONE          ns_c_none -#define C_ANY           ns_c_any - -#endif diff --git a/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h b/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h deleted file mode 100644 index 13faab0b5..000000000 --- a/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h +++ /dev/null @@ -1,29 +0,0 @@ -struct sigcontext { -	/* -	 * What should we have here? I'd probably better use the same -	 * stack layout as OSF/1, just in case we ever want to try -	 * running their binaries..  -	 * -	 * This is the basic layout, but I don't know if we'll ever -	 * actually fill in all the values.. -	 */ -	 long		sc_onstack; -	 long		sc_mask; -	 long		sc_pc; -	 long		sc_ps; -	 long		sc_regs[32]; -	 long		sc_ownedfp; -	 long		sc_fpregs[32]; -	 unsigned long	sc_fpcr; -	 unsigned long	sc_fp_control; -	 unsigned long	sc_reserved1, sc_reserved2; -	 unsigned long	sc_ssize; -	 char *		sc_sbase; -	 unsigned long	sc_traparg_a0; -	 unsigned long	sc_traparg_a1; -	 unsigned long	sc_traparg_a2; -	 unsigned long	sc_fp_trap_pc; -	 unsigned long	sc_fp_trigger_sum; -	 unsigned long	sc_fp_trigger_inst; -}; - diff --git a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h b/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h deleted file mode 100644 index 26fa04e64..000000000 --- a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h +++ /dev/null @@ -1,32 +0,0 @@ - -#define PC(ctx) (ctx.arm_pc) - -/* - * Signal context structure - contains all info to do with the state - * before the signal handler was invoked.  Note: only add new entries - * to the end of the structure. - */ -struct sigcontext { -	unsigned long trap_no; -	unsigned long error_code; -	unsigned long oldmask; -	unsigned long arm_r0; -	unsigned long arm_r1; -	unsigned long arm_r2; -	unsigned long arm_r3; -	unsigned long arm_r4; -	unsigned long arm_r5; -	unsigned long arm_r6; -	unsigned long arm_r7; -	unsigned long arm_r8; -	unsigned long arm_r9; -	unsigned long arm_r10; -	unsigned long arm_fp; -	unsigned long arm_ip; -	unsigned long arm_sp; -	unsigned long arm_lr; -	unsigned long arm_pc; -	unsigned long arm_cpsr; -	unsigned long fault_address; -}; - diff --git a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h b/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h deleted file mode 100644 index e830b9b97..000000000 --- a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h +++ /dev/null @@ -1,66 +0,0 @@ - -struct _fpreg { -	unsigned short significand[4]; -	unsigned short exponent; -}; - -struct _fpxreg { -	unsigned short significand[4]; -	unsigned short exponent; -	unsigned short padding[3]; -}; - -struct _xmmreg { -	unsigned long element[4]; -}; - -struct _fpstate { -	/* Regular FPU environment */ -	unsigned long 	cw; -	unsigned long	sw; -	unsigned long	tag; -	unsigned long	ipoff; -	unsigned long	cssel; -	unsigned long	dataoff; -	unsigned long	datasel; -	struct _fpreg	_st[8]; -	unsigned short	status; -	unsigned short	magic;		/* 0xffff = regular FPU data only */ - -	/* FXSR FPU environment */ -	unsigned long	_fxsr_env[6];	/* FXSR FPU env is ignored */ -	unsigned long	mxcsr; -	unsigned long	reserved; -	struct _fpxreg	_fxsr_st[8];	/* FXSR FPU reg data is ignored */ -	struct _xmmreg	_xmm[8]; -	unsigned long	padding[56]; -}; - -#define X86_FXSR_MAGIC		0x0000 -#define PC(ctx) (ctx.eip) - -struct sigcontext { -	unsigned short gs, __gsh; -	unsigned short fs, __fsh; -	unsigned short es, __esh; -	unsigned short ds, __dsh; -	unsigned long edi; -	unsigned long esi; -	unsigned long ebp; -	unsigned long esp; -	unsigned long ebx; -	unsigned long edx; -	unsigned long ecx; -	unsigned long eax; -	unsigned long trapno; -	unsigned long err; -	unsigned long eip; -	unsigned short cs, __csh; -	unsigned long eflags; -	unsigned long esp_at_signal; -	unsigned short ss, __ssh; -	struct _fpstate * fpstate; -	unsigned long oldmask; -	unsigned long cr2; -}; - diff --git a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h deleted file mode 100644 index ebab3c8f4..000000000 --- a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h +++ /dev/null @@ -1,25 +0,0 @@ -#include <sys/ptrace.h> - -#define PC(ctx) (ctx.sc_ip) - -struct sigcontext { -	unsigned long		sc_flags; -	unsigned long		sc_nat; -	stack_t			sc_stack; -	unsigned long		sc_ip; -	unsigned long		sc_cfm; -	unsigned long		sc_um; -	unsigned long		sc_ar_rsc; -	unsigned long		sc_ar_bsp; -	unsigned long		sc_ar_rnat; -	unsigned long		sc_ar_ccv; -	unsigned long		sc_ar_unat; -	unsigned long		sc_ar_fpsr; -	unsigned long		sc_ar_pfs; -	unsigned long		sc_ar_lc; -	unsigned long		sc_pr; -	unsigned long		sc_br[8]; -	unsigned long		sc_gr[32]; -	struct ia64_fpreg	sc_fr[128]; -	sigset_t		sc_mask; -}; diff --git a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h b/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h deleted file mode 100644 index 1210abf31..000000000 --- a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h +++ /dev/null @@ -1,23 +0,0 @@ - -/* - * Keep this struct definition in sync with the sigcontext fragment - * in arch/mips/tools/offset.c - */ -struct sigcontext { -	unsigned int       sc_regmask;		/* Unused */ -	unsigned int       sc_status; -	unsigned long long sc_pc; -	unsigned long long sc_regs[32]; -	unsigned long long sc_fpregs[32];	/* Unused */ -	unsigned int       sc_ownedfp; -	unsigned int       sc_fpc_csr;		/* Unused */ -	unsigned int       sc_fpc_eir;		/* Unused */ -	unsigned int       sc_ssflags;		/* Unused */ -	unsigned long long sc_mdhi; -	unsigned long long sc_mdlo; - -	unsigned int       sc_cause;		/* Unused */ -	unsigned int       sc_badvaddr;		/* Unused */ - -	unsigned long      sc_sigset[4];	/* kernel's sigset_t */ -}; diff --git a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h deleted file mode 100644 index 9428dd3e5..000000000 --- a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h +++ /dev/null @@ -1,16 +0,0 @@ - -#define PARISC_SC_FLAG_ONSTACK 1<<0 -#define PARISC_SC_FLAG_IN_SYSCALL 1<<1 - -/* We will add more stuff here as it becomes necessary, until we know -   it works. */ -struct sigcontext { -	unsigned long sc_flags; - -	unsigned long sc_gr[32]; /* PSW in sc_gr[0] */ -	unsigned long long sc_fr[32]; /* FIXME, do we need other state info? */ -	unsigned long sc_iasq[2]; -	unsigned long sc_iaoq[2]; -	unsigned long sc_sar; /* cr11 */ -}; - diff --git a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h deleted file mode 100644 index 1d9704f3a..000000000 --- a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h +++ /dev/null @@ -1,76 +0,0 @@ - -struct pt_regs { -	unsigned long gpr[32]; -	unsigned long nip; -	unsigned long msr; -	unsigned long orig_gpr3;	/* Used for restarting system calls */ -	unsigned long ctr; -	unsigned long link; -	unsigned long xer; -	unsigned long ccr; -	unsigned long mq;		/* 601 only (not used at present) */ -					/* Used on APUS to hold IPL value. */ -	unsigned long trap;		/* Reason for being here */ -	unsigned long dar;		/* Fault registers */ -	unsigned long dsisr; -	unsigned long result; 		/* Result of a system call */ -}; - -/* - * Offsets used by 'ptrace' system call interface. - * These can't be changed without breaking binary compatibility - * with MkLinux, etc. - */ -#define PT_R0	0 -#define PT_R1	1 -#define PT_R2	2 -#define PT_R3	3 -#define PT_R4	4 -#define PT_R5	5 -#define PT_R6	6 -#define PT_R7	7 -#define PT_R8	8 -#define PT_R9	9 -#define PT_R10	10 -#define PT_R11	11 -#define PT_R12	12 -#define PT_R13	13 -#define PT_R14	14 -#define PT_R15	15 -#define PT_R16	16 -#define PT_R17	17 -#define PT_R18	18 -#define PT_R19	19 -#define PT_R20	20 -#define PT_R21	21 -#define PT_R22	22 -#define PT_R23	23 -#define PT_R24	24 -#define PT_R25	25 -#define PT_R26	26 -#define PT_R27	27 -#define PT_R28	28 -#define PT_R29	29 -#define PT_R30	30 -#define PT_R31	31 - -#define PT_NIP	32 -#define PT_MSR	33 -#define PT_CTR	35 -#define PT_LNK	36 -#define PT_XER	37 -#define PT_CCR	38 -#define PT_MQ	39 - -#define PT_FPR0	48	/* each FP reg occupies 2 slots in this space */ -#define PT_FPR31 (PT_FPR0 + 2*31) -#define PT_FPSCR (PT_FPR0 + 2*32 + 1) - -#define sigcontext_struct sigcontext -struct sigcontext { -	unsigned long	_unused[4]; -	int		signal; -	unsigned long	handler; -	unsigned long	oldmask; -	struct pt_regs 	*regs; -}; diff --git a/mdk-stage1/dietlibc/include/asm/sigcontext.h b/mdk-stage1/dietlibc/include/asm/sigcontext.h deleted file mode 100644 index c4a720cc0..000000000 --- a/mdk-stage1/dietlibc/include/asm/sigcontext.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef _ASM_SIGCONTEXT_H -#define _ASM_SIGCONTEXT_H - -#if defined(__i386__) || defined(__x86_64__) -#include <asm/i386-sigcontext.h> -#endif - -#ifdef __sparc__ -#include <asm/sparc-sigcontext.h> -#endif - -#ifdef __mips__ -#include <asm/mips-sigcontext.h> -#endif - -#ifdef __powerpc__ -#include <asm/ppc-sigcontext.h> -#endif - -#ifdef __alpha__ -#include <asm/alpha-sigcontext.h> -#endif - -#ifdef __arm__ -#include <asm/arm-sigcontext.h> -#endif - -#ifdef __hppa__ -#include <asm/parisc-sigcontext.h> -#endif - -#ifdef __ia64__ -#include <asm/ia64-sigcontext.h> -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h deleted file mode 100644 index 98e4e09ce..000000000 --- a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h +++ /dev/null @@ -1,50 +0,0 @@ - -#define __SUNOS_MAXWIN   31 - -/* This is what SunOS does, so shall I. */ -struct sigcontext { -	int sigc_onstack;      /* state to restore */ -	int sigc_mask;         /* sigmask to restore */ -	int sigc_sp;           /* stack pointer */ -	int sigc_pc;           /* program counter */ -	int sigc_npc;          /* next program counter */ -	int sigc_psr;          /* for condition codes etc */ -	int sigc_g1;           /* User uses these two registers */ -	int sigc_o0;           /* within the trampoline code. */ - -	/* Now comes information regarding the users window set -	 * at the time of the signal. -	 */ -	int sigc_oswins;       /* outstanding windows */ - -	/* stack ptrs for each regwin buf */ -	char *sigc_spbuf[__SUNOS_MAXWIN]; - -	/* Windows to restore after signal */ -	struct { -		unsigned long	locals[8]; -		unsigned long	ins[8]; -	} sigc_wbuf[__SUNOS_MAXWIN]; -}; - -typedef struct { -	struct { -		unsigned long psr; -		unsigned long pc; -		unsigned long npc; -		unsigned long y; -		unsigned long u_regs[16]; /* globals and ins */ -	}		si_regs; -	int		si_mask; -} __siginfo_t; - -typedef struct { -	unsigned   long si_float_regs [32]; -	unsigned   long si_fsr; -	unsigned   long si_fpqdepth; -	struct { -		unsigned long *insn_addr; -		unsigned long insn; -	} si_fpqueue [16]; -} __siginfo_fpu_t; - diff --git a/mdk-stage1/dietlibc/include/asm/statfs.h b/mdk-stage1/dietlibc/include/asm/statfs.h deleted file mode 100644 index 53b3b5e4d..000000000 --- a/mdk-stage1/dietlibc/include/asm/statfs.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/vfs.h> diff --git a/mdk-stage1/dietlibc/include/asm/types.h b/mdk-stage1/dietlibc/include/asm/types.h deleted file mode 100644 index aafa80f16..000000000 --- a/mdk-stage1/dietlibc/include/asm/types.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _ASM_TYPES_H -#define _ASM_TYPES_H - -#include <sys/types.h> - -#ifdef __alpha__ -typedef unsigned int umode_t; -#else -typedef unsigned short umode_t; -#endif - -typedef uint8_t __u8; -typedef uint16_t __u16; -typedef uint32_t __u32; -#ifndef __STRICT_ANSI__ -typedef uint64_t __u64; -#endif - -typedef int8_t __s8; -typedef int16_t __s16; -typedef int32_t __s32; -#ifndef __STRICT_ANSI__ -typedef int64_t __s64; -#endif - -#if defined(__alpha__) -typedef unsigned long __kernel_size_t; -#else -typedef unsigned int __kernel_size_t; -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/assert.h b/mdk-stage1/dietlibc/include/assert.h deleted file mode 100644 index a8ce3ce87..000000000 --- a/mdk-stage1/dietlibc/include/assert.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _ASSERT_H -#define _ASSERT_H - -#include <sys/cdefs.h> - -/* This prints an "Assertion failed" message and aborts.  */ -extern void __assert_fail (const char *__assertion, const char *__file, -			   unsigned int __line, const char *__function) -     __THROW __attribute__ ((__noreturn__)); - -#ifdef __PRETTY_FUNCTION__ -#define __ASSERT_FUNCTION __PRETTY_FUNCTION__ -#else -#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -#   define __ASSERT_FUNCTION	__func__ -#  else -#   define __ASSERT_FUNCTION	((const char *) 0) -#  endif -#endif - -#undef assert -#ifdef NDEBUG -#define assert(expr) -#else -#ifdef expect -# define assert(expr)							      \ -  ((void) (expect((long)(expr),0) ? 0 :					      \ -	   (__assert_fail (#expr,				      \ -			   __FILE__, __LINE__, __ASSERT_FUNCTION), 0))) -#else -# define assert(expr)							      \ -  ((void) ((expr) ? 0 :							      \ -	   (__assert_fail (#expr,				      \ -			   __FILE__, __LINE__, __ASSERT_FUNCTION), 0))) -#endif -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/cpio.h b/mdk-stage1/dietlibc/include/cpio.h deleted file mode 100644 index a18c2fbb6..000000000 --- a/mdk-stage1/dietlibc/include/cpio.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _CPIO_H_ -#define _CPIO_H_ - -#define C_IRUSR	0000400 -#define C_IWUSR	0000200 -#define C_IXUSR	0000100 -#define C_IRGRP	0000040 -#define C_IWGRP	0000020 -#define C_IXGRP	0000010 -#define C_IROTH	0000004 -#define C_IWOTH	0000002 -#define C_IXOTH	0000001 -#define C_ISUID	0004000 -#define C_ISGID	0002000 -#define C_ISVTX	0001000 -#define C_ISDIR	0040000 -#define C_ISFIFO	0010000 -#define C_ISREG	0100000 -#define C_ISBLK	0060000 -#define C_ISCHR	0020000 -#define C_ISCTG	0110000 -#define C_ISLNK	0120000 -#define C_ISSOCK	0140000 - -#define MAGIC	"070707" - -#endif /* _CPIO_H_ */ diff --git a/mdk-stage1/dietlibc/include/ctype.h b/mdk-stage1/dietlibc/include/ctype.h deleted file mode 100644 index 9322e8c7b..000000000 --- a/mdk-stage1/dietlibc/include/ctype.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef	_CTYPE_H -#define _CTYPE_H - -#include <sys/cdefs.h> - -extern int isascii (int c) __THROW __attribute__ ((__const__)); -extern int isblank (int c) __THROW __attribute__ ((__const__)); -extern int isalnum (int c) __THROW __attribute__ ((__const__)); -extern int isalpha (int c) __THROW __attribute__ ((__const__)); -extern int isdigit (int c) __THROW __attribute__ ((__const__)); -extern int isspace (int c) __THROW __attribute__ ((__const__)); - -extern int isupper (int c) __THROW __attribute__ ((__const__)); -extern int islower (int c) __THROW __attribute__ ((__const__)); - -extern int tolower(int c) __THROW __attribute__ ((__const__)); -extern int toupper(int c) __THROW __attribute__ ((__const__)); - -extern int isprint(int c) __THROW __attribute__ ((__const__)); -extern int ispunct(int c) __THROW __attribute__ ((__const__)); -extern int iscntrl(int c) __THROW __attribute__ ((__const__)); - -/* fscking GNU extensions! */ -extern int isxdigit(int c) __THROW __attribute__ ((__const__)); - -extern int isgraph(int c) __THROW __attribute__ ((__const__)); - -#endif diff --git a/mdk-stage1/dietlibc/include/daemon.h b/mdk-stage1/dietlibc/include/daemon.h deleted file mode 100644 index e2413d42b..000000000 --- a/mdk-stage1/dietlibc/include/daemon.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _DAEMON_H -#define _DAEMON_H - -#include <unistd.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/dietref.h b/mdk-stage1/dietlibc/include/dietref.h deleted file mode 100644 index 99d446300..000000000 --- a/mdk-stage1/dietlibc/include/dietref.h +++ /dev/null @@ -1,22 +0,0 @@ -/* diet includes this file to create linker dependencies on the diet - * libc, so trying to link an object file compiled with diet against - * glibc will fail. */ - -#ifndef NODIETREF -#include <endian.h> -#ifdef __ASSEMBLER__ -.section .note -#if (__WORDSIZE == 64) -.quad __you_tried_to_link_a_dietlibc_object_against_glibc -#else -.long __you_tried_to_link_a_dietlibc_object_against_glibc -#endif -.previous -#else -#if (__WORDSIZE == 64) -__asm__ (".section .note\n\t.quad __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous"); -#else -__asm__ (".section .note\n\t.long __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous"); -#endif -#endif -#endif diff --git a/mdk-stage1/dietlibc/include/dirent.h b/mdk-stage1/dietlibc/include/dirent.h deleted file mode 100644 index ad8b3a41a..000000000 --- a/mdk-stage1/dietlibc/include/dirent.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _DIRENT_H -#define _DIRENT_H       1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <limits.h> - -struct dirent { -  long		d_ino; -  off_t		d_off; -  unsigned short	d_reclen; -  char		d_name[256]; /* We must not include limits.h! */ -}; - -#ifndef __STRICT_ANSI__ -struct dirent64 { -  uint64_t	d_ino; -  int64_t	d_off; -  unsigned short	d_reclen; -  unsigned char	d_type; -  char		d_name[256]; -}; -#endif - -#define d_fileno	d_ino	/* Backwards compatibility.  */ - -#undef  _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF - -typedef struct __dirstream DIR; - -DIR *opendir (const char *__name) __THROW; -int closedir (DIR *__dirp) __THROW; -struct dirent *readdir (DIR *__dirp) __THROW; -struct dirent64 *readdir64 (DIR *__dirp) __THROW; -void rewinddir (DIR *__dirp) __THROW; -void seekdir (DIR *__dirp, long int __pos) __THROW; -long int telldir (DIR *__dirp) __THROW; - -int scandir(const char *dir, struct dirent ***namelist, -      int (*selection)(const struct dirent *), -      int (*compar)(const struct dirent **, const struct dirent **)) __THROW; -int scandir64(const char *dir, struct dirent64 ***namelist, -      int (*selection)(const struct dirent64 *), -      int (*compar)(const struct dirent64 **, const struct dirent64 **)) __THROW; - -int alphasort(const struct dirent **a, const struct dirent **b) __THROW __attribute__((const)); -int alphasort64(const struct dirent64 **a, const struct dirent64 **b) __THROW __attribute__((const)); - -#define MAXNAMLEN NAME_MAX - -#ifdef _BSD_SOURCE -extern int dirfd(DIR *dirp) __THROW; -#endif - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -#define dirent dirent64 -#define readdir readdir64 -#define scandir scandir64 -#define alphasort alphasort64 -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/dlfcn.h b/mdk-stage1/dietlibc/include/dlfcn.h deleted file mode 100644 index 0ddcafdba..000000000 --- a/mdk-stage1/dietlibc/include/dlfcn.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _DLFCN_H -#define _DLFCN_H 1 - -#define RTLD_LAZY	0x00000 -#define RTLD_NOW	0x00001 - -#define RTLD_LOCAL	0x00000 -#define RTLD_GLOBAL	0x10000 - -#define RTLD_DEFAULT	((void*)1) -#define RTLD_NEXT	((void*)2) - -void *dlopen (const char *filename, int flag); -const char *dlerror(void); -void *dlsym(void *handle, char *symbol); -int dlclose (void *handle); - -#endif diff --git a/mdk-stage1/dietlibc/include/elf.h b/mdk-stage1/dietlibc/include/elf.h deleted file mode 100644 index 7b198bad3..000000000 --- a/mdk-stage1/dietlibc/include/elf.h +++ /dev/null @@ -1,780 +0,0 @@ -#ifndef _ELF_H -#define _ELF_H - -#include <inttypes.h> - -/* 32-bit ELF base types. */ -typedef uint32_t	Elf32_Addr; -typedef uint16_t	Elf32_Half; -typedef uint32_t	Elf32_Off; -typedef int32_t	Elf32_Sword; -typedef uint32_t	Elf32_Word; - -/* 64-bit ELF base types. */ -typedef uint64_t	Elf64_Addr; -typedef uint16_t	Elf64_Half; -typedef int16_t		Elf64_SHalf; -typedef uint64_t	Elf64_Off; -typedef int32_t		Elf64_Sword; -typedef uint32_t	Elf64_Word; -typedef uint64_t	Elf64_Xword; -typedef int64_t		Elf64_Sxword; - -/* These constants are for the segment types stored in the image headers */ -#define PT_NULL		0 -#define PT_LOAD		1 -#define PT_DYNAMIC	2 -#define PT_INTERP	3 -#define PT_NOTE		4 -#define PT_SHLIB	5 -#define PT_PHDR		6 -#define PT_LOPROC	0x70000000 -#define PT_HIPROC	0x7fffffff -#define PT_MIPS_REGINFO	0x70000000 - -/* Flags in the e_flags field of the header */ -#define EF_MIPS_NOREORDER	0x00000001 -#define EF_MIPS_PIC		0x00000002 -#define EF_MIPS_CPIC		0x00000004 -#define EF_MIPS_ARCH		0xf0000000 - -/* These constants define the different elf file types */ -#define ET_NONE		0 -#define ET_REL		1 -#define ET_EXEC		2 -#define ET_DYN		3 -#define ET_CORE		4 -#define ET_LOPROC	0xff00 -#define ET_HIPROC	0xffff - -/* These constants define the various ELF target machines */ -#define EM_NONE		 0 -#define EM_M32		 1 -#define EM_SPARC	 2 -#define EM_386		 3 -#define EM_68K		 4 -#define EM_88K		 5 -#define EM_486		 6	/* Perhaps disused */ -#define EM_860		 7 - -#define EM_MIPS		 8	/* MIPS R3000 (officially, big-endian only) */ -#define EM_MIPS_RS4_BE	10	/* MIPS R4000 big-endian */ - -#define EM_PARISC	15	/* HPPA */ -#define EM_SPARC32PLUS	18	/* Sun's "v8plus" */ -#define EM_PPC		20	/* PowerPC */ -#define EM_S390		22	/* IBM S/390 */ - -#define EM_ARM		40	/* ARM */ -#define EM_SH		42	/* SuperH */ -#define EM_SPARCV9	43	/* SPARC v9 64-bit */ -#define EM_IA_64	50	/* HP/Intel IA-64 */ -#define EM_X86_64	62	/* AMD x86-64 */ -#define EM_CRIS		76	/* Axis Communications 32-bit embedded processor */ - -/* - * This is an interim value that we will use until the committee comes - * up with a final number. - */ -#define EM_ALPHA	0x9026 - -/* - * This is the old interim value for S/390 architecture - */ -#define EM_S390_OLD	0xA390 - -/* This is the info that is needed to parse the dynamic section of the file */ -#define DT_NULL			0 -#define DT_NEEDED		1 -#define DT_PLTRELSZ		2 -#define DT_PLTGOT		3 -#define DT_HASH			4 -#define DT_STRTAB		5 -#define DT_SYMTAB		6 -#define DT_RELA			7 -#define DT_RELASZ		8 -#define DT_RELAENT		9 -#define DT_STRSZ		10 -#define DT_SYMENT		11 -#define DT_INIT			12 -#define DT_FINI			13 -#define DT_SONAME		14 -#define DT_RPATH 		15 -#define DT_SYMBOLIC		16 -#define DT_REL			17 -#define DT_RELSZ		18 -#define DT_RELENT		19 -#define DT_PLTREL		20 -#define DT_DEBUG		21 -#define DT_TEXTREL		22 -#define DT_JMPREL		23 -#define DT_NUM			24 -#define DT_LOPROC		0x70000000 -#define DT_HIPROC		0x7fffffff -#define DT_MIPS_RLD_VERSION	0x70000001 -#define DT_MIPS_TIME_STAMP	0x70000002 -#define DT_MIPS_ICHECKSUM	0x70000003 -#define DT_MIPS_IVERSION	0x70000004 -#define DT_MIPS_FLAGS		0x70000005 -  #define RHF_NONE		  0 -  #define RHF_HARDWAY		  1 -  #define RHF_NOTPOT		  2 -#define DT_MIPS_BASE_ADDRESS	0x70000006 -#define DT_MIPS_CONFLICT	0x70000008 -#define DT_MIPS_LIBLIST		0x70000009 -#define DT_MIPS_LOCAL_GOTNO	0x7000000a -#define DT_MIPS_CONFLICTNO	0x7000000b -#define DT_MIPS_LIBLISTNO	0x70000010 -#define DT_MIPS_SYMTABNO	0x70000011 -#define DT_MIPS_UNREFEXTNO	0x70000012 -#define DT_MIPS_GOTSYM		0x70000013 -#define DT_MIPS_HIPAGENO	0x70000014 -#define DT_MIPS_RLD_MAP		0x70000016 - -/* This info is needed when parsing the symbol table */ -#define STB_LOCAL	0 -#define STB_GLOBAL	1 -#define STB_WEAK	2 - -#define STT_NOTYPE	0 -#define STT_OBJECT	1 -#define STT_FUNC	2 -#define STT_SECTION	3 -#define STT_FILE	4 - -#define ELF32_ST_BIND(x) ((x) >> 4) -#define ELF32_ST_TYPE(x) (((unsigned int) x) & 0xf) - -#define ELF64_ST_BIND(val)		ELF32_ST_BIND (val) -#define ELF64_ST_TYPE(val)		ELF32_ST_TYPE (val) - -/* Symbolic values for the entries in the auxiliary table -   put on the initial stack */ -#define AT_NULL		 0	/* end of vector */ -#define AT_IGNORE	 1	/* entry should be ignored */ -#define AT_EXECFD	 2	/* file descriptor of program */ -#define AT_PHDR		 3	/* program headers for program */ -#define AT_PHENT	 4	/* size of program header entry */ -#define AT_PHNUM	 5	/* number of program headers */ -#define AT_PAGESZ	 6	/* system page size */ -#define AT_BASE		 7	/* base address of interpreter */ -#define AT_FLAGS	 8	/* flags */ -#define AT_ENTRY	 9	/* entry point of program */ -#define AT_NOTELF	10	/* program is not ELF */ -#define AT_UID		11	/* real uid */ -#define AT_EUID		12	/* effective uid */ -#define AT_GID		13	/* real gid */ -#define AT_EGID		14	/* effective gid */ -#define AT_PLATFORM	15	/* string identifying CPU for optimizations */ -#define AT_HWCAP	16	/* arch dependent hints at CPU capabilities */ -#define AT_CLKTCK	17	/* frequency at which times() increments */ - -typedef struct dynamic{ -  Elf32_Sword d_tag; -  union{ -    Elf32_Sword	d_val; -    Elf32_Addr	d_ptr; -  } d_un; -} Elf32_Dyn; - -typedef struct { -  Elf64_Sxword d_tag;		/* entry tag value */ -  union { -    Elf64_Xword d_val; -    Elf64_Addr d_ptr; -  } d_un; -} Elf64_Dyn; - -/* The following are used with relocations */ -#define ELF32_R_SYM(x)  ((x) >> 8) -#define ELF32_R_TYPE(x) ((x) & 0xff) - -#define ELF64_R_SYM(x)  ((x) >> 32) -#define ELF64_R_TYPE(x) ((x) & 0xffffffff) - -#define R_386_NONE		0 -#define R_386_32		1 -#define R_386_PC32		2 -#define R_386_GOT32		3 -#define R_386_PLT32		4 -#define R_386_COPY		5 -#define R_386_GLOB_DAT		6 -#define R_386_JMP_SLOT		7 -#define R_386_RELATIVE		8 -#define R_386_GOTOFF		9 -#define R_386_GOTPC		10 -#define R_386_NUM		11 - -#define R_MIPS_NONE		0 -#define R_MIPS_16		1 -#define R_MIPS_32		2 -#define R_MIPS_REL32		3 -#define R_MIPS_26		4 -#define R_MIPS_HI16		5 -#define R_MIPS_LO16		6 -#define R_MIPS_GPREL16		7 -#define R_MIPS_LITERAL		8 -#define R_MIPS_GOT16		9 -#define R_MIPS_PC16		10 -#define R_MIPS_CALL16		11 -#define R_MIPS_GPREL32		12 -/* The remaining relocs are defined on Irix, although they are not -   in the MIPS ELF ABI.  */ -#define R_MIPS_UNUSED1		13 -#define R_MIPS_UNUSED2		14 -#define R_MIPS_UNUSED3		15 -#define R_MIPS_SHIFT5		16 -#define R_MIPS_SHIFT6		17 -#define R_MIPS_64		18 -#define R_MIPS_GOT_DISP		19 -#define R_MIPS_GOT_PAGE		20 -#define R_MIPS_GOT_OFST		21 -/* - * The following two relocation types are specified in the MIPS ABI - * conformance guide version 1.2 but not yet in the psABI. - */ -#define R_MIPS_GOTHI16		22 -#define R_MIPS_GOTLO16		23 -#define R_MIPS_SUB		24 -#define R_MIPS_INSERT_A		25 -#define R_MIPS_INSERT_B		26 -#define R_MIPS_DELETE		27 -#define R_MIPS_HIGHER		28 -#define R_MIPS_HIGHEST		29 -/* - * The following two relocation types are specified in the MIPS ABI - * conformance guide version 1.2 but not yet in the psABI. - */ -#define R_MIPS_CALLHI16		30 -#define R_MIPS_CALLLO16		31 -/* - * This range is reserved for vendor specific relocations. - */ -#define R_MIPS_LOVENDOR		100 -#define R_MIPS_HIVENDOR		127 - - -/* - * Sparc ELF relocation types - */ -#define R_SPARC_NONE		0 -#define R_SPARC_8		1 -#define R_SPARC_16		2 -#define R_SPARC_32		3 -#define R_SPARC_DISP8		4 -#define R_SPARC_DISP16		5 -#define R_SPARC_DISP32		6 -#define R_SPARC_WDISP30		7 -#define R_SPARC_WDISP22		8 -#define R_SPARC_HI22		9 -#define R_SPARC_22		10 -#define R_SPARC_13		11 -#define R_SPARC_LO10		12 -#define R_SPARC_GOT10		13 -#define R_SPARC_GOT13		14 -#define R_SPARC_GOT22		15 -#define R_SPARC_PC10		16 -#define R_SPARC_PC22		17 -#define R_SPARC_WPLT30		18 -#define R_SPARC_COPY		19 -#define R_SPARC_GLOB_DAT	20 -#define R_SPARC_JMP_SLOT	21 -#define R_SPARC_RELATIVE	22 -#define R_SPARC_UA32		23 -#define R_SPARC_PLT32		24 -#define R_SPARC_HIPLT22		25 -#define R_SPARC_LOPLT10		26 -#define R_SPARC_PCPLT32		27 -#define R_SPARC_PCPLT22		28 -#define R_SPARC_PCPLT10		29 -#define R_SPARC_10		30 -#define R_SPARC_11		31 -#define R_SPARC_WDISP16		40 -#define R_SPARC_WDISP19		41 -#define R_SPARC_7		43 -#define R_SPARC_5		44 -#define R_SPARC_6		45 - -/* Bits present in AT_HWCAP, primarily for Sparc32.  */ - -#define HWCAP_SPARC_FLUSH	 1	/* CPU supports flush instruction. */ -#define HWCAP_SPARC_STBAR	 2 -#define HWCAP_SPARC_SWAP	 4 -#define HWCAP_SPARC_MULDIV	 8 -#define HWCAP_SPARC_V9		16 -#define HWCAP_SPARC_ULTRA3	32 - -/* - * 68k ELF relocation types - */ -#define R_68K_NONE	0 -#define R_68K_32	1 -#define R_68K_16	2 -#define R_68K_8		3 -#define R_68K_PC32	4 -#define R_68K_PC16	5 -#define R_68K_PC8	6 -#define R_68K_GOT32	7 -#define R_68K_GOT16	8 -#define R_68K_GOT8	9 -#define R_68K_GOT32O	10 -#define R_68K_GOT16O	11 -#define R_68K_GOT8O	12 -#define R_68K_PLT32	13 -#define R_68K_PLT16	14 -#define R_68K_PLT8	15 -#define R_68K_PLT32O	16 -#define R_68K_PLT16O	17 -#define R_68K_PLT8O	18 -#define R_68K_COPY	19 -#define R_68K_GLOB_DAT	20 -#define R_68K_JMP_SLOT	21 -#define R_68K_RELATIVE	22 - -/* - * Alpha ELF relocation types - */ -#define R_ALPHA_NONE		 0	/* No reloc */ -#define R_ALPHA_REFLONG		 1	/* Direct 32 bit */ -#define R_ALPHA_REFQUAD		 2	/* Direct 64 bit */ -#define R_ALPHA_GPREL32		 3	/* GP relative 32 bit */ -#define R_ALPHA_LITERAL		 4	/* GP relative 16 bit w/optimization */ -#define R_ALPHA_LITUSE		 5	/* Optimization hint for LITERAL */ -#define R_ALPHA_GPDISP		 6	/* Add displacement to GP */ -#define R_ALPHA_BRADDR		 7	/* PC+4 relative 23 bit shifted */ -#define R_ALPHA_HINT		 8	/* PC+4 relative 16 bit shifted */ -#define R_ALPHA_SREL16		 9	/* PC relative 16 bit */ -#define R_ALPHA_SREL32		10	/* PC relative 32 bit */ -#define R_ALPHA_SREL64		11	/* PC relative 64 bit */ -#define R_ALPHA_OP_PUSH		12	/* OP stack push */ -#define R_ALPHA_OP_STORE	13	/* OP stack pop and store */ -#define R_ALPHA_OP_PSUB		14	/* OP stack subtract */ -#define R_ALPHA_OP_PRSHIFT	15	/* OP stack right shift */ -#define R_ALPHA_GPVALUE		16 -#define R_ALPHA_GPRELHIGH	17 -#define R_ALPHA_GPRELLOW	18 -#define R_ALPHA_IMMED_GP_16	19 -#define R_ALPHA_IMMED_GP_HI32	20 -#define R_ALPHA_IMMED_SCN_HI32	21 -#define R_ALPHA_IMMED_BR_HI32	22 -#define R_ALPHA_IMMED_LO32	23 -#define R_ALPHA_COPY		24	/* Copy symbol at runtime */ -#define R_ALPHA_GLOB_DAT	25	/* Create GOT entry */ -#define R_ALPHA_JMP_SLOT	26	/* Create PLT entry */ -#define R_ALPHA_RELATIVE	27	/* Adjust by program base */ - -/* Legal values for e_flags field of Elf64_Ehdr.  */ - -#define EF_ALPHA_32BIT		1	/* All addresses are below 2GB */ - -/* - * PowerPC - */ - -/* Values for Elf32/64_Ehdr.e_flags.  */ -#define EF_PPC_EMB		0x80000000	/* PowerPC embedded flag */ - -/* Cygnus local bits below */ -#define EF_PPC_RELOCATABLE	0x00010000	/* PowerPC -mrelocatable flag*/ -#define EF_PPC_RELOCATABLE_LIB	0x00008000	/* PowerPC -mrelocatable-lib flag */ - -/* PowerPC relocations defined by the ABIs */ -#define R_PPC_NONE		0 -#define R_PPC_ADDR32		1	/* 32bit absolute address */ -#define R_PPC_ADDR24		2	/* 26bit address, 2 bits ignored.  */ -#define R_PPC_ADDR16		3	/* 16bit absolute address */ -#define R_PPC_ADDR16_LO		4	/* lower 16bit of absolute address */ -#define R_PPC_ADDR16_HI		5	/* high 16bit of absolute address */ -#define R_PPC_ADDR16_HA		6	/* adjusted high 16bit */ -#define R_PPC_ADDR14		7	/* 16bit address, 2 bits ignored */ -#define R_PPC_ADDR14_BRTAKEN	8 -#define R_PPC_ADDR14_BRNTAKEN	9 -#define R_PPC_REL24		10	/* PC relative 26 bit */ -#define R_PPC_REL14		11	/* PC relative 16 bit */ -#define R_PPC_REL14_BRTAKEN	12 -#define R_PPC_REL14_BRNTAKEN	13 -#define R_PPC_GOT16		14 -#define R_PPC_GOT16_LO		15 -#define R_PPC_GOT16_HI		16 -#define R_PPC_GOT16_HA		17 -#define R_PPC_PLTREL24		18 -#define R_PPC_COPY		19 -#define R_PPC_GLOB_DAT		20 -#define R_PPC_JMP_SLOT		21 -#define R_PPC_RELATIVE		22 -#define R_PPC_LOCAL24PC		23 -#define R_PPC_UADDR32		24 -#define R_PPC_UADDR16		25 -#define R_PPC_REL32		26 -#define R_PPC_PLT32		27 -#define R_PPC_PLTREL32		28 -#define R_PPC_PLT16_LO		29 -#define R_PPC_PLT16_HI		30 -#define R_PPC_PLT16_HA		31 -#define R_PPC_SDAREL16		32 -#define R_PPC_SECTOFF		33 -#define R_PPC_SECTOFF_LO	34 -#define R_PPC_SECTOFF_HI	35 -#define R_PPC_SECTOFF_HA	36 -/* Keep this the last entry.  */ -#define R_PPC_NUM		37 - -/* The remaining relocs are from the Embedded ELF ABI, and are not -   in the SVR4 ELF ABI.  */ -#define R_PPC_EMB_NADDR32	101 -#define R_PPC_EMB_NADDR16	102 -#define R_PPC_EMB_NADDR16_LO	103 -#define R_PPC_EMB_NADDR16_HI	104 -#define R_PPC_EMB_NADDR16_HA	105 -#define R_PPC_EMB_SDAI16	106 -#define R_PPC_EMB_SDA2I16	107 -#define R_PPC_EMB_SDA2REL	108 -#define R_PPC_EMB_SDA21		109	/* 16 bit offset in SDA */ -#define R_PPC_EMB_MRKREF	110 -#define R_PPC_EMB_RELSEC16	111 -#define R_PPC_EMB_RELST_LO	112 -#define R_PPC_EMB_RELST_HI	113 -#define R_PPC_EMB_RELST_HA	114 -#define R_PPC_EMB_BIT_FLD	115 -#define R_PPC_EMB_RELSDA	116	/* 16 bit relative offset in SDA */ - -/* Diab tool relocations.  */ -#define R_PPC_DIAB_SDA21_LO	180	/* like EMB_SDA21, but lower 16 bit */ -#define R_PPC_DIAB_SDA21_HI	181	/* like EMB_SDA21, but high 16 bit */ -#define R_PPC_DIAB_SDA21_HA	182	/* like EMB_SDA21, adjusted high 16 */ -#define R_PPC_DIAB_RELSDA_LO	183	/* like EMB_RELSDA, but lower 16 bit */ -#define R_PPC_DIAB_RELSDA_HI	184	/* like EMB_RELSDA, but high 16 bit */ -#define R_PPC_DIAB_RELSDA_HA	185	/* like EMB_RELSDA, adjusted high 16 */ - -/* This is a phony reloc to handle any old fashioned TOC16 references -   that may still be in object files.  */ -#define R_PPC_TOC16		255 - -/* - * ARM ELF relocation types - */ -#define R_ARM_NONE		0	/* No reloc */ -#define R_ARM_PC24		1	/* PC relative 26 bit branch */ -#define R_ARM_ABS32		2	/* Direct 32 bit  */ -#define R_ARM_REL32		3	/* PC relative 32 bit */ -#define R_ARM_PC13		4 -#define R_ARM_ABS16		5	/* Direct 16 bit */ -#define R_ARM_ABS12		6	/* Direct 12 bit */ -#define R_ARM_THM_ABS5		7 -#define R_ARM_ABS8		8	/* Direct 8 bit */ -#define R_ARM_SBREL32		9 -#define R_ARM_THM_PC22		10 -#define R_ARM_THM_PC8		11 -#define R_ARM_AMP_VCALL9	12 -#define R_ARM_SWI24		13 -#define R_ARM_THM_SWI8		14 -#define R_ARM_XPC25		15 -#define R_ARM_THM_XPC22		16 -#define R_ARM_COPY		20	/* Copy symbol at runtime */ -#define R_ARM_GLOB_DAT		21	/* Create GOT entry */ -#define R_ARM_JUMP_SLOT		22	/* Create PLT entry */ -#define R_ARM_RELATIVE		23	/* Adjust by program base */ -#define R_ARM_GOTOFF		24	/* 32 bit offset to GOT */ -#define R_ARM_GOTPC		25	/* 32 bit PC relative offset to GOT */ -#define R_ARM_GOT32		26	/* 32 bit GOT entry */ -#define R_ARM_PLT32		27	/* 32 bit PLT address */ -#define R_ARM_GNU_VTENTRY	100 -#define R_ARM_GNU_VTINHERIT	101 -#define R_ARM_THM_PC11		102	/* thumb unconditional branch */ -#define R_ARM_THM_PC9		103	/* thumb conditional branch */ -#define R_ARM_RXPC25		249 -#define R_ARM_RSBREL32		250 -#define R_ARM_THM_RPC22		251 -#define R_ARM_RREL32		252 -#define R_ARM_RABS22		253 -#define R_ARM_RPC24		254 -#define R_ARM_RBASE		255 -/* Keep this the last entry.  */ -#define R_ARM_NUM		256 - -/* Processor specific flags for the ELF header e_flags field.  */ -#define EF_ARM_RELEXEC		0x01 -#define EF_ARM_HASENTRY		0x02 -#define EF_ARM_INTERWORK	0x04 -#define EF_ARM_APCS_26		0x08 -#define EF_ARM_APCS_FLOAT	0x10 -#define EF_ARM_PIC		0x20 -#define EF_ALIGN8		0x40		/* 8-bit structure alignment is in use */ -#define EF_NEW_ABI		0x80 -#define EF_OLD_ABI		0x100 - -/* Additional symbol types for Thumb */ -#define STT_ARM_TFUNC		0xd - -/* AMD x86-64 relocations.  */ -#define R_X86_64_NONE		0	/* No reloc */ -#define R_X86_64_64		1	/* Direct 64 bit  */ -#define R_X86_64_PC32		2	/* PC relative 32 bit signed */ -#define R_X86_64_GOT32		3	/* 32 bit GOT entry */ -#define R_X86_64_PLT32		4	/* 32 bit PLT address */ -#define R_X86_64_COPY		5	/* Copy symbol at runtime */ -#define R_X86_64_GLOB_DAT	6	/* Create GOT entry */ -#define R_X86_64_JUMP_SLOT	7	/* Create PLT entry */ -#define R_X86_64_RELATIVE	8	/* Adjust by program base */ -#define R_X86_64_GOTPCREL	9	/* 32 bit signed PC relative -					   offset to GOT */ -#define R_X86_64_32		10	/* Direct 32 bit zero extended */ -#define R_X86_64_32S		11	/* Direct 32 bit sign extended */ -#define R_X86_64_16		12	/* Direct 16 bit zero extended */ -#define R_X86_64_PC16		13	/* 16 bit sign extended pc relative */ -#define R_X86_64_8		14	/* Direct 8 bit sign extended  */ -#define R_X86_64_PC8		15	/* 8 bit sign extended pc relative */ -#define R_X86_64_DTPMOD64	16	/* ID of module containing symbol */ -#define R_X86_64_DTPOFF64	17	/* Offset in module's TLS block */ -#define R_X86_64_TPOFF64	18	/* Offset in initial TLS block */ -#define R_X86_64_TLSGD		19	/* 32 bit signed PC relative offset -					   to two GOT entries for GD symbol */ -#define R_X86_64_TLSLD		20	/* 32 bit signed PC relative offset -					   to two GOT entries for LD symbol */ -#define R_X86_64_DTPOFF32	21	/* Offset in TLS block */ -#define R_X86_64_GOTTPOFF	22	/* 32 bit signed PC relative offset -					   to GOT entry for IE symbol */ -#define R_X86_64_TPOFF32	23	/* Offset in initial TLS block */ - -#define R_X86_64_NUM		24 - -typedef struct elf32_rel { -  Elf32_Addr	r_offset; -  Elf32_Word	r_info; -} Elf32_Rel; - -typedef struct elf64_rel { -  Elf64_Addr	r_offset;		/* Location at which to apply the action */ -  Elf64_Xword	r_info;		/* index and type of relocation */ -} Elf64_Rel; - -typedef struct elf32_rela{ -  Elf32_Addr	r_offset; -  Elf32_Word	r_info; -  Elf32_Sword	r_addend; -} Elf32_Rela; - -typedef struct elf64_rela { -  Elf64_Addr	r_offset;		/* Location at which to apply the action */ -  Elf64_Xword	r_info;		/* index and type of relocation */ -  Elf64_Sxword	r_addend;	/* Constant addend used to compute value */ -} Elf64_Rela; - -typedef struct elf32_sym{ -  Elf32_Word	st_name; -  Elf32_Addr	st_value; -  Elf32_Word	st_size; -  unsigned char	st_info; -  unsigned char	st_other; -  Elf32_Half	st_shndx; -} Elf32_Sym; - -typedef struct elf64_sym { -  Elf64_Word	st_name;		/* Symbol name, index in string tbl */ -  unsigned char	st_info;	/* Type and binding attributes */ -  unsigned char	st_other;	/* No defined meaning, 0 */ -  Elf64_Half	st_shndx;		/* Associated section index */ -  Elf64_Addr	st_value;		/* Value of the symbol */ -  Elf64_Xword	st_size;		/* Associated symbol size */ -} Elf64_Sym; - - -#define EI_NIDENT	16 - -typedef struct elf32_hdr{ -  unsigned char	e_ident[EI_NIDENT]; -  Elf32_Half	e_type; -  Elf32_Half	e_machine; -  Elf32_Word	e_version; -  Elf32_Addr	e_entry;  /* Entry point */ -  Elf32_Off	e_phoff; -  Elf32_Off	e_shoff; -  Elf32_Word	e_flags; -  Elf32_Half	e_ehsize; -  Elf32_Half	e_phentsize; -  Elf32_Half	e_phnum; -  Elf32_Half	e_shentsize; -  Elf32_Half	e_shnum; -  Elf32_Half	e_shstrndx; -} Elf32_Ehdr; - -typedef struct elf64_hdr { -  unsigned char	e_ident[16];		/* ELF "magic number" */ -  Elf64_Half	e_type; -  Elf64_Half	e_machine; -  Elf64_Word	e_version; -  Elf64_Addr	e_entry;		/* Entry point virtual address */ -  Elf64_Off	e_phoff;		/* Program header table file offset */ -  Elf64_Off	e_shoff;		/* Section header table file offset */ -  Elf64_Word	e_flags; -  Elf64_Half	e_ehsize; -  Elf64_Half	e_phentsize; -  Elf64_Half	e_phnum; -  Elf64_Half	e_shentsize; -  Elf64_Half	e_shnum; -  Elf64_Half	e_shstrndx; -} Elf64_Ehdr; - -/* These constants define the permissions on sections in the program -   header, p_flags. */ -#define PF_R		0x4 -#define PF_W		0x2 -#define PF_X		0x1 - -typedef struct elf32_phdr{ -  Elf32_Word	p_type; -  Elf32_Off	p_offset; -  Elf32_Addr	p_vaddr; -  Elf32_Addr	p_paddr; -  Elf32_Word	p_filesz; -  Elf32_Word	p_memsz; -  Elf32_Word	p_flags; -  Elf32_Word	p_align; -} Elf32_Phdr; - -typedef struct elf64_phdr { -  Elf64_Word	p_type; -  Elf64_Word	p_flags; -  Elf64_Off	p_offset;		/* Segment file offset */ -  Elf64_Addr	p_vaddr;		/* Segment virtual address */ -  Elf64_Addr	p_paddr;		/* Segment physical address */ -  Elf64_Xword	p_filesz;		/* Segment size in file */ -  Elf64_Xword	p_memsz;		/* Segment size in memory */ -  Elf64_Xword	p_align;		/* Segment alignment, file & memory */ -} Elf64_Phdr; - -/* sh_type */ -#define SHT_NULL		0 -#define SHT_PROGBITS		1 -#define SHT_SYMTAB		2 -#define SHT_STRTAB		3 -#define SHT_RELA		4 -#define SHT_HASH		5 -#define SHT_DYNAMIC		6 -#define SHT_NOTE		7 -#define SHT_NOBITS		8 -#define SHT_REL			9 -#define SHT_SHLIB		10 -#define SHT_DYNSYM		11 -#define SHT_NUM			12 -#define SHT_LOPROC		0x70000000 -#define SHT_HIPROC		0x7fffffff -#define SHT_LOUSER		0x80000000 -#define SHT_HIUSER		0xffffffff -#define SHT_MIPS_LIST		0x70000000 -#define SHT_MIPS_CONFLICT	0x70000002 -#define SHT_MIPS_GPTAB		0x70000003 -#define SHT_MIPS_UCODE		0x70000004 - -/* sh_flags */ -#define SHF_WRITE		0x1 -#define SHF_ALLOC		0x2 -#define SHF_EXECINSTR		0x4 -#define SHF_MASKPROC		0xf0000000 -#define SHF_MIPS_GPREL		0x10000000 -#define SHF_ALPHA_GPREL		0x10000000 - -/* special section indexes */ -#define SHN_UNDEF		0 -#define SHN_LORESERVE		0xff00 -#define SHN_LOPROC		0xff00 -#define SHN_HIPROC		0xff1f -#define SHN_ABS			0xfff1 -#define SHN_COMMON		0xfff2 -#define SHN_HIRESERVE		0xffff -#define SHN_MIPS_ACCOMON	0xff00 -  -typedef struct { -  Elf32_Word	sh_name; -  Elf32_Word	sh_type; -  Elf32_Word	sh_flags; -  Elf32_Addr	sh_addr; -  Elf32_Off	sh_offset; -  Elf32_Word	sh_size; -  Elf32_Word	sh_link; -  Elf32_Word	sh_info; -  Elf32_Word	sh_addralign; -  Elf32_Word	sh_entsize; -} Elf32_Shdr; - -typedef struct elf64_shdr { -  Elf64_Word	sh_name;		/* Section name, index in string tbl */ -  Elf64_Word	sh_type;		/* Type of section */ -  Elf64_Xword	sh_flags;		/* Miscellaneous section attributes */ -  Elf64_Addr	sh_addr;		/* Section virtual addr at execution */ -  Elf64_Off	sh_offset;		/* Section file offset */ -  Elf64_Xword	sh_size;		/* Size of section in bytes */ -  Elf64_Word	sh_link;		/* Index of another section */ -  Elf64_Word	sh_info;		/* Additional section information */ -  Elf64_Xword	sh_addralign;	/* Section alignment */ -  Elf64_Xword	sh_entsize;	/* Entry size if section holds table */ -} Elf64_Shdr; - -#define EI_MAG0		0		/* e_ident[] indexes */ -#define EI_MAG1		1 -#define EI_MAG2		2 -#define EI_MAG3		3 -#define EI_CLASS	4 -#define EI_DATA		5 -#define EI_VERSION	6 -#define EI_PAD		7 - -#define ELFMAG0		0x7f		/* EI_MAG */ -#define ELFMAG1		'E' -#define ELFMAG2		'L' -#define ELFMAG3		'F' -#define ELFMAG		"\177ELF" -#define SELFMAG		4 - -#define ELFCLASSNONE	0		/* EI_CLASS */ -#define ELFCLASS32	1 -#define ELFCLASS64	2 -#define ELFCLASSNUM	3 - -#define ELFDATANONE	0		/* e_ident[EI_DATA] */ -#define ELFDATA2LSB	1 -#define ELFDATA2MSB	2 - -#define EV_NONE		0		/* e_version, EI_VERSION */ -#define EV_CURRENT	1 -#define EV_NUM		2 - -/* Notes used in ET_CORE */ -#define NT_PRSTATUS	1 -#define NT_PRFPREG	2 -#define NT_PRPSINFO	3 -#define NT_TASKSTRUCT	4 -#define NT_PRFPXREG	20 - -/* Note header in a PT_NOTE section */ -typedef struct elf32_note { -  Elf32_Word	n_namesz;	/* Name size */ -  Elf32_Word	n_descsz;	/* Content size */ -  Elf32_Word	n_type;		/* Content type */ -} Elf32_Nhdr; - -/* Note header in a PT_NOTE section */ -typedef struct elf64_note { -  Elf64_Word	n_namesz;	/* Name size */ -  Elf64_Word	n_descsz;	/* Content size */ -  Elf64_Word	n_type;		/* Content type */ -} Elf64_Nhdr; - -#if ELF_CLASS == ELFCLASS32 - -extern Elf32_Dyn _DYNAMIC []; -#define elfhdr		elf32_hdr -#define elf_phdr	elf32_phdr -#define elf_note	elf32_note - -#else - -extern Elf64_Dyn _DYNAMIC []; -#define elfhdr		elf64_hdr -#define elf_phdr	elf64_phdr -#define elf_note	elf64_note - -#endif - - -#endif diff --git a/mdk-stage1/dietlibc/include/endian.h b/mdk-stage1/dietlibc/include/endian.h deleted file mode 100644 index 93b1f2948..000000000 --- a/mdk-stage1/dietlibc/include/endian.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef	_ENDIAN_H -#define	_ENDIAN_H - -#define	__LITTLE_ENDIAN	1234 -#define	__BIG_ENDIAN	4321 - -#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__) -#define __BYTE_ORDER		__LITTLE_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#endif - -#ifdef __sparc__ -#define __BYTE_ORDER		__BIG_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#endif - -#ifdef __hppa__ -/* I hope this is correct...? */ -#define __BYTE_ORDER		__BIG_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#endif - -#ifdef __mips__ -#ifdef __MIPSEB__ -#define __BYTE_ORDER		__BIG_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#endif -#endif - -#ifndef __BYTE_ORDER -#ifdef __BIG_ENDIAN__ -#define __BYTE_ORDER		__BIG_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#else -#define __BYTE_ORDER		__LITTLE_ENDIAN -#define __FLOAT_WORD_ORDER	__BYTE_ORDER -#endif -#endif - -#define LITTLE_ENDIAN		__LITTLE_ENDIAN -#define BIG_ENDIAN		__BIG_ENDIAN -#define BYTE_ORDER		__BYTE_ORDER - -#if __BYTE_ORDER == __LITTLE_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) LO, HI -#elif __BYTE_ORDER == __BIG_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) HI, LO -#endif - -#if defined(__alpha__) || defined(__mips64) || defined(__sparc_v9__) || defined(__x86_64__) || defined(__ia64__) -#define __WORDSIZE 64 -#endif - -#if defined(__sparc__) && (__arch64__) -#define __WORDSIZE 64 -#endif - -#ifndef __WORDSIZE -#define __WORDSIZE 32 -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/errno.h b/mdk-stage1/dietlibc/include/errno.h deleted file mode 100644 index 12aa394da..000000000 --- a/mdk-stage1/dietlibc/include/errno.h +++ /dev/null @@ -1,546 +0,0 @@ -#ifndef _ERRNO_H -#define _ERRNO_H - -#if defined(__alpha__) - -#define EPERM		 1	/* Operation not permitted */ -#define ENOENT		 2	/* No such file or directory */ -#define ESRCH		 3	/* No such process */ -#define EINTR		 4	/* Interrupted system call */ -#define EIO		 5	/* I/O error */ -#define ENXIO		 6	/* No such device or address */ -#define E2BIG		 7	/* Arg list too long */ -#define ENOEXEC		 8	/* Exec format error */ -#define EBADF		 9	/* Bad file number */ -#define ECHILD		10	/* No child processes */ -#define EDEADLK		11	/* Resource deadlock would occur */ -#define ENOMEM		12	/* Out of memory */ -#define EACCES		13	/* Permission denied */ -#define EFAULT		14	/* Bad address */ -#define ENOTBLK		15	/* Block device required */ -#define EBUSY		16	/* Device or resource busy */ -#define EEXIST		17	/* File exists */ -#define EXDEV		18	/* Cross-device link */ -#define ENODEV		19	/* No such device */ -#define ENOTDIR		20	/* Not a directory */ -#define EISDIR		21	/* Is a directory */ -#define EINVAL		22	/* Invalid argument */ -#define ENFILE		23	/* File table overflow */ -#define EMFILE		24	/* Too many open files */ -#define ENOTTY		25	/* Not a typewriter */ -#define ETXTBSY		26	/* Text file busy */ -#define EFBIG		27	/* File too large */ -#define ENOSPC		28	/* No space left on device */ -#define ESPIPE		29	/* Illegal seek */ -#define EROFS		30	/* Read-only file system */ -#define EMLINK		31	/* Too many links */ -#define EPIPE		32	/* Broken pipe */ -#define EDOM		33	/* Math argument out of domain of func */ -#define ERANGE		34	/* Math result not representable */ -#define EAGAIN		35	/* Try again */ -#define EWOULDBLOCK	EAGAIN	/* Operation would block */ -#define EINPROGRESS	36	/* Operation now in progress */ -#define EALREADY	37	/* Operation already in progress */ -#define ENOTSOCK	38	/* Socket operation on non-socket */ -#define EDESTADDRREQ	39	/* Destination address required */ -#define EMSGSIZE	40	/* Message too long */ -#define EPROTOTYPE	41	/* Protocol wrong type for socket */ -#define ENOPROTOOPT	42	/* Protocol not available */ -#define EPROTONOSUPPORT	43	/* Protocol not supported */ -#define ESOCKTNOSUPPORT	44	/* Socket type not supported */ -#define EOPNOTSUPP	45	/* Operation not supported on transport endpoint */ -#define ENOTSUP		EOPNOTSUPP/* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT	46	/* Protocol family not supported */ -#define EAFNOSUPPORT	47	/* Address family not supported by protocol */ -#define EADDRINUSE	48	/* Address already in use */ -#define EADDRNOTAVAIL	49	/* Cannot assign requested address */ -#define ENETDOWN	50	/* Network is down */ -#define ENETUNREACH	51	/* Network is unreachable */ -#define ENETRESET	52	/* Network dropped connection because of reset */ -#define ECONNABORTED	53	/* Software caused connection abort */ -#define ECONNRESET	54	/* Connection reset by peer */ -#define ENOBUFS		55	/* No buffer space available */ -#define EISCONN		56	/* Transport endpoint is already connected */ -#define ENOTCONN	57	/* Transport endpoint is not connected */ -#define ESHUTDOWN	58	/* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS	59	/* Too many references: cannot splice */ -#define ETIMEDOUT	60	/* Connection timed out */ -#define ECONNREFUSED	61	/* Connection refused */ -#define ELOOP		62	/* Too many symbolic links encountered */ -#define ENAMETOOLONG	63	/* File name too long */ -#define EHOSTDOWN	64	/* Host is down */ -#define EHOSTUNREACH	65	/* No route to host */ -#define ENOTEMPTY	66	/* Directory not empty */ -#define EUSERS		68	/* Too many users */ -#define EDQUOT		69	/* Quota exceeded */ -#define ESTALE		70	/* Stale NFS file handle */ -#define EREMOTE		71	/* Object is remote */ -#define ENOLCK		77	/* No record locks available */ -#define ENOSYS		78	/* Function not implemented */ -#define ENOMSG		80	/* No message of desired type */ -#define EIDRM		81	/* Identifier removed */ -#define ENOSR		82	/* Out of streams resources */ -#define ETIME		83	/* Timer expired */ -#define EBADMSG		84	/* Not a data message */ -#define EPROTO		85	/* Protocol error */ -#define ENODATA		86	/* No data available */ -#define ENOSTR		87	/* Device not a stream */ -#define ENOPKG		92	/* Package not installed */ -#define EILSEQ		116	/* Illegal byte sequence */ -/* The following are just random noise.. */ -#define ECHRNG		88	/* Channel number out of range */ -#define EL2NSYNC	89	/* Level 2 not synchronized */ -#define EL3HLT		90	/* Level 3 halted */ -#define EL3RST		91	/* Level 3 reset */ -#define ELNRNG		93	/* Link number out of range */ -#define EUNATCH		94	/* Protocol driver not attached */ -#define ENOCSI		95	/* No CSI structure available */ -#define EL2HLT		96	/* Level 2 halted */ -#define EBADE		97	/* Invalid exchange */ -#define EBADR		98	/* Invalid request descriptor */ -#define EXFULL		99	/* Exchange full */ -#define ENOANO		100	/* No anode */ -#define EBADRQC		101	/* Invalid request code */ -#define EBADSLT		102	/* Invalid slot */ -#define EDEADLOCK	EDEADLK -#define EBFONT		104	/* Bad font file format */ -#define ENONET		105	/* Machine is not on the network */ -#define ENOLINK		106	/* Link has been severed */ -#define EADV		107	/* Advertise error */ -#define ESRMNT		108	/* Srmount error */ -#define ECOMM		109	/* Communication error on send */ -#define EMULTIHOP	110	/* Multihop attempted */ -#define EDOTDOT		111	/* RFS specific error */ -#define EOVERFLOW	112	/* Value too large for defined data type */ -#define ENOTUNIQ	113	/* Name not unique on network */ -#define EBADFD		114	/* File descriptor in bad state */ -#define EREMCHG		115	/* Remote address changed */ -#define EUCLEAN		117	/* Structure needs cleaning */ -#define ENOTNAM		118	/* Not a XENIX named type file */ -#define ENAVAIL		119	/* No XENIX semaphores available */ -#define EISNAM		120	/* Is a named type file */ -#define EREMOTEIO	121	/* Remote I/O error */ -#define ELIBACC		122	/* Can not access a needed shared library */ -#define ELIBBAD		123	/* Accessing a corrupted shared library */ -#define ELIBSCN		124	/* .lib section in a.out corrupted */ -#define ELIBMAX		125	/* Attempting to link in too many shared libraries */ -#define ELIBEXEC	126	/* Cannot exec a shared library directly */ -#define ERESTART	127	/* Interrupted system call should be restarted */ -#define ESTRPIPE	128	/* Streams pipe error */ -#define ENOMEDIUM	129	/* No medium found */ -#define EMEDIUMTYPE	130	/* Wrong medium type */ - -#elif defined(__mips__) - -#define EPERM		 1	/* Operation not permitted */ -#define ENOENT		 2	/* No such file or directory */ -#define ESRCH		 3	/* No such process */ -#define EINTR		 4	/* Interrupted system call */ -#define EIO		 5	/* I/O error */ -#define ENXIO		 6	/* No such device or address */ -#define E2BIG		 7	/* Arg list too long */ -#define ENOEXEC		 8	/* Exec format error */ -#define EBADF		 9	/* Bad file number */ -#define ECHILD		10	/* No child processes */ -#define EAGAIN		11	/* Try again */ -#define ENOMEM		12	/* Out of memory */ -#define EACCES		13	/* Permission denied */ -#define EFAULT		14	/* Bad address */ -#define ENOTBLK		15	/* Block device required */ -#define EBUSY		16	/* Device or resource busy */ -#define EEXIST		17	/* File exists */ -#define EXDEV		18	/* Cross-device link */ -#define ENODEV		19	/* No such device */ -#define ENOTDIR		20	/* Not a directory */ -#define EISDIR		21	/* Is a directory */ -#define EINVAL		22	/* Invalid argument */ -#define ENFILE		23	/* File table overflow */ -#define EMFILE		24	/* Too many open files */ -#define ENOTTY		25	/* Not a typewriter */ -#define ETXTBSY		26	/* Text file busy */ -#define EFBIG		27	/* File too large */ -#define ENOSPC		28	/* No space left on device */ -#define ESPIPE		29	/* Illegal seek */ -#define EROFS		30	/* Read-only file system */ -#define EMLINK		31	/* Too many links */ -#define EPIPE		32	/* Broken pipe */ -#define EDOM		33	/* Math argument out of domain of func */ -#define ERANGE		34	/* Math result not representable */ -#define ENOMSG		35	/* No message of desired type */ -#define EIDRM		36	/* Identifier removed */ -#define ECHRNG		37	/* Channel number out of range */ -#define EL2NSYNC	38	/* Level 2 not synchronized */ -#define EL3HLT		39	/* Level 3 halted */ -#define EL3RST		40	/* Level 3 reset */ -#define ELNRNG		41	/* Link number out of range */ -#define EUNATCH		42	/* Protocol driver not attached */ -#define ENOCSI		43	/* No CSI structure available */ -#define EL2HLT		44	/* Level 2 halted */ -#define EDEADLK		45	/* Resource deadlock would occur */ -#define ENOLCK		46	/* No record locks available */ -#define EBADE		50	/* Invalid exchange */ -#define EBADR		51	/* Invalid request descriptor */ -#define EXFULL		52	/* Exchange full */ -#define ENOANO		53	/* No anode */ -#define EBADRQC		54	/* Invalid request code */ -#define EBADSLT		55	/* Invalid slot */ -#define EDEADLOCK	56	/* File locking deadlock error */ -#define EBFONT		59	/* Bad font file format */ -#define ENOSTR		60	/* Device not a stream */ -#define ENODATA		61	/* No data available */ -#define ETIME		62	/* Timer expired */ -#define ENOSR		63	/* Out of streams resources */ -#define ENONET		64	/* Machine is not on the network */ -#define ENOPKG		65	/* Package not installed */ -#define EREMOTE		66	/* Object is remote */ -#define ENOLINK		67	/* Link has been severed */ -#define EADV		68	/* Advertise error */ -#define ESRMNT		69	/* Srmount error */ -#define ECOMM		70	/* Communication error on send */ -#define EPROTO		71	/* Protocol error */ -#define EDOTDOT		73	/* RFS specific error */ -#define EMULTIHOP	74	/* Multihop attempted */ -#define EBADMSG		77	/* Not a data message */ -#define ENAMETOOLONG	78	/* File name too long */ -#define EOVERFLOW	79	/* Value too large for defined data type */ -#define ENOTUNIQ	80	/* Name not unique on network */ -#define EBADFD		81	/* File descriptor in bad state */ -#define EREMCHG		82	/* Remote address changed */ -#define ELIBACC		83	/* Can not access a needed shared library */ -#define ELIBBAD		84	/* Accessing a corrupted shared library */ -#define ELIBSCN		85	/* .lib section in a.out corrupted */ -#define ELIBMAX		86	/* Attempting to link in too many shared libraries */ -#define ELIBEXEC	87	/* Cannot exec a shared library directly */ -#define EILSEQ		88	/* Illegal byte sequence */ -#define ENOSYS		89	/* Function not implemented */ -#define ELOOP		90	/* Too many symbolic links encountered */ -#define ERESTART	91	/* Interrupted system call should be restarted */ -#define ESTRPIPE	92	/* Streams pipe error */ -#define ENOTEMPTY	93	/* Directory not empty */ -#define EUSERS		94	/* Too many users */ -#define ENOTSOCK	95	/* Socket operation on non-socket */ -#define EDESTADDRREQ	96	/* Destination address required */ -#define EMSGSIZE	97	/* Message too long */ -#define EPROTOTYPE	98	/* Protocol wrong type for socket */ -#define ENOPROTOOPT	99	/* Protocol not available */ -#define EPROTONOSUPPORT	120	/* Protocol not supported */ -#define ESOCKTNOSUPPORT	121	/* Socket type not supported */ -#define EOPNOTSUPP	122	/* Operation not supported on transport endpoint */ -#define ENOTSUP		EOPNOTSUPP/* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT	123	/* Protocol family not supported */ -#define EAFNOSUPPORT	124	/* Address family not supported by protocol */ -#define EADDRINUSE	125	/* Address already in use */ -#define EADDRNOTAVAIL	126	/* Cannot assign requested address */ -#define ENETDOWN	127	/* Network is down */ -#define ENETUNREACH	128	/* Network is unreachable */ -#define ENETRESET	129	/* Network dropped connection because of reset */ -#define ECONNABORTED	130	/* Software caused connection abort */ -#define ECONNRESET	131	/* Connection reset by peer */ -#define ENOBUFS		132	/* No buffer space available */ -#define EISCONN		133	/* Transport endpoint is already connected */ -#define ENOTCONN	134	/* Transport endpoint is not connected */ -#define EUCLEAN		135	/* Structure needs cleaning */ -#define ENOTNAM		137	/* Not a XENIX named type file */ -#define ENAVAIL		138	/* No XENIX semaphores available */ -#define EISNAM		139	/* Is a named type file */ -#define EREMOTEIO	140	/* Remote I/O error */ -#define EINIT		141	/* Reserved */ -#define EREMDEV		142	/* Error 142 */ -#define ESHUTDOWN	143	/* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS	144	/* Too many references: cannot splice */ -#define ETIMEDOUT	145	/* Connection timed out */ -#define ECONNREFUSED	146	/* Connection refused */ -#define EHOSTDOWN	147	/* Host is down */ -#define EHOSTUNREACH	148	/* No route to host */ -#define EWOULDBLOCK	EAGAIN	/* Operation would block */ -#define EALREADY	149	/* Operation already in progress */ -#define EINPROGRESS	150	/* Operation now in progress */ -#define ESTALE		151	/* Stale NFS file handle */ -#define ECANCELED	158	/* AIO operation canceled */ -#define ENOMEDIUM	159	/* No medium found */ -#define EMEDIUMTYPE	160	/* Wrong medium type */ -#define EDQUOT		1133	/* Quota exceeded */ - -#elif defined(__sparc__) - -#define EPERM		 1	/* Operation not permitted */ -#define ENOENT		 2	/* No such file or directory */ -#define ESRCH		 3	/* No such process */ -#define EINTR		 4	/* Interrupted system call */ -#define EIO		 5	/* I/O error */ -#define ENXIO		 6	/* No such device or address */ -#define E2BIG		 7	/* Arg list too long */ -#define ENOEXEC		 8	/* Exec format error */ -#define EBADF		 9	/* Bad file number */ -#define ECHILD		10	/* No child processes */ -#define EAGAIN		11	/* Try again */ -#define ENOMEM		12	/* Out of memory */ -#define EACCES		13	/* Permission denied */ -#define EFAULT		14	/* Bad address */ -#define ENOTBLK		15	/* Block device required */ -#define EBUSY		16	/* Device or resource busy */ -#define EEXIST		17	/* File exists */ -#define EXDEV		18	/* Cross-device link */ -#define ENODEV		19	/* No such device */ -#define ENOTDIR		20	/* Not a directory */ -#define EISDIR		21	/* Is a directory */ -#define EINVAL		22	/* Invalid argument */ -#define ENFILE		23	/* File table overflow */ -#define EMFILE		24	/* Too many open files */ -#define ENOTTY		25	/* Not a typewriter */ -#define ETXTBSY		26	/* Text file busy */ -#define EFBIG		27	/* File too large */ -#define ENOSPC		28	/* No space left on device */ -#define ESPIPE		29	/* Illegal seek */ -#define EROFS		30	/* Read-only file system */ -#define EMLINK		31	/* Too many links */ -#define EPIPE		32	/* Broken pipe */ -#define EDOM		33	/* Math argument out of domain of func */ -#define ERANGE		34	/* Math result not representable */ -#define EWOULDBLOCK	EAGAIN	/* Operation would block */ -#define EINPROGRESS	36	/* Operation now in progress */ -#define EALREADY	37	/* Operation already in progress */ -#define ENOTSOCK	38	/* Socket operation on non-socket */ -#define EDESTADDRREQ	39	/* Destination address required */ -#define EMSGSIZE	40	/* Message too long */ -#define EPROTOTYPE	41	/* Protocol wrong type for socket */ -#define ENOPROTOOPT	42	/* Protocol not available */ -#define EPROTONOSUPPORT	43	/* Protocol not supported */ -#define ESOCKTNOSUPPORT	44	/* Socket type not supported */ -#define EOPNOTSUPP	45	/* Op not supported on transport endpoint */ -#define ENOTSUP		EOPNOTSUPP/* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT	46	/* Protocol family not supported */ -#define EAFNOSUPPORT	47	/* Address family not supported by protocol */ -#define EADDRINUSE	48	/* Address already in use */ -#define EADDRNOTAVAIL	49	/* Cannot assign requested address */ -#define ENETDOWN	50	/* Network is down */ -#define ENETUNREACH	51	/* Network is unreachable */ -#define ENETRESET	52	/* Net dropped connection because of reset */ -#define ECONNABORTED	53	/* Software caused connection abort */ -#define ECONNRESET	54	/* Connection reset by peer */ -#define ENOBUFS		55	/* No buffer space available */ -#define EISCONN		56	/* Transport endpoint is already connected */ -#define ENOTCONN	57	/* Transport endpoint is not connected */ -#define ESHUTDOWN	58	/* No send after transport endpoint shutdown */ -#define ETOOMANYREFS	59	/* Too many references: cannot splice */ -#define ETIMEDOUT	60	/* Connection timed out */ -#define ECONNREFUSED	61	/* Connection refused */ -#define ELOOP		62	/* Too many symbolic links encountered */ -#define ENAMETOOLONG	63	/* File name too long */ -#define EHOSTDOWN	64	/* Host is down */ -#define EHOSTUNREACH	65	/* No route to host */ -#define ENOTEMPTY	66	/* Directory not empty */ -#define EPROCLIM	67	/* SUNOS: Too many processes */ -#define EUSERS		68	/* Too many users */ -#define EDQUOT		69	/* Quota exceeded */ -#define ESTALE		70	/* Stale NFS file handle */ -#define EREMOTE		71	/* Object is remote */ -#define ENOSTR		72	/* Device not a stream */ -#define ETIME		73	/* Timer expired */ -#define ENOSR		74	/* Out of streams resources */ -#define ENOMSG		75	/* No message of desired type */ -#define EBADMSG		76	/* Not a data message */ -#define EIDRM		77	/* Identifier removed */ -#define EDEADLK		78	/* Resource deadlock would occur */ -#define ENOLCK		79	/* No record locks available */ -#define ENONET		80	/* Machine is not on the network */ -#define ERREMOTE	81	/* SunOS: Too many lvls of remote in path */ -#define ENOLINK		82	/* Link has been severed */ -#define EADV		83	/* Advertise error */ -#define ESRMNT		84	/* Srmount error */ -#define ECOMM		85	/* Communication error on send */ -#define EPROTO		86	/* Protocol error */ -#define EMULTIHOP	87	/* Multihop attempted */ -#define EDOTDOT		88	/* RFS specific error */ -#define EREMCHG		89	/* Remote address changed */ -#define ENOSYS		90	/* Function not implemented */ -#define ESTRPIPE	91	/* Streams pipe error */ -#define EOVERFLOW	92	/* Value too large for defined data type */ -#define EBADFD		93	/* File descriptor in bad state */ -#define ECHRNG		94	/* Channel number out of range */ -#define EL2NSYNC	95	/* Level 2 not synchronized */ -#define EL3HLT		96	/* Level 3 halted */ -#define EL3RST		97	/* Level 3 reset */ -#define ELNRNG		98	/* Link number out of range */ -#define EUNATCH		99	/* Protocol driver not attached */ -#define ENOCSI		100	/* No CSI structure available */ -#define EL2HLT		101	/* Level 2 halted */ -#define EBADE		102	/* Invalid exchange */ -#define EBADR		103	/* Invalid request descriptor */ -#define EXFULL		104	/* Exchange full */ -#define ENOANO		105	/* No anode */ -#define EBADRQC		106	/* Invalid request code */ -#define EBADSLT		107	/* Invalid slot */ -#define EDEADLOCK	108	/* File locking deadlock error */ -#define EBFONT		109	/* Bad font file format */ -#define ELIBEXEC	110	/* Cannot exec a shared library directly */ -#define ENODATA		111	/* No data available */ -#define ELIBBAD		112	/* Accessing a corrupted shared library */ -#define ENOPKG		113	/* Package not installed */ -#define ELIBACC		114	/* Can not access a needed shared library */ -#define ENOTUNIQ	115	/* Name not unique on network */ -#define ERESTART	116	/* Interrupted syscall should be restarted */ -#define EUCLEAN		117	/* Structure needs cleaning */ -#define ENOTNAM		118	/* Not a XENIX named type file */ -#define ENAVAIL		119	/* No XENIX semaphores available */ -#define EISNAM		120	/* Is a named type file */ -#define EREMOTEIO	121	/* Remote I/O error */ -#define EILSEQ		122	/* Illegal byte sequence */ -#define ELIBMAX		123	/* Atmpt to link in too many shared libs */ -#define ELIBSCN		124	/* .lib section in a.out corrupted */ -#define ENOMEDIUM	125	/* No medium found */ -#define EMEDIUMTYPE	126	/* Wrong medium type */ - -#else - -/* i386, arm, ppc, x86_64, ia64 */ - -#define EPERM		 1	/* Operation not permitted */ -#define ENOENT		 2	/* No such file or directory */ -#define ESRCH		 3	/* No such process */ -#define EINTR		 4	/* Interrupted system call */ -#define EIO		 5	/* I/O error */ -#define ENXIO		 6	/* No such device or address */ -#define E2BIG		 7	/* Arg list too long */ -#define ENOEXEC		 8	/* Exec format error */ -#define EBADF		 9	/* Bad file number */ -#define ECHILD		10	/* No child processes */ -#define EAGAIN		11	/* Try again */ -#define ENOMEM		12	/* Out of memory */ -#define EACCES		13	/* Permission denied */ -#define EFAULT		14	/* Bad address */ -#define ENOTBLK		15	/* Block device required */ -#define EBUSY		16	/* Device or resource busy */ -#define EEXIST		17	/* File exists */ -#define EXDEV		18	/* Cross-device link */ -#define ENODEV		19	/* No such device */ -#define ENOTDIR		20	/* Not a directory */ -#define EISDIR		21	/* Is a directory */ -#define EINVAL		22	/* Invalid argument */ -#define ENFILE		23	/* File table overflow */ -#define EMFILE		24	/* Too many open files */ -#define ENOTTY		25	/* Not a typewriter */ -#define ETXTBSY		26	/* Text file busy */ -#define EFBIG		27	/* File too large */ -#define ENOSPC		28	/* No space left on device */ -#define ESPIPE		29	/* Illegal seek */ -#define EROFS		30	/* Read-only file system */ -#define EMLINK		31	/* Too many links */ -#define EPIPE		32	/* Broken pipe */ -#define EDOM		33	/* Math argument out of domain of func */ -#define ERANGE		34	/* Math result not representable */ -#define EDEADLK		35	/* Resource deadlock would occur */ -#define ENAMETOOLONG	36	/* File name too long */ -#define ENOLCK		37	/* No record locks available */ -#define ENOSYS		38	/* Function not implemented */ -#define ENOTEMPTY	39	/* Directory not empty */ -#define ELOOP		40	/* Too many symbolic links encountered */ -#define EWOULDBLOCK	EAGAIN	/* Operation would block */ -#define ENOMSG		42	/* No message of desired type */ -#define EIDRM		43	/* Identifier removed */ -#define ECHRNG		44	/* Channel number out of range */ -#define EL2NSYNC	45	/* Level 2 not synchronized */ -#define EL3HLT		46	/* Level 3 halted */ -#define EL3RST		47	/* Level 3 reset */ -#define ELNRNG		48	/* Link number out of range */ -#define EUNATCH		49	/* Protocol driver not attached */ -#define ENOCSI		50	/* No CSI structure available */ -#define EL2HLT		51	/* Level 2 halted */ -#define EBADE		52	/* Invalid exchange */ -#define EBADR		53	/* Invalid request descriptor */ -#define EXFULL		54	/* Exchange full */ -#define ENOANO		55	/* No anode */ -#define EBADRQC		56	/* Invalid request code */ -#define EBADSLT		57	/* Invalid slot */ -#define EDEADLOCK	EDEADLK -#define EBFONT		59	/* Bad font file format */ -#define ENOSTR		60	/* Device not a stream */ -#define ENODATA		61	/* No data available */ -#define ETIME		62	/* Timer expired */ -#define ENOSR		63	/* Out of streams resources */ -#define ENONET		64	/* Machine is not on the network */ -#define ENOPKG		65	/* Package not installed */ -#define EREMOTE		66	/* Object is remote */ -#define ENOLINK		67	/* Link has been severed */ -#define EADV		68	/* Advertise error */ -#define ESRMNT		69	/* Srmount error */ -#define ECOMM		70	/* Communication error on send */ -#define EPROTO		71	/* Protocol error */ -#define EMULTIHOP	72	/* Multihop attempted */ -#define EDOTDOT		73	/* RFS specific error */ -#define EBADMSG		74	/* Not a data message */ -#define EOVERFLOW	75	/* Value too large for defined data type */ -#define ENOTUNIQ	76	/* Name not unique on network */ -#define EBADFD		77	/* File descriptor in bad state */ -#define EREMCHG		78	/* Remote address changed */ -#define ELIBACC		79	/* Can not access a needed shared library */ -#define ELIBBAD		80	/* Accessing a corrupted shared library */ -#define ELIBSCN		81	/* .lib section in a.out corrupted */ -#define ELIBMAX		82	/* Attempting to link in too many shared libraries */ -#define ELIBEXEC	83	/* Cannot exec a shared library directly */ -#define EILSEQ		84	/* Illegal byte sequence */ -#define ERESTART	85	/* Interrupted system call should be restarted */ -#define ESTRPIPE	86	/* Streams pipe error */ -#define EUSERS		87	/* Too many users */ -#define ENOTSOCK	88	/* Socket operation on non-socket */ -#define EDESTADDRREQ	89	/* Destination address required */ -#define EMSGSIZE	90	/* Message too long */ -#define EPROTOTYPE	91	/* Protocol wrong type for socket */ -#define ENOPROTOOPT	92	/* Protocol not available */ -#define EPROTONOSUPPORT	93	/* Protocol not supported */ -#define ESOCKTNOSUPPORT	94	/* Socket type not supported */ -#define EOPNOTSUPP	95	/* Operation not supported on transport endpoint */ -#define ENOTSUP		EOPNOTSUPP/* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT	96	/* Protocol family not supported */ -#define EAFNOSUPPORT	97	/* Address family not supported by protocol */ -#define EADDRINUSE	98	/* Address already in use */ -#define EADDRNOTAVAIL	99	/* Cannot assign requested address */ -#define ENETDOWN	100	/* Network is down */ -#define ENETUNREACH	101	/* Network is unreachable */ -#define ENETRESET	102	/* Network dropped connection because of reset */ -#define ECONNABORTED	103	/* Software caused connection abort */ -#define ECONNRESET	104	/* Connection reset by peer */ -#define ENOBUFS		105	/* No buffer space available */ -#define EISCONN		106	/* Transport endpoint is already connected */ -#define ENOTCONN	107	/* Transport endpoint is not connected */ -#define ESHUTDOWN	108	/* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS	109	/* Too many references: cannot splice */ -#define ETIMEDOUT	110	/* Connection timed out */ -#define ECONNREFUSED	111	/* Connection refused */ -#define EHOSTDOWN	112	/* Host is down */ -#define EHOSTUNREACH	113	/* No route to host */ -#define EALREADY	114	/* Operation already in progress */ -#define EINPROGRESS	115	/* Operation now in progress */ -#define ESTALE		116	/* Stale NFS file handle */ -#define EUCLEAN		117	/* Structure needs cleaning */ -#define ENOTNAM		118	/* Not a XENIX named type file */ -#define ENAVAIL		119	/* No XENIX semaphores available */ -#define EISNAM		120	/* Is a named type file */ -#define EREMOTEIO	121	/* Remote I/O error */ -#define EDQUOT		122	/* Quota exceeded */ -#define ENOMEDIUM	123	/* No medium found */ -#define EMEDIUMTYPE	124	/* Wrong medium type */ -#endif - -#define __SYS_NERR  ((EMEDIUMTYPE) + 1) - -#ifndef __ASSEMBLER__ - -#ifndef _REENTRANT -extern int errno; -#else -#define errno (*__errno_location()) -#endif - -extern int *__errno_location(void); - -#define __set_errno(x) errno=(x) - -#ifdef _BSD_SOURCE -extern const char *const sys_errlist[]; -extern int sys_nerr; -#endif - -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/fcntl.h b/mdk-stage1/dietlibc/include/fcntl.h deleted file mode 100644 index 33f58d82a..000000000 --- a/mdk-stage1/dietlibc/include/fcntl.h +++ /dev/null @@ -1,564 +0,0 @@ -#ifndef _FCNTL_H -#define _FCNTL_H - -#include <sys/cdefs.h> - -#include <sys/types.h> -#include <unistd.h> - -#define F_LINUX_SPECIFIC_BASE	1024 - -#if defined(__i386__) || defined(__s390__) || defined(__x86_64__) || defined(__ia64__) - -/* 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 FASYNC		 020000	/* fcntl, for BSD compatibility */ -#define O_DIRECT	 040000	/* direct disk access hint - currently ignored */ -#define O_LARGEFILE	0100000 -#define O_DIRECTORY	0200000	/* must be a directory */ -#define O_NOFOLLOW	0400000 /* don't follow links */ - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4	/* set file->f_flags */ -#define F_GETLK		5 -#define F_SETLK		6 -#define F_SETLKW	7 -#define F_SETOWN	8	/*  for sockets. */ -#define F_GETOWN	9	/*  for sockets. */ -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -#define F_GETLK64	12	/*  using 'struct flock64' */ -#define F_SETLK64	13 -#define F_SETLKW64	14 - -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		0 -#define F_WRLCK		1 -#define F_UNLCK		2 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -/* for leases */ -#define F_INPROGRESS	16 - -/* 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 */ - -#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 ops */ - -struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  pid_t l_pid; -}; - -struct flock64 { -  short  l_type; -  short  l_whence; -  loff_t l_start; -  loff_t l_len; -  pid_t  l_pid; -}; - -#elif defined(__alpha__) - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files -   located on an ext2 file system */ -#define O_ACCMODE	  0003 -#define O_RDONLY	    00 -#define O_WRONLY	    01 -#define O_RDWR		    02 -#define O_CREAT		 01000	/* not fcntl */ -#define O_TRUNC		 02000	/* not fcntl */ -#define O_EXCL		 04000	/* not fcntl */ -#define O_NOCTTY	010000	/* not fcntl */ - -#define O_NONBLOCK	 00004 -#define O_APPEND	 00010 -#define O_NDELAY	O_NONBLOCK -#define O_SYNC		040000 -#define FASYNC		020000	/* fcntl, for BSD compatibility */ -#define O_DIRECT	040000	/* direct disk access - should check with OSF/1 */ -#define O_DIRECTORY	0100000	/* must be a directory */ -#define O_NOFOLLOW	0200000 /* don't follow links */ -#define O_LARGEFILE	0400000 /* will be set by the kernel on every open */ - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4       /* set file->f_flags */ -#define F_GETLK		7 -#define F_SETLK		8 -#define F_SETLKW	9 - -#define F_SETOWN	5	/*  for sockets. */ -#define F_GETOWN	6	/*  for sockets. */ -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -/* for F_[GET|SET]FL */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		1 -#define F_WRLCK		2 -#define F_UNLCK		8 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		16	/* or 3 */ -#define F_SHLCK		32	/* or 4 */ - -#define F_INPROGRESS	64 - -/* 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 */ -#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 ops */ - -struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  pid_t l_pid; -}; - -#elif defined(__mips__) - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files -   located on an ext2 file system */ -#define O_ACCMODE	0x0003 -#define O_RDONLY	0x0000 -#define O_WRONLY	0x0001 -#define O_RDWR		0x0002 -#define O_APPEND	0x0008 -#define O_SYNC		0x0010 -#define O_NONBLOCK	0x0080 -#define O_CREAT         0x0100	/* not fcntl */ -#define O_TRUNC		0x0200	/* not fcntl */ -#define O_EXCL		0x0400	/* not fcntl */ -#define O_NOCTTY	0x0800	/* not fcntl */ -#define FASYNC		0x1000	/* fcntl, for BSD compatibility */ -#define O_LARGEFILE	0x2000	/* allow large file opens - currently ignored */ -#define O_DIRECT	0x8000	/* direct disk access hint - currently ignored */ -#define O_DIRECTORY	0x10000	/* must be a directory */ -#define O_NOFOLLOW	0x20000	/* don't follow links */ - -#define O_NDELAY	O_NONBLOCK - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4	/* set file->f_flags */ -#define F_GETLK		14 -#define F_SETLK		6 -#define F_SETLKW	7 - -#define F_SETOWN	24	/*  for sockets. */ -#define F_GETOWN	23	/*  for sockets. */ -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -/* for F_[GET|SET]FL */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		0 -#define F_WRLCK		1 -#define F_UNLCK		2 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -/* for leases */ -#define F_INPROGRESS	16 - -/* 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		XXXXXXXXXXXXXXXXXX -				   blocking */ -#define LOCK_UN		8	/* remove lock */ - -#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 ops */ - -typedef struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  long  l_sysid;			/* XXXXXXXXXXXXXXXXXXXXXXXXX */ -  pid_t l_pid; -  long  pad[4];			/* ZZZZZZZZZZZZZZZZZZZZZZZZZZ */ -} flock_t; - -#elif defined(__sparc__) - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files -   located on an ext2 file system */ -#define O_RDONLY	0x0000 -#define O_WRONLY	0x0001 -#define O_RDWR		0x0002 -#define O_ACCMODE	0x0003 -#define O_APPEND	0x0008 -#define FASYNC		0x0040	/* fcntl, for BSD compatibility */ -#define O_CREAT		0x0200	/* not fcntl */ -#define O_TRUNC		0x0400	/* not fcntl */ -#define O_EXCL		0x0800	/* not fcntl */ -#define O_SYNC		0x2000 -#define O_NONBLOCK	0x4000 -#define O_NDELAY	(0x0004 | O_NONBLOCK) -#define O_NOCTTY	0x8000	/* not fcntl */ -#define O_DIRECTORY	0x10000	/* must be a directory */ -#define O_NOFOLLOW	0x20000	/* don't follow links */ -#define O_LARGEFILE	0x40000 - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4	/* set file->f_flags */ -#define F_GETOWN	5	/*  for sockets. */ -#define F_SETOWN	6	/*  for sockets. */ -#define F_GETLK		7 -#define F_SETLK		8 -#define F_SETLKW	9 -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -#define F_GETLK64	12	/*  using 'struct flock64' */ -#define F_SETLK64	13 -#define F_SETLKW64	14 - -/* for F_[GET|SET]FL */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		1 -#define F_WRLCK		2 -#define F_UNLCK		3 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -/* for leases */ -#define F_INPROGRESS	16 - -/* 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 */ - -#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 ops */ - -struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  pid_t l_pid; -  short __unused; -}; - -#ifdef __arch64__ -#define flock64 flock -#else -struct flock64 { -  short l_type; -  short l_whence; -  loff_t l_start; -  loff_t l_len; -  pid_t l_pid; -  short __unused; -}; -#endif - -#elif defined(__powerpc__) - -/* 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 FASYNC		 020000	/* fcntl, for BSD compatibility */ -#define O_DIRECTORY      040000	/* must be a directory */ -#define O_NOFOLLOW      0100000	/* don't follow links */ -#define O_LARGEFILE     0200000 -#define O_DIRECT	0400000	/* direct disk access hint - currently ignored */ - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4	/* set file->f_flags */ -#define F_GETLK		5 -#define F_SETLK		6 -#define F_SETLKW	7 - -#define F_SETOWN	8	/*  for sockets. */ -#define F_GETOWN	9	/*  for sockets. */ -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -#define F_GETLK64	12	/*  using 'struct flock64' */ -#define F_SETLK64	13 -#define F_SETLKW64	14 - -/* for F_[GET|SET]FL */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		0 -#define F_WRLCK		1 -#define F_UNLCK		2 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -/* for leases */ -#define F_INPROGRESS	16 - -/* 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 */ - -#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 ops */ - -struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  pid_t l_pid; -}; - -struct flock64 { -  short  l_type; -  short  l_whence; -  loff_t l_start; -  loff_t l_len; -  pid_t  l_pid; -}; - -#elif defined (__arm__) - -/* 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 FASYNC		 020000	/* fcntl, for BSD compatibility */ -#define O_DIRECTORY	 040000	/* must be a directory */ -#define O_NOFOLLOW	0100000	/* don't follow links */ -#define O_DIRECT	0200000	/* direct disk access hint - currently ignored */ -#define O_LARGEFILE	0400000 - -#define F_DUPFD		0	/* dup */ -#define F_GETFD		1	/* get close_on_exec */ -#define F_SETFD		2	/* set/clear close_on_exec */ -#define F_GETFL		3	/* get file->f_flags */ -#define F_SETFL		4	/* set file->f_flags */ -#define F_GETLK		5 -#define F_SETLK		6 -#define F_SETLKW	7 - -#define F_SETOWN	8	/*  for sockets. */ -#define F_GETOWN	9	/*  for sockets. */ -#define F_SETSIG	10	/*  for sockets. */ -#define F_GETSIG	11	/*  for sockets. */ - -#define F_GETLK64	12	/*  using 'struct flock64' */ -#define F_SETLK64	13 -#define F_SETLKW64	14 - -/* for F_[GET|SET]FL */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* for posix fcntl() and lockf() */ -#define F_RDLCK		0 -#define F_WRLCK		1 -#define F_UNLCK		2 - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -/* for leases */ -#define F_INPROGRESS	16 - -/* 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 */ - -#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 ops */ - -struct flock { -  short l_type; -  short l_whence; -  off_t l_start; -  off_t l_len; -  pid_t l_pid; -}; - -struct flock64 { -  short  l_type; -  short  l_whence; -  loff_t l_start; -  loff_t l_len; -  pid_t  l_pid; -}; - -#elif defined(__hppa__) - -/* Copied from bits/fcntl.h */ - -#define O_RDONLY    00000000 -#define O_WRONLY    00000001 -#define O_RDWR      00000002 -#define O_ACCMODE   00000003 -#define O_APPEND    00000010 -#define O_BLKSEEK   00000100 /* HPUX only */ -#define O_CREAT     00000400 /* not fcntl */ -#define O_TRUNC     00001000 /* not fcntl */ -#define O_EXCL      00002000 /* not fcntl */ -#define O_ASYNC     00020000 -#define O_SYNC      00100000 -#define O_NONBLOCK  00200004 /* HPUX has separate NDELAY & NONBLOCK */ -#define O_NDELAY    O_NONBLOCK -#define O_NOCTTY    00400000 /* not fcntl */ -#define O_DIRECTORY  00010000 - -#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).  */ - -#define F_GETLK64   8   /* Get record locking info.  */ -#define F_SETLK64   9   /* Set record locking info (non-blocking).  */ -#define F_SETLKW64  10  /* Set record locking info (blocking).  */ - -#define FD_CLOEXEC  1   /* actually anything with low bit set goes */ - -#define F_RDLCK     1   /* Read lock.  */ -#define F_WRLCK     2   /* Write lock.  */ -#define F_UNLCK     3   /* Remove lock.  */ - -#define F_EXLCK     4   /* or 3 */ -#define F_SHLCK     8   /* or 4 */ - -struct flock -{ -    short int l_type;   /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */ -    short int l_whence; /* Where `l_start' is relative to (like `lseek').  */ -    off_t l_start;    /* Offset where the lock begins.  */ -    off_t l_len;  /* Size of the locked area; zero means until EOF.  */ -    pid_t l_pid;  /* Process holding the lock.  */ -}; - -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 - -extern int fcntl (int __fd, int __cmd, ...) __THROW; -extern int lockf (int __fd, int __cmd, off_t __len) __THROW; -extern int lockf64 (int __fd, int __cmd, off64_t __len) __THROW; - -#define F_ULOCK 0	/* Unlock a previously locked region.  */ -#define F_LOCK  1	/* Lock a region for exclusive use.  */ -#define F_TLOCK 2	/* Test and lock a region for exclusive use.  */ -#define F_TEST  3	/* Test a region for other processes locks.  */ - -#if !defined(O_ASYNC) && defined(FASYNC) -#define O_ASYNC FASYNC -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/features.h b/mdk-stage1/dietlibc/include/features.h deleted file mode 100644 index d2b92d15c..000000000 --- a/mdk-stage1/dietlibc/include/features.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _FEATURES_H -#define _FEATURES_H - -#ifndef __dietlibc__ -#error "not using the diet wrapper?!" -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/float.h b/mdk-stage1/dietlibc/include/float.h deleted file mode 100644 index 9c9c85a3a..000000000 --- a/mdk-stage1/dietlibc/include/float.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _FLOAT_H -#define _FLOAT_H - -/* blatantly copied from gcc headers for sparc */ - -   /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 -   /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 -   /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 -   /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 -   /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F -   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) -   /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F -   /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) -   /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 -   /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F -   /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - -   /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 -   /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 -   /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 -   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) -   /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 -   /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) -   /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 -   /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 -   /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - -   /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 53 -   /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 15 -   /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 2.2204460492503131e-16L -   /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-1021) -   /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 2.2250738585072014e-308L -   /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-307) -   /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 1024 -   /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.7976931348623157e+308L -   /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 308 - -#endif diff --git a/mdk-stage1/dietlibc/include/fnmatch.h b/mdk-stage1/dietlibc/include/fnmatch.h deleted file mode 100644 index 146e700bd..000000000 --- a/mdk-stage1/dietlibc/include/fnmatch.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _FNMATCH_H -#define _FNMATCH_H - -#include <sys/cdefs.h> - -int fnmatch(const char *pattern, const char *string, int flags) __THROW; - -#define FNM_NOESCAPE 1 -#define FNM_PATHNAME 2 -#define FNM_FILE_NAME 2 -#define FNM_PERIOD 4 -#define FNM_LEADING_DIR 8 -#define FNM_CASEFOLD 16 - -#define FNM_NOMATCH 1 - -#endif diff --git a/mdk-stage1/dietlibc/include/ftw.h b/mdk-stage1/dietlibc/include/ftw.h deleted file mode 100644 index e0450518e..000000000 --- a/mdk-stage1/dietlibc/include/ftw.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _FTW_H -#define _FTW_H - -#include <sys/cdefs.h> -#include <sys/stat.h> - -struct FTW -  { -    int base; -    int level; -  }; - -int ftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag), int depth) __THROW; -int  nftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag, struct FTW *s), int depth, int flags) __THROW; - -enum -{ -  FTW_F,		/* Regular file.  */ -#define FTW_F	 FTW_F -  FTW_D,		/* Directory.  */ -#define FTW_D	 FTW_D -  FTW_DNR,		/* Unreadable directory.  */ -#define FTW_DNR	 FTW_DNR -  FTW_NS,		/* Unstatable file.  */ -#define FTW_NS	 FTW_NS -  FTW_SL,		/* Symbolic link.  */ -# define FTW_SL	 FTW_SL -/* These flags are only passed from the `nftw' function.  */ -  FTW_DP,		/* Directory, all subdirs have been visited. */ -# define FTW_DP	 FTW_DP -  FTW_SLN		/* Symbolic link naming non-existing file.  */ -# define FTW_SLN FTW_SLN -}; - -typedef int (*__ftw_func_t) (const char *__filename, -			     const struct stat *__status, int __flag) __THROW; - -typedef int (*__nftw_func_t) (const char *__filename, -			      const struct stat *__status, int __flag, -			      struct FTW *__info) __THROW; - -#ifndef __NO_STAT64 -typedef int (*__ftw64_func_t) (const char *__filename, -			       const struct stat64 *__status, int __flag) __THROW; - -typedef int (*__nftw64_func_t) (const char *__filename, -				const struct stat64 *__status, -				int __flag, struct FTW *__info) __THROW; -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/getopt.h b/mdk-stage1/dietlibc/include/getopt.h deleted file mode 100644 index db1592c52..000000000 --- a/mdk-stage1/dietlibc/include/getopt.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __GETOPT_H__ -#define __GETOPT_H__ - -#include <unistd.h> - -extern int optopt; - -struct option { -  const char* name; -  int has_arg; -  int* flag; -  int val; -}; - -#define no_argument             0 -#define required_argument       1 -#define optional_argument       2 - -extern int getopt_long(int argc, char *const *argv, -		       const char *shortopts, const struct option *longopts, -		       int *longind); - -extern int getopt_long_only(int argc, char *const *argv, -			    const char *shortopts, const struct option *longopts, -			    int *longind); - - -#endif diff --git a/mdk-stage1/dietlibc/include/glob.h b/mdk-stage1/dietlibc/include/glob.h deleted file mode 100644 index bc8f779c9..000000000 --- a/mdk-stage1/dietlibc/include/glob.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef _GLOB_H -#define _GLOB_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -typedef struct { -	size_t gl_pathc;    /* Count of paths matched so far  */ -	char **gl_pathv;    /* List of matched pathnames.  */ -	size_t gl_offs;     /* Slots to reserve in `gl_pathv'.  */ -	int gl_flags;		/* Set to FLAGS, maybe | GLOB_MAGCHAR.  */ -} glob_t; - - -int glob(const char *pattern, int flags, -	 int errfunc(const char * epath, int eerrno), -	 glob_t *pglob) __THROW; - -void globfree(glob_t *pglob) __THROW; - - - -/* Bits set in the FLAGS argument to `glob'.  */ -#define	GLOB_ERR	(1 << 0)/* Return on read errors.  */ -#define	GLOB_MARK	(1 << 1)/* Append a slash to each name.  */ -#define	GLOB_NOSORT	(1 << 2)/* Don't sort the names.  */ -#define	GLOB_DOOFFS	(1 << 3)/* Insert PGLOB->gl_offs NULLs.  */ -#define	GLOB_NOCHECK	(1 << 4)/* If nothing matches, return the pattern.  */ -#define	GLOB_APPEND	(1 << 5)/* Append to results of a previous call.  */ -#define	GLOB_NOESCAPE	(1 << 6)/* Backslashes don't quote metacharacters.  */ -#define	GLOB_PERIOD	(1 << 7)/* Leading `.' can be matched by metachars.  */ - -#define GLOB_MAGCHAR	 (1 << 8)/* Set in gl_flags if any metachars seen.  */ -#define GLOB_ALTDIRFUNC  (1 << 9)/* Use gl_opendir et al functions.  */ -#define GLOB_BRACE	 (1 << 10)/* Expand "{a,b}" to "a" "b".  */ -#define GLOB_NOMAGIC	 (1 << 11)/* If no magic chars, return the pattern.  */ -#define GLOB_TILDE	 (1 << 12)/* Expand ~user and ~ to home directories. */ -#define GLOB_ONLYDIR	 (1 << 13)/* Match only directories.  */ -#define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error -				      if the user name is not available.  */ -#define __GLOB_FLAGS	(GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ -			 GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|     \ -			 GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE|     \ -			 GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK) - - -/* Error returns from `glob'.  */ -#define	GLOB_NOSPACE	1	/* Ran out of memory.  */ -#define	GLOB_ABORTED	2	/* Read error.  */ -#define	GLOB_NOMATCH	3	/* No matches found.  */ -#define GLOB_NOSYS	4	/* Not implemented.  */ -/* Previous versions of this file defined GLOB_ABEND instead of -   GLOB_ABORTED.  Provide a compatibility definition here.  */ -#define GLOB_ABEND GLOB_ABORTED - - -#endif diff --git a/mdk-stage1/dietlibc/include/grp.h b/mdk-stage1/dietlibc/include/grp.h deleted file mode 100644 index 08b153137..000000000 --- a/mdk-stage1/dietlibc/include/grp.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _GRP_H -#define _GRP_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct group -  { -    char *gr_name;		/* Group name.	*/ -    char *gr_passwd;		/* Password.	*/ -    gid_t gr_gid;		/* Group ID.	*/ -    char **gr_mem;		/* Member list.	*/ -  }; - -extern struct group *getgrgid (gid_t uid) __THROW; -extern struct group *getgrnam (const char *name) __THROW; - -extern struct group *getgrent(void) __THROW; -extern void setgrent(void) __THROW; -extern void endgrent(void) __THROW; - -int getgrent_r(struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) __THROW; -int getgrnam_r(const char* name, -	       struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) __THROW; -int getgrgid_r(uid_t uid, -	       struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) __THROW; - -extern int setgroups(size_t n, const gid_t *groups) __THROW; -extern int setgroups32(size_t n, const gid32_t *groups) __THROW; -extern int initgroups(const char *user, gid_t group) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/iconv.h b/mdk-stage1/dietlibc/include/iconv.h deleted file mode 100644 index 1205994ca..000000000 --- a/mdk-stage1/dietlibc/include/iconv.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _ICONV_H -#define _ICONV_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* Identifier for conversion method from one codeset to another.  */ -typedef unsigned int iconv_t; - -/* Allocate descriptor for code conversion from codeset FROMCODE to -   codeset TOCODE.  */ -extern iconv_t iconv_open (const char *tocode, const char *fromcode) __THROW; - -/* Convert at most *INBYTESLEFT bytes from *INBUF according to the -   code conversion algorithm specified by CD and place up to -   *OUTBYTESLEFT bytes in buffer at *OUTBUF.  */ -extern size_t iconv (iconv_t cd, const char** inbuf, -		     size_t* inbytesleft, -		     char** outbuf, -		     size_t* outbytesleft) __THROW; - -/* Free resources allocated for descriptor CD for code conversion.  */ -extern int iconv_close (iconv_t cd) __THROW; - -#endif /* iconv.h */ diff --git a/mdk-stage1/dietlibc/include/inttypes.h b/mdk-stage1/dietlibc/include/inttypes.h deleted file mode 100644 index 32637f5f7..000000000 --- a/mdk-stage1/dietlibc/include/inttypes.h +++ /dev/null @@ -1,247 +0,0 @@ -#ifndef _INTTYPES_H -#define _INTTYPES_H - -#include <sys/cdefs.h> -#include <endian.h> - -# if __WORDSIZE == 64 -#  define __PRI64_PREFIX	"l" -#  define __PRIPTR_PREFIX	"l" -# else -#  define __PRI64_PREFIX	"ll" -#  define __PRIPTR_PREFIX -# endif - -/* Macros for printing format specifiers.  */ - -/* Decimal notation.  */ -# define PRId8		"d" -# define PRId16		"d" -# define PRId32		"d" -# define PRId64		__PRI64_PREFIX "d" - -# define PRIdLEAST8	"d" -# define PRIdLEAST16	"d" -# define PRIdLEAST32	"d" -# define PRIdLEAST64	__PRI64_PREFIX "d" - -# define PRIdFAST8	"d" -# define PRIdFAST16	"d" -# define PRIdFAST32	"d" -# define PRIdFAST64	__PRI64_PREFIX "d" - - -# define PRIi8		"i" -# define PRIi16		"i" -# define PRIi32		"i" -# define PRIi64		__PRI64_PREFIX "i" - -# define PRIiLEAST8	"i" -# define PRIiLEAST16	"i" -# define PRIiLEAST32	"i" -# define PRIiLEAST64	__PRI64_PREFIX "i" - -# define PRIiFAST8	"i" -# define PRIiFAST16	"i" -# define PRIiFAST32	"i" -# define PRIiFAST64	__PRI64_PREFIX "i" - -/* Octal notation.  */ -# define PRIo8		"o" -# define PRIo16		"o" -# define PRIo32		"o" -# define PRIo64		__PRI64_PREFIX "o" - -# define PRIoLEAST8	"o" -# define PRIoLEAST16	"o" -# define PRIoLEAST32	"o" -# define PRIoLEAST64	__PRI64_PREFIX "o" - -# define PRIoFAST8	"o" -# define PRIoFAST16	"o" -# define PRIoFAST32	"o" -# define PRIoFAST64	__PRI64_PREFIX "o" - -/* Unsigned integers.  */ -# define PRIu8		"u" -# define PRIu16		"u" -# define PRIu32		"u" -# define PRIu64		__PRI64_PREFIX "u" - -# define PRIuLEAST8	"u" -# define PRIuLEAST16	"u" -# define PRIuLEAST32	"u" -# define PRIuLEAST64	__PRI64_PREFIX "u" - -# define PRIuFAST8	"u" -# define PRIuFAST16	"u" -# define PRIuFAST32	"u" -# define PRIuFAST64	__PRI64_PREFIX "u" - -/* lowercase hexadecimal notation.  */ -# define PRIx8		"x" -# define PRIx16		"x" -# define PRIx32		"x" -# define PRIx64		__PRI64_PREFIX "x" - -# define PRIxLEAST8	"x" -# define PRIxLEAST16	"x" -# define PRIxLEAST32	"x" -# define PRIxLEAST64	__PRI64_PREFIX "x" - -# define PRIxFAST8	"x" -# define PRIxFAST16	"x" -# define PRIxFAST32	"x" -# define PRIxFAST64	__PRI64_PREFIX "x" - -/* UPPERCASE hexadecimal notation.  */ -# define PRIX8		"X" -# define PRIX16		"X" -# define PRIX32		"X" -# define PRIX64		__PRI64_PREFIX "X" - -# define PRIXLEAST8	"X" -# define PRIXLEAST16	"X" -# define PRIXLEAST32	"X" -# define PRIXLEAST64	__PRI64_PREFIX "X" - -# define PRIXFAST8	"X" -# define PRIXFAST16	"X" -# define PRIXFAST32	"X" -# define PRIXFAST64	__PRI64_PREFIX "X" - - -/* Macros for printing `intmax_t' and `uintmax_t'.  */ -# define PRIdMAX	__PRI64_PREFIX "d" -# define PRIiMAX	__PRI64_PREFIX "i" -# define PRIoMAX	__PRI64_PREFIX "o" -# define PRIuMAX	__PRI64_PREFIX "u" -# define PRIxMAX	__PRI64_PREFIX "x" -# define PRIXMAX	__PRI64_PREFIX "X" - - -/* Macros for printing `intptr_t' and `uintptr_t'.  */ -# define PRIdPTR	__PRIPTR_PREFIX "d" -# define PRIiPTR	__PRIPTR_PREFIX "i" -# define PRIoPTR	__PRIPTR_PREFIX "o" -# define PRIuPTR	__PRIPTR_PREFIX "u" -# define PRIxPTR	__PRIPTR_PREFIX "x" -# define PRIXPTR	__PRIPTR_PREFIX "X" - - -/* Macros for scanning format specifiers.  */ - -/* Signed decimal notation.  */ -# define SCNd8		"hhd" -# define SCNd16		"hd" -# define SCNd32		"d" -# define SCNd64		__PRI64_PREFIX "d" - -# define SCNdLEAST8	"hhd" -# define SCNdLEAST16	"hd" -# define SCNdLEAST32	"d" -# define SCNdLEAST64	__PRI64_PREFIX "d" - -# define SCNdFAST8	"hhd" -# define SCNdFAST16	__PRIPTR_PREFIX "d" -# define SCNdFAST32	__PRIPTR_PREFIX "d" -# define SCNdFAST64	__PRI64_PREFIX "d" - -/* Signed decimal notation.  */ -# define SCNi8		"hhi" -# define SCNi16		"hi" -# define SCNi32		"i" -# define SCNi64		__PRI64_PREFIX "i" - -# define SCNiLEAST8	"hhi" -# define SCNiLEAST16	"hi" -# define SCNiLEAST32	"i" -# define SCNiLEAST64	__PRI64_PREFIX "i" - -# define SCNiFAST8	"hhi" -# define SCNiFAST16	__PRIPTR_PREFIX "i" -# define SCNiFAST32	__PRIPTR_PREFIX "i" -# define SCNiFAST64	__PRI64_PREFIX "i" - -/* Unsigned decimal notation.  */ -# define SCNu8		"hhu" -# define SCNu16		"hu" -# define SCNu32		"u" -# define SCNu64		__PRI64_PREFIX "u" - -# define SCNuLEAST8	"hhu" -# define SCNuLEAST16	"hu" -# define SCNuLEAST32	"u" -# define SCNuLEAST64	__PRI64_PREFIX "u" - -# define SCNuFAST8	"hhu" -# define SCNuFAST16	__PRIPTR_PREFIX "u" -# define SCNuFAST32	__PRIPTR_PREFIX "u" -# define SCNuFAST64	__PRI64_PREFIX "u" - -/* Octal notation.  */ -# define SCNo8		"hho" -# define SCNo16		"ho" -# define SCNo32		"o" -# define SCNo64		__PRI64_PREFIX "o" - -# define SCNoLEAST8	"hho" -# define SCNoLEAST16	"ho" -# define SCNoLEAST32	"o" -# define SCNoLEAST64	__PRI64_PREFIX "o" - -# define SCNoFAST8	"hho" -# define SCNoFAST16	__PRIPTR_PREFIX "o" -# define SCNoFAST32	__PRIPTR_PREFIX "o" -# define SCNoFAST64	__PRI64_PREFIX "o" - -/* Hexadecimal notation.  */ -# define SCNx8		"hhx" -# define SCNx16		"hx" -# define SCNx32		"x" -# define SCNx64		__PRI64_PREFIX "x" - -# define SCNxLEAST8	"hhx" -# define SCNxLEAST16	"hx" -# define SCNxLEAST32	"x" -# define SCNxLEAST64	__PRI64_PREFIX "x" - -# define SCNxFAST8	"hhx" -# define SCNxFAST16	__PRIPTR_PREFIX "x" -# define SCNxFAST32	__PRIPTR_PREFIX "x" -# define SCNxFAST64	__PRI64_PREFIX "x" - - -/* Macros for scanning `intmax_t' and `uintmax_t'.  */ -# define SCNdMAX	__PRI64_PREFIX "d" -# define SCNiMAX	__PRI64_PREFIX "i" -# define SCNoMAX	__PRI64_PREFIX "o" -# define SCNuMAX	__PRI64_PREFIX "u" -# define SCNxMAX	__PRI64_PREFIX "x" - -/* Macros for scanning `intptr_t' and `uintptr_t'.  */ -# define SCNdPTR	__PRIPTR_PREFIX "d" -# define SCNiPTR	__PRIPTR_PREFIX "i" -# define SCNoPTR	__PRIPTR_PREFIX "o" -# define SCNuPTR	__PRIPTR_PREFIX "u" -# define SCNxPTR	__PRIPTR_PREFIX "x" - -typedef signed char int8_t; -typedef signed short int16_t; -typedef signed int int32_t; - -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; - -typedef signed long int intptr_t; -typedef unsigned long int uintptr_t; - -#ifndef __STRICT_ANSI__ -__extension__ typedef signed long long int64_t; -__extension__ typedef unsigned long long uint64_t; -__extension__ typedef signed long long int intmax_t; -__extension__ typedef unsigned long long int uintmax_t; -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/libgen.h b/mdk-stage1/dietlibc/include/libgen.h deleted file mode 100644 index ab13b0a30..000000000 --- a/mdk-stage1/dietlibc/include/libgen.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _LIBGEN_H -#define _LIBGEN_H - -#include <sys/cdefs.h> - -char *dirname(char *path) __THROW; -char *basename(char *path) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/libintl.h b/mdk-stage1/dietlibc/include/libintl.h deleted file mode 100644 index 20873f55f..000000000 --- a/mdk-stage1/dietlibc/include/libintl.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _LIBINTL_H -#define _LIBINTL_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <locale.h> - -#define gettext(msgid) dgettext(0,msgid) -#define dgettext(domainname,msgid) dcgettext(domainname,msgid,LC_MESSAGES) - -#define ngettext(msgid1,msgid2,n) dngettext(0,msgid1,msgid2,n) -#define dngettext(dn,msgid1,msgid2,n) dngettext(dn,msgid1,msgid2,n,LC_MESSAGES) - -char* dcgettext(const char *domainname, const char *msgid, int category) __THROW; -char* dcngettext(const char *domainname, -		 const char *msgid1, const char *msgid2, -		 unsigned long int n, int __category) __THROW; - -char* textdomain(const char *domainname) __THROW; -char* bindtextdomain(const char *domainname, const char *dirname) __THROW; -char* bind_textdomain_codeset(const char *domainname, const char *codeset) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/limits.h b/mdk-stage1/dietlibc/include/limits.h deleted file mode 100644 index b5577a0bf..000000000 --- a/mdk-stage1/dietlibc/include/limits.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef _LIMITS_H -#define _LIMITS_H - -#include <endian.h> - -#define CHAR_BIT 8 - -#define SCHAR_MIN (-128) -#define SCHAR_MAX 0x7f -#define UCHAR_MAX 0xff - -#ifdef __CHAR_UNSIGNED__ -#undef CHAR_MIN -#define CHAR_MIN 0 -#undef CHAR_MAX -#define CHAR_MAX UCHAR_MAX -#else -#undef CHAR_MIN -#define CHAR_MIN SCHAR_MIN -#undef CHAR_MAX -#define CHAR_MAX SCHAR_MAX -#endif - -#define SHRT_MIN (-SHRT_MAX-1) -#define SHRT_MAX 0x7fff -#define USHRT_MAX 0xffff - -#define INT_MIN (-INT_MAX-1) -#define INT_MAX 0x7fffffff -#define UINT_MAX 0xffffffff - -#if __WORDSIZE == 64 -#define LONG_MAX 9223372036854775807L -#define ULONG_MAX 18446744073709551615UL -#else -#define LONG_MAX 2147483647L -#define ULONG_MAX 4294967295UL -#endif -#define LONG_MIN (-LONG_MAX - 1L) - -#define LLONG_MAX 9223372036854775807LL -#define LLONG_MIN (-LLONG_MAX - 1LL) - -/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */ -#define ULLONG_MAX 18446744073709551615ULL - -#define SSIZE_MIN LONG_MIN -#define SSIZE_MAX LONG_MAX - -#define PASS_MAX	256 - -#define NR_OPEN		1024 - -#define NGROUPS_MAX	32	/* supplemental group IDs are available */ -#define ARG_MAX		131072	/* # bytes of args + environ for exec() */ -#define CHILD_MAX	999    /* no limit :-) */ -#define OPEN_MAX	256	/* # open files a process may have */ -#define LINK_MAX	127	/* # links a file may have */ -#define MAX_CANON	255	/* size of the canonical input queue */ -#define MAX_INPUT	255	/* size of the type-ahead buffer */ -#define NAME_MAX	255	/* # chars in a file name */ -#define PATH_MAX	4095	/* # chars in a path name */ -#define PIPE_BUF	4096	/* # bytes in atomic write to a pipe */ - -#define RTSIG_MAX	32 - -#define LINE_MAX	2048 - -/* mutt demanded these */ -#define _POSIX_PATH_MAX PATH_MAX -#define MB_LEN_MAX 16 - -#endif diff --git a/mdk-stage1/dietlibc/include/linux/eventpoll.h b/mdk-stage1/dietlibc/include/linux/eventpoll.h deleted file mode 100644 index 19990ac2a..000000000 --- a/mdk-stage1/dietlibc/include/linux/eventpoll.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _LINUX_EVENTPOLL_H -#define _LINUX_EVENTPOLL_H - -#include <sys/ioctl.h> -#include <sys/poll.h> -#include <sys/shm.h> - -#define POLLFD_X_PAGE	(PAGE_SIZE / sizeof(struct pollfd)) -#define EP_FDS_PAGES(n)	(((n) + POLLFD_X_PAGE - 1) / POLLFD_X_PAGE) -#define EP_MAP_SIZE(n)	(EP_FDS_PAGES(n) * PAGE_SIZE * 2) - -struct evpoll { -  int ep_timeout; -  unsigned long ep_resoff; -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/linux/if_ether.h b/mdk-stage1/dietlibc/include/linux/if_ether.h deleted file mode 100644 index dbeb3728e..000000000 --- a/mdk-stage1/dietlibc/include/linux/if_ether.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * INET		An implementation of the TCP/IP protocol suite for the LINUX - *		operating system.  INET is implemented using the  BSD Socket - *		interface as the means of communication with the user level. - * - *		Global definitions for the Ethernet IEEE 802.3 interface. - * - * Version:	@(#)if_ether.h	1.0.1a	02/08/94 - * - * Author:	Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> - *		Donald Becker, <becker@super.org> - *		Alan Cox, <alan@redhat.com> - *		Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk> - * - *		This program is free software; you can redistribute it and/or - *		modify it under the terms of the GNU General Public License - *		as published by the Free Software Foundation; either version - *		2 of the License, or (at your option) any later version. - */ -  -#ifndef _LINUX_IF_ETHER_H -#define _LINUX_IF_ETHER_H - -/* - *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble - *	and FCS/CRC (frame check sequence).  - */ - -#define ETH_ALEN	6		/* Octets in one ethernet addr	 */ -#define ETH_HLEN	14		/* Total octets in header.	 */ -#define ETH_ZLEN	60		/* Min. octets in frame sans FCS */ -#define ETH_DATA_LEN	1500		/* Max. octets in payload	 */ -#define ETH_FRAME_LEN	1514		/* Max. octets in frame sans FCS */ - -/* - *	These are the defined Ethernet Protocol ID's. - */ - -#define ETH_P_LOOP	0x0060		/* Ethernet Loopback packet	*/ -#define ETH_P_PUP	0x0200		/* Xerox PUP packet		*/ -#define ETH_P_PUPAT	0x0201		/* Xerox PUP Addr Trans packet	*/ -#define ETH_P_IP	0x0800		/* Internet Protocol packet	*/ -#define ETH_P_X25	0x0805		/* CCITT X.25			*/ -#define ETH_P_ARP	0x0806		/* Address Resolution packet	*/ -#define	ETH_P_BPQ	0x08FF		/* G8BPQ AX.25 Ethernet Packet	[ NOT AN OFFICIALLY REGISTERED ID ] */ -#define ETH_P_IEEEPUP	0x0a00		/* Xerox IEEE802.3 PUP packet */ -#define ETH_P_IEEEPUPAT	0x0a01		/* Xerox IEEE802.3 PUP Addr Trans packet */ -#define ETH_P_DEC       0x6000          /* DEC Assigned proto           */ -#define ETH_P_DNA_DL    0x6001          /* DEC DNA Dump/Load            */ -#define ETH_P_DNA_RC    0x6002          /* DEC DNA Remote Console       */ -#define ETH_P_DNA_RT    0x6003          /* DEC DNA Routing              */ -#define ETH_P_LAT       0x6004          /* DEC LAT                      */ -#define ETH_P_DIAG      0x6005          /* DEC Diagnostics              */ -#define ETH_P_CUST      0x6006          /* DEC Customer use             */ -#define ETH_P_SCA       0x6007          /* DEC Systems Comms Arch       */ -#define ETH_P_RARP      0x8035		/* Reverse Addr Res packet	*/ -#define ETH_P_ATALK	0x809B		/* Appletalk DDP		*/ -#define ETH_P_AARP	0x80F3		/* Appletalk AARP		*/ -#define ETH_P_8021Q	0x8100          /* 802.1Q VLAN Extended Header  */ -#define ETH_P_IPX	0x8137		/* IPX over DIX			*/ -#define ETH_P_IPV6	0x86DD		/* IPv6 over bluebook		*/ -#define ETH_P_PPP_DISC	0x8863		/* PPPoE discovery messages     */ -#define ETH_P_PPP_SES	0x8864		/* PPPoE session messages	*/ -#define ETH_P_ATMMPOA	0x884c		/* MultiProtocol Over ATM	*/ -#define ETH_P_ATMFATE	0x8884		/* Frame-based ATM Transport -					 * over Ethernet -					 */ - -/* - *	Non DIX types. Won't clash for 1500 types. - */ -  -#define ETH_P_802_3	0x0001		/* Dummy type for 802.3 frames  */ -#define ETH_P_AX25	0x0002		/* Dummy protocol id for AX.25  */ -#define ETH_P_ALL	0x0003		/* Every packet (be careful!!!) */ -#define ETH_P_802_2	0x0004		/* 802.2 frames 		*/ -#define ETH_P_SNAP	0x0005		/* Internal only		*/ -#define ETH_P_DDCMP     0x0006          /* DEC DDCMP: Internal only     */ -#define ETH_P_WAN_PPP   0x0007          /* Dummy type for WAN PPP frames*/ -#define ETH_P_PPP_MP    0x0008          /* Dummy type for PPP MP frames */ -#define ETH_P_LOCALTALK 0x0009		/* Localtalk pseudo type 	*/ -#define ETH_P_PPPTALK	0x0010		/* Dummy type for Atalk over PPP*/ -#define ETH_P_TR_802_2	0x0011		/* 802.2 frames 		*/ -#define ETH_P_MOBITEX	0x0015		/* Mobitex (kaz@cafe.net)	*/ -#define ETH_P_CONTROL	0x0016		/* Card specific control frames */ -#define ETH_P_IRDA	0x0017		/* Linux-IrDA			*/ -#define ETH_P_ECONET	0x0018		/* Acorn Econet			*/ -#define ETH_P_HDLC	0x0019		/* HDLC frames			*/ - -/* - *	This is an Ethernet frame header. - */ -  -struct ethhdr  -{ -	unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/ -	unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/ -	unsigned short	h_proto;		/* packet type ID field	*/ -}; - -#endif	/* _LINUX_IF_ETHER_H */ diff --git a/mdk-stage1/dietlibc/include/linux/loop.h b/mdk-stage1/dietlibc/include/linux/loop.h deleted file mode 100644 index 1366f1877..000000000 --- a/mdk-stage1/dietlibc/include/linux/loop.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _LINUX_LOOP_H -#define _LINUX_LOOP_H - -/* stolen form kernel */ - -#define LO_NAME_SIZE	64 -#define LO_KEY_SIZE	32 - -/* Loop flags */ -#define LO_FLAGS_DO_BMAP	1 -#define LO_FLAGS_READ_ONLY	2 -#define LO_FLAGS_BH_REMAP	4 - -struct loop_info { -	int		lo_number;	/* ioctl r/o */ -	dev_t		lo_device;	/* ioctl r/o */ -	unsigned long	lo_inode;	/* ioctl r/o */ -	dev_t		lo_rdevice;	/* ioctl r/o */ -	int		lo_offset; -	int		lo_encrypt_type; -	int		lo_encrypt_key_size;	/* ioctl w/o */ -	int		lo_flags;	/* ioctl r/o */ -	char		lo_name[LO_NAME_SIZE]; -	unsigned char	lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */ -	unsigned long	lo_init[2]; -	char		reserved[4]; -}; - -/* Loop filter types */ -#define LO_CRYPT_NONE		0 -#define LO_CRYPT_XOR		1 -#define LO_CRYPT_DES		2 -#define LO_CRYPT_FISH2		3	/* Brand new Twofish encryption */ -#define LO_CRYPT_BLOW		4 -#define LO_CRYPT_CAST128	5 -#define LO_CRYPT_IDEA		6 -#define LO_CRYPT_DUMMY		9 -#define LO_CRYPT_SKIPJACK	10 -#define MAX_LO_CRYPT		20 - -/* IOCTL commands --- we will commandeer 0x4C ('L') */ -#define LOOP_SET_FD	0x4C00 -#define LOOP_CLR_FD	0x4C01 -#define LOOP_SET_STATUS	0x4C02 -#define LOOP_GET_STATUS	0x4C03 - -#endif diff --git a/mdk-stage1/dietlibc/include/linux/nfs.h b/mdk-stage1/dietlibc/include/linux/nfs.h deleted file mode 100644 index 9be6db37e..000000000 --- a/mdk-stage1/dietlibc/include/linux/nfs.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * NFS protocol definitions - * - * This file contains constants mostly for Version 2 of the protocol, - * but also has a couple of NFSv3 bits in (notably the error codes). - */ -#ifndef _LINUX_NFS_H -#define _LINUX_NFS_H - -#define NFS_PROGRAM	100003 -#define NFS_PORT	2049 -#define NFS_MAXDATA	8192 -#define NFS_MAXPATHLEN	1024 -#define NFS_MAXNAMLEN	255 -#define NFS_MAXGROUPS	16 -#define NFS_FHSIZE	32 -#define NFS_COOKIESIZE	4 -#define NFS_FIFO_DEV	(-1) -#define NFSMODE_FMT	0170000 -#define NFSMODE_DIR	0040000 -#define NFSMODE_CHR	0020000 -#define NFSMODE_BLK	0060000 -#define NFSMODE_REG	0100000 -#define NFSMODE_LNK	0120000 -#define NFSMODE_SOCK	0140000 -#define NFSMODE_FIFO	0010000 - -#define NFS_MNT_PROGRAM	100005 -#define NFS_MNT_PORT	627 - -/* - * NFS stats. The good thing with these values is that NFSv3 errors are - * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which - * no-one uses anyway), so we can happily mix code as long as we make sure - * no NFSv3 errors are returned to NFSv2 clients. - * Error codes that have a `--' in the v2 column are not part of the - * standard, but seem to be widely used nevertheless. - */ - enum nfs_stat { -	NFS_OK = 0,			/* v2 v3 */ -	NFSERR_PERM = 1,		/* v2 v3 */ -	NFSERR_NOENT = 2,		/* v2 v3 */ -	NFSERR_IO = 5,			/* v2 v3 */ -	NFSERR_NXIO = 6,		/* v2 v3 */ -	NFSERR_EAGAIN = 11,		/* v2 v3 */ -	NFSERR_ACCES = 13,		/* v2 v3 */ -	NFSERR_EXIST = 17,		/* v2 v3 */ -	NFSERR_XDEV = 18,		/*    v3 */ -	NFSERR_NODEV = 19,		/* v2 v3 */ -	NFSERR_NOTDIR = 20,		/* v2 v3 */ -	NFSERR_ISDIR = 21,		/* v2 v3 */ -	NFSERR_INVAL = 22,		/* v2 v3 that Sun forgot */ -	NFSERR_FBIG = 27,		/* v2 v3 */ -	NFSERR_NOSPC = 28,		/* v2 v3 */ -	NFSERR_ROFS = 30,		/* v2 v3 */ -	NFSERR_MLINK = 31,		/*    v3 */ -	NFSERR_OPNOTSUPP = 45,		/* v2 v3 */ -	NFSERR_NAMETOOLONG = 63,	/* v2 v3 */ -	NFSERR_NOTEMPTY = 66,		/* v2 v3 */ -	NFSERR_DQUOT = 69,		/* v2 v3 */ -	NFSERR_STALE = 70,		/* v2 v3 */ -	NFSERR_REMOTE = 71,		/* v2 v3 */ -	NFSERR_WFLUSH = 99,		/* v2    */ -	NFSERR_BADHANDLE = 10001,	/*    v3 */ -	NFSERR_NOT_SYNC = 10002,	/*    v3 */ -	NFSERR_BAD_COOKIE = 10003,	/*    v3 */ -	NFSERR_NOTSUPP = 10004,		/*    v3 */ -	NFSERR_TOOSMALL = 10005,	/*    v3 */ -	NFSERR_SERVERFAULT = 10006,	/*    v3 */ -	NFSERR_BADTYPE = 10007,		/*    v3 */ -	NFSERR_JUKEBOX = 10008		/*    v3 */ - }; -  -/* NFSv2 file types - beware, these are not the same in NFSv3 */ - -enum nfs_ftype { -	NFNON = 0, -	NFREG = 1, -	NFDIR = 2, -	NFBLK = 3, -	NFCHR = 4, -	NFLNK = 5, -	NFSOCK = 6, -	NFBAD = 7, -	NFFIFO = 8 -}; - -#endif /* _LINUX_NFS_H */ diff --git a/mdk-stage1/dietlibc/include/linux/posix_types.h b/mdk-stage1/dietlibc/include/linux/posix_types.h deleted file mode 100644 index 0d494a1f6..000000000 --- a/mdk-stage1/dietlibc/include/linux/posix_types.h +++ /dev/null @@ -1,115 +0,0 @@ -#ifndef _LINUX_POSIX_TYPES_H -#define _LINUX_POSIX_TYPES_H - -/* - * This allows for 1024 file descriptors: if NR_OPEN is ever grown - * beyond that you'll have to change this too. But 1024 fd's seem to be - * enough even for such "real" unices like OSF/1, so hopefully this is - * one limit that doesn't have to be changed [again]. - * - * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in - * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical - * place for them. Solved by having dummy defines in <sys/time.h>. - */ - -/* - * Those macros may have been defined in <gnu/types.h>. But we always - * use the ones here.  - */ -#undef __NFDBITS -#define __NFDBITS	(8 * sizeof(unsigned long)) - -#undef __FD_SETSIZE -#define __FD_SETSIZE	1024 - -#undef __FDSET_LONGS -#define __FDSET_LONGS	(__FD_SETSIZE/__NFDBITS) - -#undef __FDELT -#define	__FDELT(d)	((d) / __NFDBITS) - -#undef __FDMASK -#define	__FDMASK(d)	(1UL << ((d) % __NFDBITS)) - -typedef struct { -	unsigned long fds_bits [__FDSET_LONGS]; -} __kernel_fd_set; - -#ifndef __KERNEL_STRICT_NAMES -typedef __kernel_fd_set fd_set; -#endif - -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) - -#undef __FD_SET -static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp) -{ -	unsigned long _tmp = fd / __NFDBITS; -	unsigned long _rem = fd % __NFDBITS; -	fdsetp->fds_bits[_tmp] |= (1UL<<_rem); -} - -#undef __FD_CLR -static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp) -{ -	unsigned long _tmp = fd / __NFDBITS; -	unsigned long _rem = fd % __NFDBITS; -	fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem); -} - -#undef __FD_ISSET -static __inline__ int __FD_ISSET(unsigned long fd, __const__ __kernel_fd_set *p) -{ -	unsigned long _tmp = fd / __NFDBITS; -	unsigned long _rem = fd % __NFDBITS; -	return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0; -} - -/* - * This will unroll the loop for the normal constant cases (8 or 32 longs, - * for 256 and 1024-bit fd_sets respectively) - */ -#undef __FD_ZERO -static __inline__ void __FD_ZERO(__kernel_fd_set *p) -{ -	unsigned long *tmp = p->fds_bits; -	int i; - -	if (__builtin_constant_p(__FDSET_LONGS)) { -		switch (__FDSET_LONGS) { -			case 32: -			  tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0; -			  tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0; -			  tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0; -			  tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0; -			  tmp[16] = 0; tmp[17] = 0; tmp[18] = 0; tmp[19] = 0; -			  tmp[20] = 0; tmp[21] = 0; tmp[22] = 0; tmp[23] = 0; -			  tmp[24] = 0; tmp[25] = 0; tmp[26] = 0; tmp[27] = 0; -			  tmp[28] = 0; tmp[29] = 0; tmp[30] = 0; tmp[31] = 0; -			  return; -			case 16: -			  tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0; -			  tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0; -			  tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0; -			  tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0; -			  return; -			case 8: -			  tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0; -			  tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0; -			  return; -			case 4: -			  tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0; -			  return; -		} -	} -	i = __FDSET_LONGS; -	while (i) { -		i--; -		*tmp = 0; -		tmp++; -	} -} - -#endif /* defined(__KERNEL__) */ - -#endif /* _LINUX_POSIX_TYPES_H */ diff --git a/mdk-stage1/dietlibc/include/linux/types.h b/mdk-stage1/dietlibc/include/linux/types.h deleted file mode 100644 index 1cd33bd41..000000000 --- a/mdk-stage1/dietlibc/include/linux/types.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _LINUX_TYPES_H -#define _LINUX_TYPES_H - -#include <asm/types.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/locale.h b/mdk-stage1/dietlibc/include/locale.h deleted file mode 100644 index 5cd002019..000000000 --- a/mdk-stage1/dietlibc/include/locale.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef _LOCALE_H -#define _LOCALE_H - -#include <sys/cdefs.h> - -enum { -  LC_CTYPE = 0, -  LC_NUMERIC = 1, -  LC_TIME = 2, -  LC_COLLATE = 3, -  LC_MONETARY = 4, -  LC_MESSAGES = 5, -  LC_ALL = 6, -  LC_PAPER = 7, -  LC_NAME = 8, -  LC_ADDRESS = 9, -  LC_TELEPHONE = 10, -  LC_MEASUREMENT = 11, -  LC_IDENTIFICATION = 12 -}; - -/* Structure giving information about numeric and monetary notation.  */ -struct lconv { -  /* Numeric (non-monetary) information.  */ -  char *decimal_point; -  char *thousands_sep; -  /* Each element is the number of digits in each group; -     elements with higher indices are farther left. -     An element with value CHAR_MAX means that no further grouping is done. -     An element with value 0 means that the previous element is used -     for all groups farther left.  */ -  char *grouping; - -  /* Monetary information.  */ - -  /* First three chars are a currency symbol from ISO 4217. -     Fourth char is the separator.  Fifth char is '\0'.  */ -  char *int_curr_symbol; -  char *currency_symbol;	/* Local currency symbol.  */ -  char *mon_decimal_point;	/* Decimal point character.  */ -  char *mon_thousands_sep;	/* Thousands separator.  */ -  char *mon_grouping;		/* Like `grouping' element (above).  */ -  char *positive_sign;		/* Sign for positive values.  */ -  char *negative_sign;		/* Sign for negative values.  */ -  char int_frac_digits;		/* Int'l fractional digits.  */ -  char frac_digits;		/* Local fractional digits.  */ -  /* 1 if currency_symbol precedes a positive value, 0 if succeeds.  */ -  char p_cs_precedes; -  /* 1 iff a space separates currency_symbol from a positive value.  */ -  char p_sep_by_space; -  /* 1 if currency_symbol precedes a negative value, 0 if succeeds.  */ -  char n_cs_precedes; -  /* 1 iff a space separates currency_symbol from a negative value.  */ -  char n_sep_by_space; -  /* Positive and negative sign positions: -     0 Parentheses surround the quantity and currency_symbol. -     1 The sign string precedes the quantity and currency_symbol. -     2 The sign string follows the quantity and currency_symbol. -     3 The sign string immediately precedes the currency_symbol. -     4 The sign string immediately follows the currency_symbol.  */ -  char p_sign_posn; -  char n_sign_posn; -  /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds.  */ -  char int_p_cs_precedes; -  /* 1 iff a space separates int_curr_symbol from a positive value.  */ -  char int_p_sep_by_space; -  /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds.  */ -  char int_n_cs_precedes; -  /* 1 iff a space separates int_curr_symbol from a negative value.  */ -  char int_n_sep_by_space; -  /* Positive and negative sign positions: -     0 Parentheses surround the quantity and int_curr_symbol. -     1 The sign string precedes the quantity and int_curr_symbol. -     2 The sign string follows the quantity and int_curr_symbol. -     3 The sign string immediately precedes the int_curr_symbol. -     4 The sign string immediately follows the int_curr_symbol.  */ -  char int_p_sign_posn; -  char int_n_sign_posn; -}; - -char *setlocale (int category, const char *locale) __THROW; -struct lconv *localeconv (void) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/malloc.h b/mdk-stage1/dietlibc/include/malloc.h deleted file mode 100644 index c8b49f26d..000000000 --- a/mdk-stage1/dietlibc/include/malloc.h +++ /dev/null @@ -1 +0,0 @@ -#include <stdlib.h> diff --git a/mdk-stage1/dietlibc/include/math.h b/mdk-stage1/dietlibc/include/math.h deleted file mode 100644 index 2cb545237..000000000 --- a/mdk-stage1/dietlibc/include/math.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef _MATH_H -#define _MATH_H - -#include <sys/cdefs.h> - -#define M_E		2.7182818284590452354	/* e */ -#define M_LOG2E		1.4426950408889634074	/* log_2 e */ -#define M_LOG10E	0.43429448190325182765	/* log_10 e */ -#define M_LN2		0.69314718055994530942	/* log_e 2 */ -#define M_LN10		2.30258509299404568402	/* log_e 10 */ -#define M_PI		3.14159265358979323846	/* pi */ -#define M_PI_2		1.57079632679489661923	/* pi/2 */ -#define M_PI_4		0.78539816339744830962	/* pi/4 */ -#define M_1_PI		0.31830988618379067154	/* 1/pi */ -#define M_2_PI		0.63661977236758134308	/* 2/pi */ -#define M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */ -#define M_SQRT2		1.41421356237309504880	/* sqrt(2) */ -#define M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */ - -#define M_El		2.7182818284590452353602874713526625L  /* e */ -#define M_LOG2El	1.4426950408889634073599246810018922L  /* log_2 e */ -#define M_LOG10El	0.4342944819032518276511289189166051L  /* log_10 e */ -#define M_LN2l		0.6931471805599453094172321214581766L  /* log_e 2 */ -#define M_LN10l		2.3025850929940456840179914546843642L  /* log_e 10 */ -#define M_PIl		3.1415926535897932384626433832795029L  /* pi */ -#define M_PI_2l		1.5707963267948966192313216916397514L  /* pi/2 */ -#define M_PI_4l		0.7853981633974483096156608458198757L  /* pi/4 */ -#define M_1_PIl		0.3183098861837906715377675267450287L  /* 1/pi */ -#define M_2_PIl		0.6366197723675813430755350534900574L  /* 2/pi */ -#define M_2_SQRTPIl	1.1283791670955125738961589031215452L  /* 2/sqrt(pi) */ -#define M_SQRT2l	1.4142135623730950488016887242096981L  /* sqrt(2) */ -#define M_SQRT1_2l	0.7071067811865475244008443621048490L  /* 1/sqrt(2) */ - -double sin(double d) __THROW __attribute__((__const__)); -double cos(double d) __THROW __attribute__((__const__)); -double tan(double d) __THROW __attribute__((__const__)); - -double sinh(double d) __THROW __attribute__((__const__)); -double cosh(double d) __THROW __attribute__((__const__)); -double tanh(double d) __THROW __attribute__((__const__)); - -double asin(double d) __THROW __attribute__((__const__)); -double acos(double d) __THROW __attribute__((__const__)); -double atan(double d) __THROW __attribute__((__const__)); - -double asinh(double d) __THROW __attribute__((__const__)); -double acosh(double d) __THROW __attribute__((__const__)); -double atanh(double d) __THROW __attribute__((__const__)); - -double exp(double d) __THROW __attribute__((__const__)); -double exp10(double d) __THROW __attribute__((__const__)); -double log(double d) __THROW __attribute__((__const__)); -double log10(double d) __THROW __attribute__((__const__)); - -double pow(double x, double y) __THROW __attribute__((__const__)); - -double sqrt(double x) __THROW __attribute__((__const__)); -double fabs(double x) __THROW __attribute__((__const__)); -double fmod(double x, double y) __THROW __attribute__((__const__)); - -double floor(double x) __attribute__((__const__)); -double ceil(double x) __attribute__((__const__)); - -double expm1(double x) __THROW __attribute__((__const__)); -double hypot(double x, double y) __THROW __attribute__((__const__)); -double atan2(double x, double y) __THROW __attribute__((__const__)); - -double copysign(double value, double sign) __attribute__((__const__)); - -#  define HUGE_VAL \ -  (__extension__                                                              \ -   ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; })   \ -    { __l: 0x000000007ff00000ULL }).__d) - -#ifdef _GNU_SOURCE -void sincos(double x, double* sinx, double* cosx); -double ipow (double mant, int expo); -#endif - -int isnan(double d) __attribute__((__const__)); -int isinf(double d) __attribute__((__const__)); -int finite(double d) __attribute__((__const__)); - -double j0(double x); -double j1(double x); -double jn(int n, double x); -double y0(double x); -double y1(double x); -double yn(int n, double x); -double erf(double x); -double erfc(double x); -double lgamma(double x); - -double rint(double x); - -#endif diff --git a/mdk-stage1/dietlibc/include/md5.h b/mdk-stage1/dietlibc/include/md5.h deleted file mode 100644 index 7cbc0e8f3..000000000 --- a/mdk-stage1/dietlibc/include/md5.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -   Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All -   rights reserved. -    -   License to copy and use this software is granted provided that it -   is identified as the "RSA Data Security, Inc. MD5 Message-Digest -   Algorithm" in all material mentioning or referencing this software -   or this function. -    -   License is also granted to make and use derivative works provided -   that such works are identified as "derived from the RSA Data -   Security, Inc. MD5 Message-Digest Algorithm" in all material -   mentioning or referencing the derived work. -    -   RSA Data Security, Inc. makes no representations concerning either -   the merchantability of this software or the suitability of this -   software for any particular purpose. It is provided "as is" -   without express or implied warranty of any kind. -   These notices must be retained in any copies of any part of this -   documentation and/or software. -*/ - -#ifndef _MD5_H -#define _MD5_H - -#include <sys/types.h> - -/* -   Define the MD5 context structure. -   Please DO NOT change the order or contents of the structure as -   various assembler files depend on it !! -*/ -typedef struct -{ -   uint32_t state[4];       /* state (ABCD) */ -   uint32_t count[2];       /* number of bits, modulo 2^64 (least sig word first) */ -   uint8_t  buffer[64];     /* input buffer for incomplete buffer data */ -} -MD5_CTX; - -void  MD5Init   (MD5_CTX* ctx); -void  MD5Update (MD5_CTX* ctx, const uint8_t* buf, size_t len); -void  MD5Final  (uint8_t digest[16], MD5_CTX* ctx); - -char* md5crypt  (const char* pw, const char* salt); - -#endif - diff --git a/mdk-stage1/dietlibc/include/memory.h b/mdk-stage1/dietlibc/include/memory.h deleted file mode 100644 index 39adee705..000000000 --- a/mdk-stage1/dietlibc/include/memory.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _MEMORY_H -#define _MEMORY_H - -#include <string.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/mntent.h b/mdk-stage1/dietlibc/include/mntent.h deleted file mode 100644 index 301403224..000000000 --- a/mdk-stage1/dietlibc/include/mntent.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef _MNTENT_H -#define _MNTENT_H - -#include <sys/cdefs.h> -#include <stdio.h> -#include <paths.h> - -#define MNTTAB          _PATH_MNTTAB    /* Deprecated alias.  */ -#define MOUNTED         _PATH_MOUNTED   /* Deprecated alias.  */ - -/* General filesystem types.  */ -#define MNTTYPE_IGNORE	"ignore"	/* Ignore this entry.  */ -#define MNTTYPE_NFS	"nfs"		/* Network file system.  */ -#define MNTTYPE_SWAP	"swap"		/* Swap device.  */ - - -/* Generic mount options.  */ -#define MNTOPT_DEFAULTS	"defaults"	/* Use all default options.  */ -#define MNTOPT_RO	"ro"		/* Read only.  */ -#define MNTOPT_RW	"rw"		/* Read/write.  */ -#define MNTOPT_SUID	"suid"		/* Set uid allowed.  */ -#define MNTOPT_NOSUID	"nosuid"	/* No set uid allowed.  */ -#define MNTOPT_NOAUTO	"noauto"	/* Do not auto mount.  */ - -__BEGIN_DECLS - -/* Structure describing a mount table entry.  */ -struct mntent -  { -    char *mnt_fsname;		/* Device or server for filesystem.  */ -    char *mnt_dir;		/* Directory mounted on.  */ -    char *mnt_type;		/* Type of filesystem: ufs, nfs, etc.  */ -    char *mnt_opts;		/* Comma-separated options for fs.  */ -    int mnt_freq;		/* Dump frequency (in days).  */ -    int mnt_passno;		/* Pass number for `fsck'.  */ -  }; - - -/* Prepare to begin reading and/or writing mount table entries from the -   beginning of FILE.  MODE is as for `fopen'.  */ -extern FILE *setmntent (const char *file, const char *mode) __THROW; - -/* Read one mount table entry from STREAM.  Returns a pointer to storage -   reused on the next call, or null for EOF or error (use feof/ferror to -   check).  */ -extern struct mntent *getmntent (FILE* stream) __THROW; - -#ifdef __USE_MISC -/* Reentrant version of the above function.  */ -extern struct mntent *getmntent_r (FILE* stream, -				   struct mntent* result, -				   char* buffer, -				   int bufsize) __THROW; -#endif - -/* Write the mount table entry described by MNT to STREAM. -   Return zero on success, nonzero on failure.  */ -extern int addmntent (FILE* stream, -		      const struct mntent* mnt) __THROW; - -/* Close a stream opened with `setmntent'.  */ -extern int endmntent (FILE *stream) __THROW; - -/* Search MNT->mnt_opts for an option matching OPT. -   Returns the address of the substring, or null if none found.  */ -extern char *hasmntopt (const struct mntent *__mnt, -			const char *opt) __THROW; - - -__END_DECLS - -#endif	/* mntent.h */ diff --git a/mdk-stage1/dietlibc/include/net/ethernet.h b/mdk-stage1/dietlibc/include/net/ethernet.h deleted file mode 100644 index 900ffd536..000000000 --- a/mdk-stage1/dietlibc/include/net/ethernet.h +++ /dev/null @@ -1,76 +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, write to the Free -   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -   02111-1307 USA.  */ - -/* Based on the FreeBSD version of this file. Curiously, that file -   lacks a copyright in the header. */ - -#ifndef __NET_ETHERNET_H -#define __NET_ETHERNET_H 1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <linux/if_ether.h>     /* IEEE 802.3 Ethernet constants */ - -__BEGIN_DECLS - -/* This is a name for the 48 bit ethernet address available on many -   systems.  */ -struct ether_addr -{ -  uint8_t ether_addr_octet[ETH_ALEN]; -} __attribute__ ((__packed__)); - -/* 10Mb/s ethernet header */ -struct ether_header -{ -  uint8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/ -  uint8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/ -  uint16_t ether_type;		        /* packet type ID field	*/ -} __attribute__ ((__packed__)); - -/* Ethernet protocol ID's */ -#define	ETHERTYPE_PUP		0x0200          /* Xerox PUP */ -#define	ETHERTYPE_IP		0x0800		/* IP */ -#define	ETHERTYPE_ARP		0x0806		/* Address resolution */ -#define	ETHERTYPE_REVARP	0x8035		/* Reverse ARP */ - -#define	ETHER_ADDR_LEN	ETH_ALEN                 /* size of ethernet addr */ -#define	ETHER_TYPE_LEN	2                        /* bytes in type field */ -#define	ETHER_CRC_LEN	4                        /* bytes in CRC field */ -#define	ETHER_HDR_LEN	ETH_HLEN                 /* total octets in header */ -#define	ETHER_MIN_LEN	(ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */ -#define	ETHER_MAX_LEN	(ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */ - -/* make sure ethenet length is valid */ -#define	ETHER_IS_VALID_LEN(foo)	\ -	((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN) - -/* - * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have - * (type-ETHERTYPE_TRAIL)*512 bytes of data followed - * by an ETHER type (as given above) and then the (variable-length) header. - */ -#define	ETHERTYPE_TRAIL		0x1000		/* Trailer packet */ -#define	ETHERTYPE_NTRAILER	16 - -#define	ETHERMTU	ETH_DATA_LEN -#define	ETHERMIN	(ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) - -__END_DECLS - -#endif	/* net/ethernet.h */ diff --git a/mdk-stage1/dietlibc/include/net/if.h b/mdk-stage1/dietlibc/include/net/if.h deleted file mode 100644 index ac4737db3..000000000 --- a/mdk-stage1/dietlibc/include/net/if.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _NET_IF_H -#define _NET_IF_H - -#include <sys/cdefs.h> -#include <sys/socket.h> - -/* Standard interface flags. */ -#define IFF_UP		0x1		/* interface is up		*/ -#define IFF_BROADCAST	0x2		/* broadcast address valid	*/ -#define IFF_DEBUG	0x4		/* turn on debugging		*/ -#define IFF_LOOPBACK	0x8		/* is a loopback net		*/ -#define IFF_POINTOPOINT	0x10		/* interface is has p-p link	*/ -#define IFF_NOTRAILERS	0x20		/* avoid use of trailers	*/ -#define IFF_RUNNING	0x40		/* resources allocated		*/ -#define IFF_NOARP	0x80		/* no ARP protocol		*/ -#define IFF_PROMISC	0x100		/* receive all packets		*/ -#define IFF_ALLMULTI	0x200		/* receive all multicast packets*/ - -#define IFF_MASTER	0x400		/* master of a load balancer 	*/ -#define IFF_SLAVE	0x800		/* slave of a load balancer	*/ - -#define IFF_MULTICAST	0x1000		/* Supports multicast		*/ - -#define IFF_VOLATILE	(IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_MASTER|IFF_SLAVE|IFF_RUNNING) - -#define IFF_PORTSEL	0x2000          /* can set media type		*/ -#define IFF_AUTOMEDIA	0x4000		/* auto media select active	*/ -#define IFF_DYNAMIC	0x8000		/* dialup device with changing addresses*/ - -struct ifmap { -  unsigned long mem_start; -  unsigned long mem_end; -  unsigned short base_addr;  -  unsigned char irq; -  unsigned char dma; -  unsigned char port; -  /* 3 bytes spare */ -}; - -struct ifreq { -#define IFHWADDRLEN	6 -#define IFNAMSIZ	16 -  union -  { -    char	ifrn_name[IFNAMSIZ];		/* if name, e.g. "en0" */ -  } ifr_ifrn; -  union { -    struct sockaddr ifru_addr; -    struct sockaddr ifru_dstaddr; -    struct sockaddr ifru_broadaddr; -    struct sockaddr ifru_netmask; -    struct  sockaddr ifru_hwaddr; -    short ifru_flags; -    int ifru_ivalue; -    int ifru_mtu; -    struct ifmap ifru_map; -    char ifru_slave[IFNAMSIZ];	/* Just fits the size */ -    char ifru_newname[IFNAMSIZ]; -    char* ifru_data; -  } ifr_ifru; -}; - -#define ifr_name	ifr_ifrn.ifrn_name	/* interface name 	*/ -#define ifr_hwaddr	ifr_ifru.ifru_hwaddr	/* MAC address 		*/ -#define ifr_addr	ifr_ifru.ifru_addr	/* address		*/ -#define ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-p lnk	*/ -#define ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address	*/ -#define ifr_netmask	ifr_ifru.ifru_netmask	/* interface net mask	*/ -#define ifr_flags	ifr_ifru.ifru_flags	/* flags		*/ -#define ifr_metric	ifr_ifru.ifru_ivalue	/* metric		*/ -#define ifr_mtu		ifr_ifru.ifru_mtu	/* mtu			*/ -#define ifr_map		ifr_ifru.ifru_map	/* device map		*/ -#define ifr_slave	ifr_ifru.ifru_slave	/* slave device		*/ -#define ifr_data	ifr_ifru.ifru_data	/* for use by interface	*/ -#define ifr_ifindex	ifr_ifru.ifru_ivalue	/* interface index	*/ -#define ifr_bandwidth	ifr_ifru.ifru_ivalue    /* link bandwidth	*/ -#define ifr_qlen	ifr_ifru.ifru_ivalue	/* Queue length 	*/ -#define ifr_newname	ifr_ifru.ifru_newname	/* New name		*/ - -struct ifconf { -  int ifc_len;			/* size of buffer	*/ -  union { -    char *			ifcu_buf; -    struct	ifreq 		*ifcu_req; -  } ifc_ifcu; -}; - -#define ifc_buf ifc_ifcu.ifcu_buf		/* buffer address	*/ -#define ifc_req ifc_ifcu.ifcu_req		/* array of structures	*/ - -unsigned int if_nametoindex (const char *ifname) __THROW; -char *if_indextoname (unsigned int ifindex, char *ifname) __THROW; - -struct if_nameindex { -  unsigned int if_index; -  char *if_name; -}; - -struct if_nameindex* if_nameindex(void) __THROW; -void if_freenameindex(struct if_nameindex* ptr) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/net/if_arp.h b/mdk-stage1/dietlibc/include/net/if_arp.h deleted file mode 100644 index b1054066a..000000000 --- a/mdk-stage1/dietlibc/include/net/if_arp.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef _NET_IF_ARP_H -#define _NET_IF_ARP_H - -#include <sys/socket.h> - -#define MAX_ADDR_LEN	7 - -/* ARP protocol HARDWARE identifiers. */ -#define ARPHRD_NETROM	0		/* from KA9Q: NET/ROM pseudo	*/ -#define ARPHRD_ETHER 	1		/* Ethernet 10Mbps		*/ -#define ARPHRD_EETHER	2		/* Experimental Ethernet	*/ -#define ARPHRD_AX25	3		/* AX.25 Level 2		*/ -#define ARPHRD_PRONET	4		/* PROnet token ring		*/ -#define ARPHRD_CHAOS	5		/* Chaosnet			*/ -#define ARPHRD_IEEE802	6		/* IEEE 802.2 Ethernet/TR/TB	*/ -#define ARPHRD_ARCNET	7		/* ARCnet			*/ -#define ARPHRD_APPLETLK	8		/* APPLEtalk			*/ -#define ARPHRD_DLCI	15		/* Frame Relay DLCI		*/ -#define ARPHRD_ATM	19		/* ATM 				*/ -#define ARPHRD_METRICOM	23		/* Metricom STRIP (new IANA id)	*/ - -/* Dummy types for non ARP hardware */ -#define ARPHRD_SLIP	256 -#define ARPHRD_CSLIP	257 -#define ARPHRD_SLIP6	258 -#define ARPHRD_CSLIP6	259 -#define ARPHRD_RSRVD	260		/* Notional KISS type 		*/ -#define ARPHRD_ADAPT	264 -#define ARPHRD_ROSE	270 -#define ARPHRD_X25	271		/* CCITT X.25			*/ -#define ARPHRD_HWX25	272		/* Boards with X.25 in firmware	*/ -#define ARPHRD_PPP	512 -#define ARPHRD_CISCO	513		/* Cisco HDLC	 		*/ -#define ARPHRD_HDLC	ARPHRD_CISCO -#define ARPHRD_LAPB	516		/* LAPB				*/ -#define ARPHRD_DDCMP    517		/* Digital's DDCMP protocol     */ -#define ARPHRD_RAWHDLC	518		/* Raw HDLC			*/ - -#define ARPHRD_TUNNEL	768		/* IPIP tunnel			*/ -#define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel			*/ -#define ARPHRD_FRAD	770             /* Frame Relay Access Device    */ -#define ARPHRD_SKIP	771		/* SKIP vif			*/ -#define ARPHRD_LOOPBACK	772		/* Loopback device		*/ -#define ARPHRD_LOCALTLK 773		/* Localtalk device		*/ -#define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface */ -#define ARPHRD_BIF      775             /* AP1000 BIF                   */ -#define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4	*/ -#define ARPHRD_IPDDP	777		/* IP over DDP tunneller	*/ -#define ARPHRD_IPGRE	778		/* GRE over IP			*/ -#define ARPHRD_PIMREG	779		/* PIMSM register interface	*/ -#define ARPHRD_HIPPI	780		/* High Performance Parallel Interface */ -#define ARPHRD_ASH	781		/* Nexus 64Mbps Ash		*/ -#define ARPHRD_ECONET	782		/* Acorn Econet			*/ -#define ARPHRD_IRDA 	783		/* Linux-IrDA			*/ -/* ARP works differently on different FC media .. so  */ -#define ARPHRD_FCPP	784		/* Point to point fibrechannel	*/ -#define ARPHRD_FCAL	785		/* Fibrechannel arbitrated loop */ -#define ARPHRD_FCPL	786		/* Fibrechannel public loop	*/ -#define ARPHRD_FCFABRIC	787		/* Fibrechannel fabric		*/ -	/* 787->799 reserved for fibrechannel media types */ -#define ARPHRD_IEEE802_TR 800		/* Magic type ident for TR	*/ -#define ARPHRD_IEEE80211 801		/* IEEE 802.11			*/ - -#define ARPHRD_VOID	  0xFFFF	/* Void type, nothing is known */ - -/* ARP protocol opcodes. */ -#define ARPOP_REQUEST	1		/* ARP request			*/ -#define ARPOP_REPLY	2		/* ARP reply			*/ -#define ARPOP_RREQUEST	3		/* RARP request			*/ -#define ARPOP_RREPLY	4		/* RARP reply			*/ -#define ARPOP_InREQUEST	8		/* InARP request		*/ -#define ARPOP_InREPLY	9		/* InARP reply			*/ -#define ARPOP_NAK	10		/* (ATM)ARP NAK			*/ - - -/* ARP ioctl request. */ -struct arpreq { -  struct sockaddr	arp_pa;		/* protocol address		*/ -  struct sockaddr	arp_ha;		/* hardware address		*/ -  int			arp_flags;	/* flags			*/ -  struct sockaddr       arp_netmask;    /* netmask (only for proxy arps) */ -  char			arp_dev[16]; -}; - -struct arpreq_old { -  struct sockaddr	arp_pa;		/* protocol address		*/ -  struct sockaddr	arp_ha;		/* hardware address		*/ -  int			arp_flags;	/* flags			*/ -  struct sockaddr       arp_netmask;    /* netmask (only for proxy arps) */ -}; - -/* ARP Flag values. */ -#define ATF_COM		0x02		/* completed entry (ha valid)	*/ -#define ATF_PERM	0x04		/* permanent entry		*/ -#define ATF_PUBL	0x08		/* publish entry		*/ -#define ATF_USETRAILERS	0x10		/* has requested trailers	*/ -#define ATF_NETMASK     0x20            /* want to use a netmask (only -					   for proxy entries) */ -#define ATF_DONTPUB	0x40		/* don't answer this addresses	*/ - -/* - *	This structure defines an ethernet arp header. - */ - -struct arphdr -{ -  unsigned short ar_hrd;	/* format of hardware address	*/ -  unsigned short ar_pro;	/* format of protocol address	*/ -  unsigned char ar_hln;		/* length of hardware address	*/ -  unsigned char ar_pln;		/* length of protocol address	*/ -  unsigned short ar_op;		/* ARP opcode (command)		*/ -}; -#endif diff --git a/mdk-stage1/dietlibc/include/net/if_ether.h b/mdk-stage1/dietlibc/include/net/if_ether.h deleted file mode 100644 index 7451a6dc6..000000000 --- a/mdk-stage1/dietlibc/include/net/if_ether.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef _NET_IF_ETHER_H -#define _NET_IF_ETHER_H - -/* taken from <linux/if_ether.h> */ - -#define ETH_ALEN	6		/* Octets in one ethernet addr	 */ -#define ETH_HLEN	14		/* Total octets in header.	 */ -#define ETH_ZLEN	60		/* Min. octets in frame sans FCS */ -#define ETH_DATA_LEN	1500		/* Max. octets in payload	 */ -#define ETH_FRAME_LEN	1514		/* Max. octets in frame sans FCS */ - -/* - *	These are the defined Ethernet Protocol ID's. - */ - -#define ETH_P_LOOP	0x0060		/* Ethernet Loopback packet	*/ -#define ETH_P_PUP	0x0200		/* Xerox PUP packet		*/ -#define ETH_P_PUPAT	0x0201		/* Xerox PUP Addr Trans packet	*/ -#define ETH_P_IP	0x0800		/* Internet Protocol packet	*/ -#define ETH_P_X25	0x0805		/* CCITT X.25			*/ -#define ETH_P_ARP	0x0806		/* Address Resolution packet	*/ -#define ETH_P_BPQ	0x08FF		/* G8BPQ AX.25 Ethernet Packet	[ NOT AN OFFICIALLY REGISTERED ID ] */ -#define ETH_P_IEEEPUP	0x0a00		/* Xerox IEEE802.3 PUP packet */ -#define ETH_P_IEEEPUPAT	0x0a01		/* Xerox IEEE802.3 PUP Addr Trans packet */ -#define ETH_P_DEC	0x6000		/* DEC Assigned proto           */ -#define ETH_P_DNA_DL	0x6001		/* DEC DNA Dump/Load            */ -#define ETH_P_DNA_RC	0x6002		/* DEC DNA Remote Console       */ -#define ETH_P_DNA_RT	0x6003		/* DEC DNA Routing              */ -#define ETH_P_LAT	0x6004		/* DEC LAT                      */ -#define ETH_P_DIAG	0x6005		/* DEC Diagnostics              */ -#define ETH_P_CUST	0x6006		/* DEC Customer use             */ -#define ETH_P_SCA	0x6007		/* DEC Systems Comms Arch       */ -#define ETH_P_RARP	0x8035		/* Reverse Addr Res packet	*/ -#define ETH_P_ATALK	0x809B		/* Appletalk DDP		*/ -#define ETH_P_AARP	0x80F3		/* Appletalk AARP		*/ -#define ETH_P_8021Q	0x8100		/* 802.1Q VLAN Extended Header  */ -#define ETH_P_IPX	0x8137		/* IPX over DIX			*/ -#define ETH_P_IPV6	0x86DD		/* IPv6 over bluebook		*/ -#define ETH_P_PPP_DISC	0x8863		/* PPPoE discovery messages     */ -#define ETH_P_PPP_SES	0x8864		/* PPPoE session messages	*/ -#define ETH_P_ATMMPOA	0x884c		/* MultiProtocol Over ATM	*/ -#define ETH_P_ATMFATE	0x8884		/* Frame-based ATM Transport over Ethernet */ - -/* - *	Non DIX types. Won't clash for 1500 types. - */ - -#define ETH_P_802_3	0x0001		/* Dummy type for 802.3 frames  */ -#define ETH_P_AX25	0x0002		/* Dummy protocol id for AX.25  */ -#define ETH_P_ALL	0x0003		/* Every packet (be careful!!!) */ -#define ETH_P_802_2	0x0004		/* 802.2 frames 		*/ -#define ETH_P_SNAP	0x0005		/* Internal only		*/ -#define ETH_P_DDCMP	0x0006		/* DEC DDCMP: Internal only     */ -#define ETH_P_WAN_PPP	0x0007		/* Dummy type for WAN PPP frames*/ -#define ETH_P_PPP_MP	0x0008		/* Dummy type for PPP MP frames */ -#define ETH_P_LOCALTALK 0x0009		/* Localtalk pseudo type 	*/ -#define ETH_P_PPPTALK	0x0010		/* Dummy type for Atalk over PPP*/ -#define ETH_P_TR_802_2	0x0011		/* 802.2 frames 		*/ -#define ETH_P_MOBITEX	0x0015		/* Mobitex (kaz@cafe.net)	*/ -#define ETH_P_CONTROL	0x0016		/* Card specific control frames */ -#define ETH_P_IRDA	0x0017		/* Linux-IrDA			*/ -#define ETH_P_ECONET	0x0018		/* Acorn Econet			*/ - -/* - *	This is an Ethernet frame header. - */ - -struct ethhdr { -	unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/ -	unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/ -	unsigned short	h_proto;		/* packet type ID field	*/ -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/net/route.h b/mdk-stage1/dietlibc/include/net/route.h deleted file mode 100644 index 383bb8370..000000000 --- a/mdk-stage1/dietlibc/include/net/route.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _NET_ROUTE_H -#define _NET_ROUTE_H - -#include <inttypes.h> -#include <netinet/in.h> - -/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */ -struct rtentry { -  unsigned long rt_pad1; -  struct sockaddr rt_dst;		/* target address		*/ -  struct sockaddr rt_gateway;	/* gateway addr (RTF_GATEWAY)	*/ -  struct sockaddr rt_genmask;	/* target network mask (IP)	*/ -  unsigned short rt_flags; -  short rt_pad2; -  unsigned long rt_pad3; -  void *rt_pad4; -  short rt_metric;	/* +1 for binary compatibility!	*/ -  char *rt_dev;		/* forcing the device at add	*/ -  unsigned long rt_mtu;	/* per route MTU/Window 	*/ -#ifndef __KERNEL__ -#define rt_mss	rt_mtu	/* Compatibility :-(            */ -#endif -  unsigned long rt_window;	/* Window clamping 		*/ -  unsigned short rt_irtt;	/* Initial RTT			*/ -}; - -#define RTF_UP		0x0001		/* route usable		  	*/ -#define RTF_GATEWAY	0x0002		/* destination is a gateway	*/ -#define RTF_HOST	0x0004		/* host entry (net otherwise)	*/ -#define RTF_REINSTATE	0x0008		/* reinstate route after tmout	*/ -#define RTF_DYNAMIC	0x0010		/* created dyn. (by redirect)	*/ -#define RTF_MODIFIED	0x0020		/* modified dyn. (by redirect)	*/ -#define RTF_MTU		0x0040		/* specific MTU for this route	*/ -#define RTF_MSS		RTF_MTU		/* Compatibility :-(		*/ -#define RTF_WINDOW	0x0080		/* per route window clamping	*/ -#define RTF_IRTT	0x0100		/* Initial round trip time	*/ -#define RTF_REJECT	0x0200		/* Reject route			*/ - -struct in6_rtmsg { -  struct in6_addr rtmsg_dst; -  struct in6_addr rtmsg_src; -  struct in6_addr rtmsg_gateway; -  uint32_t rtmsg_type; -  uint16_t rtmsg_dst_len; -  uint16_t rtmsg_src_len; -  uint32_t rtmsg_metric; -  unsigned long int rtmsg_info; -  uint32_t rtmsg_flags; -  int rtmsg_ifindex; -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/netdb.h b/mdk-stage1/dietlibc/include/netdb.h deleted file mode 100644 index be64f659f..000000000 --- a/mdk-stage1/dietlibc/include/netdb.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef _NETDB_H -#define _NETDB_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* Absolute file name for network data base files.  */ -#define	_PATH_HEQUIV		"/etc/hosts.equiv" -#define	_PATH_HOSTS		"/etc/hosts" -#define	_PATH_NETWORKS		"/etc/networks" -#define	_PATH_NSSWITCH_CONF	"/etc/nsswitch.conf" -#define	_PATH_PROTOCOLS		"/etc/protocols" -#define	_PATH_SERVICES		"/etc/services" - -/* Description of data base entry for a single service.  */ -struct servent { -  char *s_name;			/* Official service name.  */ -  char **s_aliases;		/* Alias list.  */ -  int s_port;			/* Port number.  */ -  char *s_proto;		/* Protocol to use.  */ -}; - -extern void endservent (void) __THROW; -extern void setservent(int stayopen) __THROW; - -extern int getservent_r(struct servent *res, char *buf, size_t buflen, -			 struct servent **res_sig) __THROW; -extern int getservbyname_r(const char* name,const char* proto, -			   struct servent *res, char *buf, size_t buflen, -			   struct servent **res_sig) __THROW; -extern int getservbyport_r(int port,const char* proto, -			   struct servent *res, char *buf, size_t buflen, -			   struct servent **res_sig) __THROW; - -extern struct servent *getservent(void) __THROW; -extern struct servent *getservbyname (const char *__name, -				      const char *__proto) __THROW; -extern struct servent *getservbyport (int __port, const char *__proto) -     __THROW; - -struct hostent { -  char *h_name;			/* Official name of host.  */ -  char **h_aliases;		/* Alias list.  */ -  int h_addrtype;		/* Host address type.  */ -  socklen_t h_length;		/* Length of address.  */ -  char **h_addr_list;		/* List of addresses from name server.  */ -#define	h_addr	h_addr_list[0]	/* Address, for backward compatibility.  */ -}; - -extern void endhostent (void) __THROW; -extern struct hostent *gethostent (void) __THROW; -extern struct hostent *gethostent_r (char* buf,int len) __THROW; -extern struct hostent *gethostbyaddr (const void *__addr, socklen_t __len, -				      int __type) __THROW; -extern struct hostent *gethostbyname (const char *__name) __THROW; -extern struct hostent *gethostbyname2 (const char *__name, int __af) __THROW; - -/* this glibc "invention" is so ugly, I'm going to throw up any minute - * now */ -extern int gethostbyname_r(const char* NAME, struct hostent* RESULT_BUF,char* BUF, -			   size_t BUFLEN, struct hostent** RESULT, -			   int* H_ERRNOP) __THROW; - -#define HOST_NOT_FOUND 1 -#define TRY_AGAIN 2 -#define NO_RECOVERY 3 -#define NO_ADDRESS 4 -#define NO_DATA 5 - -extern int gethostbyaddr_r(const char* addr, size_t length, int format, -		    struct hostent* result, char *buf, size_t buflen, -		    struct hostent **RESULT, int *h_errnop) __THROW; - -int gethostbyname2_r(const char* name, int AF, struct hostent* result, -		    char *buf, size_t buflen, -		    struct hostent **RESULT, int *h_errnop) __THROW; - -struct protoent { -  char    *p_name;        /* official protocol name */ -  char    **p_aliases;    /* alias list */ -  int     p_proto;        /* protocol number */ -}; - -struct protoent *getprotoent(void) __THROW; -struct protoent *getprotobyname(const char *name) __THROW; -struct protoent *getprotobynumber(int proto) __THROW; -void setprotoent(int stayopen) __THROW; -void endprotoent(void) __THROW; - -int getprotoent_r(struct protoent *res, char *buf, size_t buflen, -		  struct protoent **res_sig) __THROW; -int getprotobyname_r(const char* name, -		     struct protoent *res, char *buf, size_t buflen, -		     struct protoent **res_sig) __THROW; -int getprotobynumber_r(int proto, -		      struct protoent *res, char *buf, size_t buflen, -		      struct protoent **res_sig) __THROW; - - -void sethostent(int stayopen) __THROW; - -/* dummy */ -extern int h_errno; - -struct netent { -  char    *n_name;          /* official network name */ -  char    **n_aliases;      /* alias list */ -  int     n_addrtype;       /* net address type */ -  unsigned long int n_net;  /* network number */ -}; - -struct netent *getnetbyaddr(unsigned long net, int type) __THROW; -void endnetent(void) __THROW; -void setnetent(int stayopen) __THROW; -struct netent *getnetbyname(const char *name) __THROW; -struct netent *getnetent(void) __THROW; - -extern const char *hstrerror (int err_num) __THROW; -void herror(const char *s) __THROW; - -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 - -#endif diff --git a/mdk-stage1/dietlibc/include/netinet/in.h b/mdk-stage1/dietlibc/include/netinet/in.h deleted file mode 100644 index 9f98cc050..000000000 --- a/mdk-stage1/dietlibc/include/netinet/in.h +++ /dev/null @@ -1,404 +0,0 @@ -#ifndef _NETINET_IN_H -#define _NETINET_IN_H - -#include <sys/types.h> -#include <sys/socket.h> -#include <endian.h> - -/* Standard well-defined IP protocols.  */ -enum { -  IPPROTO_IP = 0,		/* Dummy protocol for TCP		*/ -#define IPPROTO_IP IPPROTO_IP -  IPPROTO_ICMP = 1,		/* Internet Control Message Protocol	*/ -#define IPPROTO_ICMP IPPROTO_ICMP -  IPPROTO_IGMP = 2,		/* Internet Group Management Protocol	*/ -#define IPPROTO_IGMP IPPROTO_IGMP -  IPPROTO_IPIP = 4,		/* IPIP tunnels (older KA9Q tunnels use 94) */ -#define IPPROTO_IPIP IPPROTO_IPIP -  IPPROTO_TCP = 6,		/* Transmission Control Protocol	*/ -#define IPPROTO_TCP IPPROTO_TCP -  IPPROTO_EGP = 8,		/* Exterior Gateway Protocol		*/ -#define IPPROTO_EGP IPPROTO_EGP -  IPPROTO_PUP = 12,		/* PUP protocol				*/ -#define IPPROTO_PUP IPPROTO_PUP -  IPPROTO_UDP = 17,		/* User Datagram Protocol		*/ -#define IPPROTO_UDP IPPROTO_UDP -  IPPROTO_IDP = 22,		/* XNS IDP protocol			*/ -#define IPPROTO_IDP IPPROTO_IDP -  IPPROTO_RSVP = 46,		/* RSVP protocol			*/ -#define IPPROTO_RSVP IPPROTO_RSVP -  IPPROTO_GRE = 47,		/* Cisco GRE tunnels (rfc 1701,1702)	*/ -#define IPPROTO_GRE IPPROTO_GRE -  IPPROTO_IPV6 = 41,		/* IPv6-in-IPv4 tunnelling		*/ -#define IPPROTO_IPV6 IPPROTO_IPV6 -  IPPROTO_PIM    = 103,		/* Protocol Independent Multicast	*/ -#define IPPROTO_PIM IPPROTO_PIM -  IPPROTO_ESP = 50,            /* Encapsulation Security Payload protocol */ -#define IPPROTO_ESP IPPROTO_ESP -  IPPROTO_AH = 51,             /* Authentication Header protocol       */ -#define IPPROTO_AH IPPROTO_AH -  IPPROTO_COMP   = 108,                /* Compression Header protocol */ -#define IPPROTO_COMP IPPROTO_COMP -  IPPROTO_RAW	 = 255,		/* Raw IP packets			*/ -#define IPPROTO_RAW IPPROTO_RAW -  IPPROTO_MAX -}; - -#define IP_TOS		1 -#define IP_TTL		2 -#define IP_HDRINCL	3 -#define IP_OPTIONS	4 -#define IP_ROUTER_ALERT	5 -#define IP_RECVOPTS	6 -#define IP_RETOPTS	7 -#define IP_PKTINFO	8 -#define IP_PKTOPTIONS	9 -#define IP_MTU_DISCOVER	10 -#define IP_RECVERR	11 -#define IP_RECVTTL	12 -#define IP_RECVTOS	13 -#define IP_MTU		14 -#define IP_FREEBIND	15 - -/* BSD compatibility */ -#define IP_RECVRETOPTS	IP_RETOPTS - -/* IP_MTU_DISCOVER values */ -#define IP_PMTUDISC_DONT		0	/* Never send DF frames */ -#define IP_PMTUDISC_WANT		1	/* Use per route hints	*/ -#define IP_PMTUDISC_DO			2	/* Always DF		*/ - -#define IP_MULTICAST_IF			32 -#define IP_MULTICAST_TTL 		33 -#define IP_MULTICAST_LOOP 		34 -#define IP_ADD_MEMBERSHIP		35 -#define IP_DROP_MEMBERSHIP		36 - -/* These need to appear somewhere around here */ -#define IP_DEFAULT_MULTICAST_TTL        1 -#define IP_DEFAULT_MULTICAST_LOOP       1 - -#define IN6ADDR_ANY_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}} -#define IN6ADDR_LOOPBACK_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }}} -extern const struct in6_addr in6addr_any; -extern const struct in6_addr in6addr_loopback; - -typedef uint16_t in_port_t; -typedef uint32_t in_addr_t; - -struct in_addr { -  in_addr_t s_addr; -}; - -struct ip_mreq { -  struct in_addr imr_multiaddr;	/* IP multicast address of group */ -  struct in_addr imr_interface;	/* local IP address of interface */ -}; - -struct ip_mreqn { -  struct in_addr	imr_multiaddr;		/* IP multicast address of group */ -  struct in_addr	imr_address;		/* local IP address of interface */ -  int			imr_ifindex;		/* Interface index */ -}; - -struct in_pktinfo { -  int			ipi_ifindex; -  struct in_addr	ipi_spec_dst; -  struct in_addr	ipi_addr; -}; - -/* Structure describing an Internet (IP) socket address. */ -#define __SOCK_SIZE__	16		/* sizeof(struct sockaddr)	*/ -struct sockaddr_in { -  sa_family_t		sin_family;	/* Address family		*/ -  in_port_t		sin_port;	/* Port number			*/ -  struct in_addr	sin_addr;	/* Internet address		*/ -  /* Pad to size of `struct sockaddr'. */ -  unsigned char		sin_zero[__SOCK_SIZE__ - sizeof(short int) - -			sizeof(unsigned short int) - sizeof(struct in_addr)]; -}; - - -/* - * Definitions of the bits in an Internet address integer. - * On subnets, host and network parts are found according - * to the subnet mask, not these masks. - */ -#define	IN_CLASSA(a)		((((long int) (a)) & 0x80000000) == 0) -#define	IN_CLASSA_NET		0xff000000 -#define	IN_CLASSA_NSHIFT	24 -#define	IN_CLASSA_HOST		(0xffffffff & ~IN_CLASSA_NET) -#define	IN_CLASSA_MAX		128 - -#define	IN_CLASSB(a)		((((long int) (a)) & 0xc0000000) == 0x80000000) -#define	IN_CLASSB_NET		0xffff0000 -#define	IN_CLASSB_NSHIFT	16 -#define	IN_CLASSB_HOST		(0xffffffff & ~IN_CLASSB_NET) -#define	IN_CLASSB_MAX		65536 - -#define	IN_CLASSC(a)		((((long int) (a)) & 0xe0000000) == 0xc0000000) -#define	IN_CLASSC_NET		0xffffff00 -#define	IN_CLASSC_NSHIFT	8 -#define	IN_CLASSC_HOST		(0xffffffff & ~IN_CLASSC_NET) - -#define	IN_CLASSD(a)		((((long int) (a)) & 0xf0000000) == 0xe0000000) -#define	IN_MULTICAST(a)		IN_CLASSD(a) -#define IN_MULTICAST_NET	0xF0000000 - -#define	IN_EXPERIMENTAL(a)	((((long int) (a)) & 0xf0000000) == 0xf0000000) -#define	IN_BADCLASS(a)		IN_EXPERIMENTAL((a)) - -/* Address to accept any incoming messages. */ -#define	INADDR_ANY		((unsigned long int) 0x00000000) - -/* Address to send to all hosts. */ -#define	INADDR_BROADCAST	((unsigned long int) 0xffffffff) - -/* Address indicating an error return. */ -#define	INADDR_NONE		((unsigned long int) 0xffffffff) - -/* Network number for local host loopback. */ -#define	IN_LOOPBACKNET		127 - -/* Address to loopback in software to local host.  */ -#define	INADDR_LOOPBACK		0x7f000001	/* 127.0.0.1   */ -#define	IN_LOOPBACK(a)		((((long int) (a)) & 0xff000000) == 0x7f000000) - -/* Defines for Multicast INADDR */ -#define INADDR_UNSPEC_GROUP   	0xe0000000U	/* 224.0.0.0   */ -#define INADDR_ALLHOSTS_GROUP 	0xe0000001U	/* 224.0.0.1   */ -#define INADDR_ALLRTRS_GROUP    0xe0000002U	/* 224.0.0.2 */ -#define INADDR_MAX_LOCAL_GROUP  0xe00000ffU	/* 224.0.0.255 */ - -struct in6_addr { -  union { -    uint8_t		u6_addr8[16]; -    uint16_t		u6_addr16[8]; -    uint32_t		u6_addr32[4]; -  } in6_u; -#define s6_addr			in6_u.u6_addr8 -#define s6_addr16		in6_u.u6_addr16 -#define s6_addr32		in6_u.u6_addr32 -}; - -struct sockaddr_in6 { -  unsigned short int	sin6_family;    /* AF_INET6 */ -  uint16_t		sin6_port;      /* Transport layer port # */ -  uint32_t		sin6_flowinfo;  /* IPv6 flow information */ -  struct in6_addr	sin6_addr;      /* IPv6 address */ -  uint32_t		sin6_scope_id;  /* scope id (new in RFC2553) */ -}; - -struct sockaddr_in_pad { -  sa_family_t		sin_family;	/* Address family		*/ -  in_port_t		sin_port;	/* Port number			*/ -  struct in_addr	sin_addr;	/* Internet address		*/ -  /* Pad to size of `struct sockaddr_in6'. */ -  unsigned char		sin_zero[sizeof(struct sockaddr_in6) - sizeof(short int) - -			sizeof(unsigned short int) - sizeof(struct in_addr)]; -}; - -struct ipv6_mreq { -  /* IPv6 multicast address of group */ -  struct in6_addr ipv6mr_multiaddr; -  /* local IPv6 address of interface */ -  int ipv6mr_interface; -}; - -struct in6_flowlabel_req { -  struct in6_addr	flr_dst; -  uint32_t	flr_label; -  uint8_t	flr_action; -  uint8_t	flr_share; -  uint16_t	flr_flags; -  uint16_t 	flr_expires; -  uint16_t	flr_linger; -  uint32_t	__flr_pad; -  /* Options in format of IPV6_PKTOPTIONS */ -}; - -#define IPV6_FL_A_GET	0 -#define IPV6_FL_A_PUT	1 -#define IPV6_FL_A_RENEW	2 - -#define IPV6_FL_F_CREATE	1 -#define IPV6_FL_F_EXCL		2 - -#define IPV6_FL_S_NONE		0 -#define IPV6_FL_S_EXCL		1 -#define IPV6_FL_S_PROCESS	2 -#define IPV6_FL_S_USER		3 -#define IPV6_FL_S_ANY		255 - -#define IPV6_FLOWINFO_FLOWLABEL		0x000fffff -#define IPV6_FLOWINFO_PRIORITY		0x0ff00000 - -/* - *	IPV6 extension headers - */ -#define IPPROTO_HOPOPTS		0	/* IPv6 hop-by-hop options	*/ -#define IPPROTO_ROUTING		43	/* IPv6 routing header		*/ -#define IPPROTO_FRAGMENT	44	/* IPv6 fragmentation header	*/ -#define IPPROTO_ICMPV6		58	/* ICMPv6			*/ -#define IPPROTO_NONE		59	/* IPv6 no next header		*/ -#define IPPROTO_DSTOPTS		60	/* IPv6 destination options	*/ - -/* IPv6 TLV options. */ -#define IPV6_TLV_PAD0		0 -#define IPV6_TLV_PADN		1 -#define IPV6_TLV_ROUTERALERT	5 -#define IPV6_TLV_JUMBO		194 - -/* IPV6 socket options. */ -#define IPV6_ADDRFORM		1 -#define IPV6_PKTINFO		2 -#define IPV6_HOPOPTS		3 -#define IPV6_DSTOPTS		4 -#define IPV6_RTHDR		5 -#define IPV6_PKTOPTIONS		6 -#define IPV6_CHECKSUM		7 -#define IPV6_HOPLIMIT		8 -#define IPV6_NEXTHOP		9 -#define IPV6_AUTHHDR		10 -#define IPV6_FLOWINFO		11 - -#define IPV6_UNICAST_HOPS	16 -#define IPV6_MULTICAST_IF	17 -#define IPV6_MULTICAST_HOPS	18 -#define IPV6_MULTICAST_LOOP	19 -#define IPV6_ADD_MEMBERSHIP	20 -#define IPV6_DROP_MEMBERSHIP	21 -#define IPV6_ROUTER_ALERT	22 -#define IPV6_MTU_DISCOVER	23 -#define IPV6_MTU		24 -#define IPV6_RECVERR		25 - -/* IPV6_MTU_DISCOVER values */ -#define IPV6_PMTUDISC_DONT		0 -#define IPV6_PMTUDISC_WANT		1 -#define IPV6_PMTUDISC_DO		2 - -/* Flowlabel */ -#define IPV6_FLOWLABEL_MGR	32 -#define IPV6_FLOWINFO_SEND	33 - -#define IPV6_MIN_MTU	1280 - -struct in6_pktinfo { -  struct in6_addr	ipi6_addr; -  int		ipi6_ifindex; -}; - -struct in6_ifreq { -  struct in6_addr	ifr6_addr; -  uint32_t		ifr6_prefixlen; -  int		ifr6_ifindex;  -}; - -#define IPV6_SRCRT_STRICT	0x01	/* this hop must be a neighbor	*/ -#define IPV6_SRCRT_TYPE_0	0	/* IPv6 type 0 Routing Header	*/ - -/* routing header */ -struct ipv6_rt_hdr { -  uint8_t		nexthdr; -  uint8_t		hdrlen; -  uint8_t		type; -  uint8_t		segments_left; -  /* type specific data, variable length field */ -}; - -struct ipv6_opt_hdr { -  uint8_t 		nexthdr; -  uint8_t 		hdrlen; -  /* TLV encoded option data follows. */ -}; - -#define ipv6_destopt_hdr ipv6_opt_hdr -#define ipv6_hopopt_hdr  ipv6_opt_hdr - -/* routing header type 0 (used in cmsghdr struct) */ - -#ifndef __STRICT_ANSI__ -struct rt0_hdr { -  struct ipv6_rt_hdr	rt_hdr; -  uint32_t		bitmap;		/* strict/loose bit map */ -  struct in6_addr	addr[0]; -#define rt0_type		rt_hdr.type; -}; -#endif - -struct ipv6hdr { -#if __BYTE_ORDER == __LITTLE_ENDIAN -  unsigned int		flow_lbl:20, -			priority:8, -			version:4; -#else -  unsigned int		version:4, -			priority:8, -			flow_lbl:20; -#endif - -  uint16_t		payload_len; -  uint8_t		nexthdr; -  uint8_t		hop_limit; - -  struct in6_addr	saddr; -  struct in6_addr	daddr; -}; -/* fnord */ - -#define IPPORT_RESERVED 1024 -#define INET6_ADDRSTRLEN 46 - -#undef htonl -#undef htons -#undef ntohl -#undef ntohs -uint32_t htonl(uint32_t hostlong); -uint16_t htons(uint16_t hostshort); -uint32_t ntohl(uint32_t netlong); -uint16_t ntohs(uint16_t netshort); - -#define IN6_IS_ADDR_UNSPECIFIED(a) \ -	(((__const uint32_t *) (a))[0] == 0				      \ -	 && ((__const uint32_t *) (a))[1] == 0				      \ -	 && ((__const uint32_t *) (a))[2] == 0				      \ -	 && ((__const uint32_t *) (a))[3] == 0) - -#define IN6_IS_ADDR_LOOPBACK(a) \ -	(((__const uint32_t *) (a))[0] == 0				      \ -	 && ((__const uint32_t *) (a))[1] == 0				      \ -	 && ((__const uint32_t *) (a))[2] == 0				      \ -	 && ((__const uint32_t *) (a))[3] == htonl (1)) - -#define IN6_IS_ADDR_MULTICAST(a) (((__const uint8_t *) (a))[0] == 0xff) - -#define IN6_IS_ADDR_LINKLOCAL(a) \ -	((((__const uint32_t *) (a))[0] & htonl (0xffc00000))		      \ -	 == htonl (0xfe800000)) - -#define IN6_IS_ADDR_SITELOCAL(a) \ -	((((__const uint32_t *) (a))[0] & htonl (0xffc00000))		      \ -	 == htonl (0xfec00000)) - -#define IN6_IS_ADDR_V4MAPPED(a) \ -	((((__const uint32_t *) (a))[0] == 0)				      \ -	 && (((__const uint32_t *) (a))[1] == 0)			      \ -	 && (((__const uint32_t *) (a))[2] == htonl (0xffff))) - -#define IN6_IS_ADDR_V4COMPAT(a) \ -	((((__const uint32_t *) (a))[0] == 0)				      \ -	 && (((__const uint32_t *) (a))[1] == 0)			      \ -	 && (((__const uint32_t *) (a))[2] == 0)			      \ -	 && (ntohl (((__const uint32_t *) (a))[3]) > 1)) - -#define IN6_ARE_ADDR_EQUAL(a,b) \ -	((((__const uint32_t *) (a))[0] == ((__const uint32_t *) (b))[0])     \ -	 && (((__const uint32_t *) (a))[1] == ((__const uint32_t *) (b))[1])  \ -	 && (((__const uint32_t *) (a))[2] == ((__const uint32_t *) (b))[2])  \ -	 && (((__const uint32_t *) (a))[3] == ((__const uint32_t *) (b))[3])) - -/* old legacy bullshit */ -int bindresvport(int sd, struct sockaddr_in* sin); - -#endif diff --git a/mdk-stage1/dietlibc/include/netinet/in_systm.h b/mdk-stage1/dietlibc/include/netinet/in_systm.h deleted file mode 100644 index e69de29bb..000000000 --- a/mdk-stage1/dietlibc/include/netinet/in_systm.h +++ /dev/null diff --git a/mdk-stage1/dietlibc/include/netinet/ip.h b/mdk-stage1/dietlibc/include/netinet/ip.h deleted file mode 100644 index 4ebf21706..000000000 --- a/mdk-stage1/dietlibc/include/netinet/ip.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef _NETINET_IP_H -#define _NETINET_IP_H - -#include <inttypes.h> -#include <endian.h> -#include <netinet/in.h> - -#define	IPVERSION	4               /* IP version number */ -#define	IP_MAXPACKET	65535		/* maximum packet size */ - -#define IPTOS_TOS_MASK		0x1E -#define IPTOS_TOS(tos)		((tos)&IPTOS_TOS_MASK) -#define IPTOS_LOWDELAY		0x10 -#define IPTOS_THROUGHPUT	0x08 -#define IPTOS_RELIABILITY	0x04 -#define IPTOS_MINCOST		0x02 -#define IPTOS_LOWCOST		IPTOS_MINCOST - -#define IPTOS_PREC_MASK		0xE0 -#define IPTOS_PREC(tos)		((tos)&IPTOS_PREC_MASK) -#define IPTOS_PREC_NETCONTROL           0xe0 -#define IPTOS_PREC_INTERNETCONTROL      0xc0 -#define IPTOS_PREC_CRITIC_ECP           0xa0 -#define IPTOS_PREC_FLASHOVERRIDE        0x80 -#define IPTOS_PREC_FLASH                0x60 -#define IPTOS_PREC_IMMEDIATE            0x40 -#define IPTOS_PREC_PRIORITY             0x20 -#define IPTOS_PREC_ROUTINE              0x00 - - -/* IP options */ -#define IPOPT_COPY		0x80 -#define IPOPT_CLASS_MASK	0x60 -#define IPOPT_NUMBER_MASK	0x1f - -#define IPOPT_COPIED(o)		((o)&IPOPT_COPY) -#define IPOPT_CLASS(o)		((o)&IPOPT_CLASS_MASK) -#define IPOPT_NUMBER(o)		((o)&IPOPT_NUMBER_MASK) - -#define IPOPT_CONTROL		0x00 -#define IPOPT_RESERVED1		0x20 -#define IPOPT_MEASUREMENT	0x40 -#define IPOPT_RESERVED2		0x60 - -#define IPOPT_END	(0 |IPOPT_CONTROL) -#define IPOPT_NOOP	(1 |IPOPT_CONTROL) -#define IPOPT_SEC	(2 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_LSRR	(3 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_TIMESTAMP	(4 |IPOPT_MEASUREMENT) -#define IPOPT_RR	(7 |IPOPT_CONTROL) -#define IPOPT_SID	(8 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_SSRR	(9 |IPOPT_CONTROL|IPOPT_COPY) -#define IPOPT_RA	(20|IPOPT_CONTROL|IPOPT_COPY) - -#define IPVERSION	4 -#define MAXTTL		255 -#define IPDEFTTL	64 - -/* struct timestamp, struct route and MAX_ROUTES are removed. - -   REASONS: it is clear that nobody used them because: -   - MAX_ROUTES value was wrong. -   - "struct route" was wrong. -   - "struct timestamp" had fatally misaligned bitfields and was completely unusable. - */ - -#define IPOPT_OPTVAL 0 -#define IPOPT_OLEN   1 -#define IPOPT_OFFSET 2 -#define IPOPT_MINOFF 4 -#define MAX_IPOPTLEN 40 -#define IPOPT_NOP IPOPT_NOOP -#define IPOPT_EOL IPOPT_END -#define IPOPT_TS  IPOPT_TIMESTAMP - -#define IPOPT_TS_TSONLY		0		/* timestamps only */ -#define IPOPT_TS_TSANDADDR	1		/* timestamps and addresses */ -#define IPOPT_TS_PRESPEC	3		/* specified modules only */ - -struct iphdr {				/* size 20/0x14 */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -  unsigned int ihl:4, version:4;	/* offset 0; version=ip version (4) */ -#else -  unsigned int version:4, ihl:4;	/* offset 0; ihl=ip header length, measured in words (5) */ -#endif -  unsigned char tos;			/* offset 1 */ -  unsigned short tot_len;		/* offset 2; total bytes in packet in network byte order */ -  unsigned short id;			/* offset 4 */ -  unsigned short frag_off;		/* offset 6 */ -  unsigned char ttl;			/* offset 8 */ -  unsigned char protocol;		/* offset 9; 1=ICMP, 6=TCP, 17=UDP (see netinet/in.h) */ -  unsigned short check;			/* offset 10/0xa */ -  unsigned int saddr;			/* offset 12/0xc */ -  unsigned int daddr;			/* offset 16/0x10 */ -  /*The options start here. */ -}; - -struct ip { -#if __BYTE_ORDER == __LITTLE_ENDIAN -  unsigned int ip_hl:4;		/* header length */ -  unsigned int ip_v:4;		/* version */ -#endif -#if __BYTE_ORDER == __BIG_ENDIAN -  unsigned int ip_v:4;		/* version */ -  unsigned int ip_hl:4;		/* header length */ -#endif -  unsigned char ip_tos;		/* type of service */ -  unsigned short ip_len;		/* total length */ -  unsigned short ip_id;		/* identification */ -  unsigned short ip_off;		/* fragment offset field */ -#define	IP_RF 0x8000			/* reserved fragment flag */ -#define	IP_DF 0x4000			/* dont fragment flag */ -#define	IP_MF 0x2000			/* more fragments flag */ -#define	IP_OFFMASK 0x1fff		/* mask for fragmenting bits */ -  unsigned char ip_ttl;		/* time to live */ -  unsigned char ip_p;			/* protocol */ -  unsigned short ip_sum;		/* checksum */ -  struct in_addr ip_src, ip_dst;	/* source and dest address */ -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h b/mdk-stage1/dietlibc/include/netinet/ip_icmp.h deleted file mode 100644 index cf8e016f7..000000000 --- a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef NETINET_IP_ICMP_H -#define NETINET_IP_ICMP_H - -#include <sys/cdefs.h> -#include <inttypes.h> -#include <netinet/ip.h> - -struct icmphdr { -  uint8_t type;		/* message type */ -  uint8_t code;		/* type sub-code */ -  uint16_t checksum; -  union { -    struct { -      uint16_t	id; -      uint16_t	sequence; -    } echo;			/* echo datagram */ -    uint32_t	gateway;	/* gateway address */ -    struct { -      uint16_t	__unused; -      uint16_t	mtu; -    } frag;			/* path mtu discovery */ -  } un; -}; - -#define ICMP_ECHOREPLY		0	/* Echo Reply			*/ -#define ICMP_DEST_UNREACH	3	/* Destination Unreachable	*/ -#define ICMP_SOURCE_QUENCH	4	/* Source Quench		*/ -#define ICMP_REDIRECT		5	/* Redirect (change route)	*/ -#define ICMP_ECHO		8	/* Echo Request			*/ -#define ICMP_TIME_EXCEEDED	11	/* Time Exceeded		*/ -#define ICMP_PARAMETERPROB	12	/* Parameter Problem		*/ -#define ICMP_TIMESTAMP		13	/* Timestamp Request		*/ -#define ICMP_TIMESTAMPREPLY	14	/* Timestamp Reply		*/ -#define ICMP_INFO_REQUEST	15	/* Information Request		*/ -#define ICMP_INFO_REPLY		16	/* Information Reply		*/ -#define ICMP_ADDRESS		17	/* Address Mask Request		*/ -#define ICMP_ADDRESSREPLY	18	/* Address Mask Reply		*/ -#define NR_ICMP_TYPES		18 - - -/* Codes for UNREACH. */ -#define ICMP_NET_UNREACH	0	/* Network Unreachable		*/ -#define ICMP_HOST_UNREACH	1	/* Host Unreachable		*/ -#define ICMP_PROT_UNREACH	2	/* Protocol Unreachable		*/ -#define ICMP_PORT_UNREACH	3	/* Port Unreachable		*/ -#define ICMP_FRAG_NEEDED	4	/* Fragmentation Needed/DF set	*/ -#define ICMP_SR_FAILED		5	/* Source Route failed		*/ -#define ICMP_NET_UNKNOWN	6 -#define ICMP_HOST_UNKNOWN	7 -#define ICMP_HOST_ISOLATED	8 -#define ICMP_NET_ANO		9 -#define ICMP_HOST_ANO		10 -#define ICMP_NET_UNR_TOS	11 -#define ICMP_HOST_UNR_TOS	12 -#define ICMP_PKT_FILTERED	13	/* Packet filtered */ -#define ICMP_PREC_VIOLATION	14	/* Precedence violation */ -#define ICMP_PREC_CUTOFF	15	/* Precedence cut off */ -#define NR_ICMP_UNREACH		15	/* instead of hardcoding immediate value */ - -/* Codes for REDIRECT. */ -#define ICMP_REDIR_NET		0	/* Redirect Net			*/ -#define ICMP_REDIR_HOST		1	/* Redirect Host		*/ -#define ICMP_REDIR_NETTOS	2	/* Redirect Net for TOS		*/ -#define ICMP_REDIR_HOSTTOS	3	/* Redirect Host for TOS	*/ - -/* Codes for TIME_EXCEEDED. */ -#define ICMP_EXC_TTL		0	/* TTL count exceeded		*/ -#define ICMP_EXC_FRAGTIME	1	/* Fragment Reass time exceeded	*/ - -/* - * Lower bounds on packet lengths for various types. - * For the error advice packets must first insure that the - * packet is large enough to contain the returned ip header. - * Only then can we do the check to see if 64 bits of packet - * data have been returned, since we need to check the returned - * ip header length. - */ -#define	ICMP_MINLEN	8				/* abs minimum */ -#define	ICMP_TSLEN	(8 + 3 * sizeof (n_time))	/* timestamp */ -#define	ICMP_MASKLEN	12				/* address mask */ -#define	ICMP_ADVLENMIN	(8 + sizeof (struct ip) + 8)	/* min */ -#ifndef _IP_VHL -#define	ICMP_ADVLEN(p)	(8 + ((p)->icmp_ip.ip_hl << 2) + 8) -	/* N.B.: must separately check that ip_hl >= 5 */ -#else -#define	ICMP_ADVLEN(p)	(8 + (IP_VHL_HL((p)->icmp_ip.ip_vhl) << 2) + 8) -	/* N.B.: must separately check that header length >= 5 */ -#endif - -/* Definition of type and code fields. */ -/* defined above: ICMP_ECHOREPLY, ICMP_REDIRECT, ICMP_ECHO */ -#define	ICMP_UNREACH		3		/* dest unreachable, codes: */ -#define	ICMP_SOURCEQUENCH	4		/* packet lost, slow down */ -#define	ICMP_ROUTERADVERT	9		/* router advertisement */ -#define	ICMP_ROUTERSOLICIT	10		/* router solicitation */ -#define	ICMP_TIMXCEED		11		/* time exceeded, code: */ -#define	ICMP_PARAMPROB		12		/* ip header bad */ -#define	ICMP_TSTAMP		13		/* timestamp request */ -#define	ICMP_TSTAMPREPLY	14		/* timestamp reply */ -#define	ICMP_IREQ		15		/* information request */ -#define	ICMP_IREQREPLY		16		/* information reply */ -#define	ICMP_MASKREQ		17		/* address mask request */ -#define	ICMP_MASKREPLY		18		/* address mask reply */ - -#define	ICMP_MAXTYPE		18 - -/* UNREACH codes */ -#define	ICMP_UNREACH_NET	        0	/* bad net */ -#define	ICMP_UNREACH_HOST	        1	/* bad host */ -#define	ICMP_UNREACH_PROTOCOL	        2	/* bad protocol */ -#define	ICMP_UNREACH_PORT	        3	/* bad port */ -#define	ICMP_UNREACH_NEEDFRAG	        4	/* IP_DF caused drop */ -#define	ICMP_UNREACH_SRCFAIL	        5	/* src route failed */ -#define	ICMP_UNREACH_NET_UNKNOWN        6	/* unknown net */ -#define	ICMP_UNREACH_HOST_UNKNOWN       7	/* unknown host */ -#define	ICMP_UNREACH_ISOLATED	        8	/* src host isolated */ -#define	ICMP_UNREACH_NET_PROHIB	        9	/* net denied */ -#define	ICMP_UNREACH_HOST_PROHIB        10	/* host denied */ -#define	ICMP_UNREACH_TOSNET	        11	/* bad tos for net */ -#define	ICMP_UNREACH_TOSHOST	        12	/* bad tos for host */ -#define	ICMP_UNREACH_FILTER_PROHIB      13	/* admin prohib */ -#define	ICMP_UNREACH_HOST_PRECEDENCE    14	/* host prec vio. */ -#define	ICMP_UNREACH_PRECEDENCE_CUTOFF  15	/* prec cutoff */ - -/* REDIRECT codes */ -#define	ICMP_REDIRECT_NET	0		/* for network */ -#define	ICMP_REDIRECT_HOST	1		/* for host */ -#define	ICMP_REDIRECT_TOSNET	2		/* for tos and net */ -#define	ICMP_REDIRECT_TOSHOST	3		/* for tos and host */ - -/* TIMEXCEED codes */ -#define	ICMP_TIMXCEED_INTRANS	0		/* ttl==0 in transit */ -#define	ICMP_TIMXCEED_REASS	1		/* ttl==0 in reass */ - -/* PARAMPROB code */ -#define	ICMP_PARAMPROB_OPTABSENT 1		/* req. opt. absent */ - -#define	ICMP_INFOTYPE(type) \ -	((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \ -	(type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \ -	(type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \ -	(type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \ -	(type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) - -#endif diff --git a/mdk-stage1/dietlibc/include/netinet/tcp.h b/mdk-stage1/dietlibc/include/netinet/tcp.h deleted file mode 100644 index e47f24dff..000000000 --- a/mdk-stage1/dietlibc/include/netinet/tcp.h +++ /dev/null @@ -1,164 +0,0 @@ -#ifndef _NETINET_TCP_H -#define _NETINET_TCP_H - -#include <inttypes.h> -#include <endian.h> - -struct tcphdr {		/* size 20/0x14      40/0x28 with IP header */ -  uint16_t source;	/* offset 0          20/0x14 */ -  uint16_t dest;	/* offset 2          22/0x16 */ -  uint32_t seq;		/* offset 4          24/0x18 */ -  uint32_t ack_seq;	/* offset 8          28/0x1c */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -  uint16_t res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1; -#else -  uint16_t doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1; -#endif -			/* offset 12/0xc     32/0x20 */ -  uint16_t window;	/* offset 14/0xe     34/0x22 */ -  uint16_t check;	/* offset 16/0x10    36/0x24 */ -  uint16_t urg_ptr;	/* offset 18/0x12    38/0x26 */ -}; - - -enum { -  TCP_ESTABLISHED = 1, -  TCP_SYN_SENT, -  TCP_SYN_RECV, -  TCP_FIN_WAIT1, -  TCP_FIN_WAIT2, -  TCP_TIME_WAIT, -  TCP_CLOSE, -  TCP_CLOSE_WAIT, -  TCP_LAST_ACK, -  TCP_LISTEN, -  TCP_CLOSING,	 /* now a valid state */ - -  TCP_MAX_STATES /* Leave at the end! */ -}; - -#define TCP_STATE_MASK 0xF -#define TCP_ACTION_FIN (1 << 7) - -enum { -  TCPF_ESTABLISHED = (1 << 1), -  TCPF_SYN_SENT  = (1 << 2), -  TCPF_SYN_RECV  = (1 << 3), -  TCPF_FIN_WAIT1 = (1 << 4), -  TCPF_FIN_WAIT2 = (1 << 5), -  TCPF_TIME_WAIT = (1 << 6), -  TCPF_CLOSE     = (1 << 7), -  TCPF_CLOSE_WAIT = (1 << 8), -  TCPF_LAST_ACK  = (1 << 9), -  TCPF_LISTEN    = (1 << 10), -  TCPF_CLOSING   = (1 << 11) -}; - -/* - *	The union cast uses a gcc extension to avoid aliasing problems - *  (union is compatible to any of its members) - *  This means this part of the code is -fstrict-aliasing safe now. - */ -union tcp_word_hdr { -  struct tcphdr hdr; -  uint32_t words[5]; -}; - -#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])  - -enum { -#if __BYTE_ORDER == __LITTLE_ENDIAN -  TCP_FLAG_CWR = 0x00008000, -  TCP_FLAG_ECE = 0x00004000, -  TCP_FLAG_URG = 0x00002000, -  TCP_FLAG_ACK = 0x00001000, -  TCP_FLAG_PSH = 0x00000800, -  TCP_FLAG_RST = 0x00000400, -  TCP_FLAG_SYN = 0x00000200, -  TCP_FLAG_FIN = 0x00000100, -  TCP_RESERVED_BITS = 0x0000C00F, -  TCP_DATA_OFFSET = 0x000000F0 -#else -  TCP_FLAG_CWR = 0x00800000, -  TCP_FLAG_ECE = 0x00400000, -  TCP_FLAG_URG = 0x00200000, -  TCP_FLAG_ACK = 0x00100000, -  TCP_FLAG_PSH = 0x00080000, -  TCP_FLAG_RST = 0x00040000, -  TCP_FLAG_SYN = 0x00020000, -  TCP_FLAG_FIN = 0x00010000, -  TCP_RESERVED_BITS = 0x0FC00000, -  TCP_DATA_OFFSET = 0xF0000000 -#endif -}; - -/* TCP socket options */ -#define TCP_NODELAY		1	/* Turn off Nagle's algorithm. */ -#define TCP_MAXSEG		2	/* Limit MSS */ -#define TCP_CORK		3	/* Never send partially complete segments */ -#define TCP_KEEPIDLE		4	/* Start keeplives after this period */ -#define TCP_KEEPINTVL		5	/* Interval between keepalives */ -#define TCP_KEEPCNT		6	/* Number of keepalives before death */ -#define TCP_SYNCNT		7	/* Number of SYN retransmits */ -#define TCP_LINGER2		8	/* Life time of orphaned FIN-WAIT-2 state */ -#define TCP_DEFER_ACCEPT	9	/* Wake up listener only when data arrive */ -#define TCP_WINDOW_CLAMP	10	/* Bound advertised window */ -#define TCP_INFO		11	/* Information about this connection. */ -#define TCP_QUICKACK		12	/* Block/reenable quick acks */ - -#define TCPI_OPT_TIMESTAMPS	1 -#define TCPI_OPT_SACK		2 -#define TCPI_OPT_WSCALE		4 -#define TCPI_OPT_ECN		8 - -enum tcp_ca_state { -  TCP_CA_Open = 0, -#define TCPF_CA_Open	(1<<TCP_CA_Open) -  TCP_CA_Disorder = 1, -#define TCPF_CA_Disorder (1<<TCP_CA_Disorder) -  TCP_CA_CWR = 2, -#define TCPF_CA_CWR	(1<<TCP_CA_CWR) -  TCP_CA_Recovery = 3, -#define TCPF_CA_Recovery (1<<TCP_CA_Recovery) -  TCP_CA_Loss = 4 -#define TCPF_CA_Loss	(1<<TCP_CA_Loss) -}; - -struct tcp_info { -  uint8_t tcpi_state; -  uint8_t tcpi_ca_state; -  uint8_t tcpi_retransmits; -  uint8_t tcpi_probes; -  uint8_t tcpi_backoff; -  uint8_t tcpi_options; -  uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; - -  uint32_t tcpi_rto; -  uint32_t tcpi_ato; -  uint32_t tcpi_snd_mss; -  uint32_t tcpi_rcv_mss; - -  uint32_t tcpi_unacked; -  uint32_t tcpi_sacked; -  uint32_t tcpi_lost; -  uint32_t tcpi_retrans; -  uint32_t tcpi_fackets; - -  /* Times. */ -  uint32_t tcpi_last_data_sent; -  uint32_t tcpi_last_ack_sent;     /* Not remembered, sorry. */ -  uint32_t tcpi_last_data_recv; -  uint32_t tcpi_last_ack_recv; - -  /* Metrics. */ -  uint32_t tcpi_pmtu; -  uint32_t tcpi_rcv_ssthresh; -  uint32_t tcpi_rtt; -  uint32_t tcpi_rttvar; -  uint32_t tcpi_snd_ssthresh; -  uint32_t tcpi_snd_cwnd; -  uint32_t tcpi_advmss; -  uint32_t tcpi_reordering; -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/netinet/udp.h b/mdk-stage1/dietlibc/include/netinet/udp.h deleted file mode 100644 index 3c5e9524e..000000000 --- a/mdk-stage1/dietlibc/include/netinet/udp.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _NETINET_UDP_H -#define _NETINET_UDP_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct udphdr {		/* size 8     28/0x1c with IP header */ -  uint16_t source;	/* offset 0   20/0x14 */ -  uint16_t dest;	/* offset 2   22/0x16 */ -  uint16_t len;		/* offset 4   24/0x18 */ -  uint16_t check;	/* offset 6   26/0x1a */ -}; - -#define SOL_UDP            17      /* sockopt level for UDP */ - -#endif diff --git a/mdk-stage1/dietlibc/include/netpacket/packet.h b/mdk-stage1/dietlibc/include/netpacket/packet.h deleted file mode 100644 index b265094c6..000000000 --- a/mdk-stage1/dietlibc/include/netpacket/packet.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef __NETPACKET_PACKET_H -#define __NETPACKET_PACKET_H - -struct sockaddr_ll { -  unsigned short int sll_family; -  unsigned short int sll_protocol; -  int sll_ifindex; -  unsigned short int sll_hatype; -  unsigned char sll_pkttype; -  unsigned char sll_halen; -  unsigned char sll_addr[8]; -}; - -#define PACKET_HOST		0		/* To us.  */ -#define PACKET_BROADCAST	1		/* To all.  */ -#define PACKET_MULTICAST	2		/* To group.  */ -#define PACKET_OTHERHOST	3		/* To someone else.  */ -#define PACKET_OUTGOING		4		/* Originated by us. */ -#define PACKET_LOOPBACK		5 -#define PACKET_FASTROUTE	6 - -/* Packet socket options.  */ - -#define PACKET_ADD_MEMBERSHIP		1 -#define PACKET_DROP_MEMBERSHIP		2 -#define PACKET_RECV_OUTPUT		3 -#define PACKET_RX_RING			5 -#define PACKET_STATISTICS		6 - -struct packet_mreq { -  int mr_ifindex; -  unsigned short int mr_type; -  unsigned short int mr_alen; -  unsigned char mr_address[8]; -}; - -#define PACKET_MR_MULTICAST	0 -#define PACKET_MR_PROMISC	1 -#define PACKET_MR_ALLMULTI	2 - -#endif diff --git a/mdk-stage1/dietlibc/include/paths.h b/mdk-stage1/dietlibc/include/paths.h deleted file mode 100644 index 9073d267a..000000000 --- a/mdk-stage1/dietlibc/include/paths.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _PATHS_H -#define _PATHS_H - -#define _PATH_BSHELL "/bin/sh" -#define _PATH_DEFPATH "/bin:/usr/bin:" - -#define _PATH_DEVNULL "/dev/null" - -#define _PATH_CONSOLE "/dev/console" -#define _PATH_MOUNTED "/etc/mtab" - -#define _PATH_PASSWD "/etc/passwd" -#define _PATH_GROUP "/etc/group" -#define _PATH_SHADOW "/etc/shadow" - -#define	_PATH_SHELLS	"/etc/shells" - -#define _PATH_VARRUN	"/var/run/" - -/* puke */ -#define _PATH_MAILDIR	"/var/mail" - -#endif diff --git a/mdk-stage1/dietlibc/include/pthread.h b/mdk-stage1/dietlibc/include/pthread.h deleted file mode 100644 index e243c0281..000000000 --- a/mdk-stage1/dietlibc/include/pthread.h +++ /dev/null @@ -1,244 +0,0 @@ -#ifndef _PTHREAD_H -#define _PTHREAD_H 1 - -#include <sched.h> -#include <signal.h> -#include <setjmp.h> - -#define PTHREAD_STACK_SIZE	16384 - -#define PTHREAD_THREADS_MAX	128 - -#define MAX_SPIN_COUNT		50 -#define SPIN_SLEEP_DURATION	2000001 - -#define PTHREAD_KEYS_MAX	7 -#define PTHREAD_DESTRUCTOR_ITERATIONS 10 - -typedef struct _pthread_descr_struct *_pthread_descr; -typedef int pthread_t; - -/* Fast locks */ -#ifdef __parisc__ -#define PTHREAD_SPIN_LOCKED 0 -#define PTHREAD_SPIN_UNLOCKED 1 -#else -#define PTHREAD_SPIN_LOCKED 1 -#define PTHREAD_SPIN_UNLOCKED 0 -#endif -struct _pthread_fastlock { -  int __spinlock; -}; - -/* Mutexes */ -typedef struct { -  struct _pthread_fastlock lock; -  _pthread_descr owner; -  int kind; -  unsigned int count; -} pthread_mutex_t; - -enum { -  PTHREAD_MUTEX_FAST_NP, -  PTHREAD_MUTEX_RECURSIVE_NP, -  PTHREAD_MUTEX_ERRORCHECK_NP, -}; - -enum -{ -  PTHREAD_PROCESS_PRIVATE, -#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE -  PTHREAD_PROCESS_SHARED -#define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED -}; - -#define PTHREAD_MUTEX_INITIALIZER \ -{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_FAST_NP, 0} - -#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ -{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0} - -#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ -{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0} - -typedef struct { -  int __mutexkind; -} pthread_mutexattr_t; - -int pthread_mutexattr_init(pthread_mutexattr_t *attr); -int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); - -int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind); -int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind); - -int pthread_mutex_init(pthread_mutex_t *mutex, -		const pthread_mutexattr_t *mutexattr); -int pthread_mutex_lock(pthread_mutex_t *mutex); -int pthread_mutex_unlock(pthread_mutex_t *mutex); -int pthread_mutex_trylock(pthread_mutex_t *mutex); -int pthread_mutex_destroy(pthread_mutex_t *mutex); - -/* Conditions */ -typedef void* pthread_condattr_t; - -typedef struct { -  struct _pthread_fastlock lock; -  _pthread_descr wait_chain; -} pthread_cond_t; - -#define PTHREAD_COND_INITIALIZER \ -{{PTHREAD_SPIN_UNLOCKED},0} - -int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr); -int pthread_cond_destroy(pthread_cond_t *cond); -int pthread_cond_signal(pthread_cond_t *cond); -int pthread_cond_broadcast(pthread_cond_t *cond); -int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, -			   const struct timespec *abstime); -int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); - -/* only for completeness (always return NULL) */ -int pthread_condattr_init(pthread_condattr_t *attr); -int pthread_condattr_destroy(pthread_condattr_t *attr); -int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared); -int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared); - -/* thread specific variables */ -typedef unsigned int pthread_key_t; - -int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*)); -int pthread_key_delete(pthread_key_t key); -int pthread_setspecific(pthread_key_t key, const void *value); -const void *pthread_getspecific(pthread_key_t key); - - -/* Attributes for threads.  */ -typedef struct -{ -  int		__detachstate; -  int		__schedpolicy; -  struct sched_param	__schedparam; -  int		__inheritsched; -  int		__scope; -  void *	__stackaddr; -  unsigned long __stacksize; -} pthread_attr_t; - -enum -{ -  PTHREAD_CREATE_JOINABLE, -#define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE -  PTHREAD_CREATE_DETACHED -#define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED -}; - -enum -{ -  PTHREAD_EXPLICIT_SCHED, -#define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED -  PTHREAD_INHERIT_SCHED -#define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED -}; - -enum	/* for completeness */ -{ -  PTHREAD_SCOPE_SYSTEM, -#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM -  PTHREAD_SCOPE_PROCESS -#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS -}; - -int pthread_attr_init(pthread_attr_t *attr); -int pthread_attr_destroy(pthread_attr_t *attr); - -int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate); -int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate); - -int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy); -int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy); - -int pthread_attr_setschedparam(pthread_attr_t *attr, -				const struct sched_param *param); -int pthread_attr_getschedparam(const pthread_attr_t *attr, -				struct sched_param *param); - -int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit); -int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit); - -int pthread_attr_setscope(pthread_attr_t *attr, int scope); -int pthread_attr_getscope(const pthread_attr_t *attr, int *scope); - -int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack); -int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack); - -int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize); -int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize); - -int pthread_setschedparam(pthread_t target_thread, int policy, -			  const struct sched_param *param); -int pthread_getschedparam(pthread_t target_thread, int *policy, -			  struct sched_param *param); - -/* ONCE */ -typedef int pthread_once_t; -#define PTHREAD_ONCE_INIT	PTHREAD_SPIN_UNLOCKED - -int __pthread_once(pthread_once_t* once_control, void (*init_routine)(void)); -int pthread_once(pthread_once_t* once_control, void (*init_routine)(void)); - -/* CANCEL */ - -enum { -  PTHREAD_CANCEL_ENABLE, -#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE -  PTHREAD_CANCEL_DISABLE, -#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE -}; - -enum { -  PTHREAD_CANCEL_ASYNCHRONOUS, -#define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS -  PTHREAD_CANCEL_DEFERRED, -#define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED -}; - -#define PTHREAD_CANCELED ((void *) -1) - -int pthread_cancel(pthread_t thread); -int pthread_setcancelstate(int state, int *oldstate); - -int pthread_setcanceltype(int type, int *oldtype); - -void pthread_testcancel(void); - -/* CLEANUP */ - -void pthread_cleanup_push(void (*routine)(void*), void *arg); -void pthread_cleanup_pop (int execute); - -void pthread_cleanup_push_defer_np(void (*routine)(void *), void *arg); -void pthread_cleanup_pop_restore_np(int execute); - -/* FORK */ - -pid_t pthread_atfork(void (*prepare)(void), void (*parent)(void), -		     void (*child)(void)); - -/* THREADS */ -int pthread_create (pthread_t *__threadarg, -		const pthread_attr_t *__attr, -		void *(*__start_routine) (void *), -		void *__arg); - -void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); - -int pthread_join (pthread_t __th, void **__thread_return); - -int pthread_detach (pthread_t __th); - -pthread_t pthread_self (void); -int pthread_equal (pthread_t __thread1, pthread_t __thread2); - -int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset); - -#endif diff --git a/mdk-stage1/dietlibc/include/pty.h b/mdk-stage1/dietlibc/include/pty.h deleted file mode 100644 index fa53d9934..000000000 --- a/mdk-stage1/dietlibc/include/pty.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef _PTY_H -#define _PTY_H - -#include <sys/cdefs.h> -#include <termios.h> - -/* Create pseudo tty master slave pair with NAME and set terminal - *    attributes according to TERMP and WINP and return handles for both - *       ends in AMASTER and ASLAVE.  */ -extern int openpty (int *__amaster, int *__aslave, char *__name, struct -		    termios *__termp, struct winsize *__winp) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/pwd.h b/mdk-stage1/dietlibc/include/pwd.h deleted file mode 100644 index 8901a2d7f..000000000 --- a/mdk-stage1/dietlibc/include/pwd.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _PWD_H -#define _PWD_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <stdio.h> - -struct passwd { -  char *pw_name;		/* Username.  */ -  char *pw_passwd;		/* Password.  */ -  uid_t pw_uid;			/* User ID.  */ -  gid_t pw_gid;			/* Group ID.  */ -  char *pw_gecos;		/* Real name.  */ -  char *pw_dir;			/* Home directory.  */ -  char *pw_shell;		/* Shell program.  */ -}; - -extern struct passwd *getpwuid (uid_t uid) __THROW; -extern struct passwd *getpwnam (const char *name) __THROW; - -extern struct passwd *getpwent(void) __THROW; -extern void setpwent(void) __THROW; -extern void endpwent(void) __THROW; -extern int putpwent(const struct passwd *p, FILE *stream) __THROW; - -int getpwent_r(struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) __THROW; -int getpwnam_r(const char* name, -	       struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) __THROW; -int getpwuid_r(uid_t uid, -	       struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h deleted file mode 100644 index abc9ab57b..000000000 --- a/mdk-stage1/dietlibc/include/regex.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef _REGEX_H -#define _REGEX_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -typedef ptrdiff_t regoff_t; - -typedef struct { -  regoff_t rm_so; -  regoff_t rm_eo; -} regmatch_t; - -#define REG_EXTENDED 1 -#define REG_ICASE 2 -#define REG_NOSUB 4 -#define REG_NEWLINE 8 - -#define REG_NOTBOL 1 -#define REG_NOTEOL 2 - -#define REG_NOMATCH -1 - -#define RE_DUP_MAX 255 - -struct __regex_t; - -typedef int (*matcher)(void*,const char*,int ofs,struct __regex_t *t,int plus,int eflags); - -typedef struct __regex_t { -  struct regex { -    matcher m; -    void* next; -    int pieces; -    int num; -    struct branch *b; -  } r; -  int brackets,cflags; -  regmatch_t *l; -} regex_t; -#define re_nsub r.pieces - -int regcomp(regex_t *preg, const char *regex, int cflags) __THROW; -int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) __THROW; -size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) __THROW; -void regfree(regex_t *preg) __THROW; - -enum __regex_errors { -  REG_NOERROR, -  REG_BADRPT, /* Invalid use of repetition operators such as using `*' as the first character. */ -  REG_BADBR, /* Invalid use of back reference operator. */ -  REG_EBRACE, /* Un-matched brace interval operators. */ -  REG_EBRACK, /* Un-matched bracket list operators. */ -  REG_ERANGE, /* Invalid use of the range operator, eg. the ending point of the -		 range occurs  prior  to  the  starting point. */ -  REG_ECTYPE, /* Unknown character class name. */ -  REG_ECOLLATE, /* Invalid collating element. */ -  REG_EPAREN, /* Un-matched parenthesis group operators. */ -  REG_ESUBREG, /* Invalid back reference to a subexpression. */ -  REG_EEND, /* Non specific error.  This is not defined by POSIX.2. */ -  REG_EESCAPE, /* Trailing backslash. */ -  REG_BADPAT, /* Invalid use of pattern operators such as group or list. */ -  REG_ESIZE, /* Compiled  regular  expression  requires  a  pattern  buffer -		larger than 64Kb.  This is not defined by POSIX.2. */ -  REG_ESPACE /* regcomp ran out of space */ -}; - -char * re_comp(char * regex); -int re_exec(char * string); - -#endif diff --git a/mdk-stage1/dietlibc/include/resolv.h b/mdk-stage1/dietlibc/include/resolv.h deleted file mode 100644 index dae226582..000000000 --- a/mdk-stage1/dietlibc/include/resolv.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef _RESOLV_H -#define _RESOLV_H - -#include <sys/param.h> -#include <sys/types.h> -#include <stdio.h> -#include <netinet/in.h> - -#ifndef _PATH_RESCONF -#define _PATH_RESCONF        "/etc/resolv.conf" -#endif - -/* - * Global defines and variables for resolver stub. - */ -#define	MAXNS			8	/* max # name servers we'll track */ -#define	MAXDFLSRCH		3	/* # default domain levels to try */ -#define	MAXDNSRCH		6	/* max # domains in search path */ -#define	LOCALDOMAINPARTS	2	/* min levels in name that is "local" */ - -#define	RES_TIMEOUT		5	/* min. seconds between retries */ -#define	MAXRESOLVSORT		10	/* number of net to sort on */ -#define	RES_MAXNDOTS		15	/* should reflect bit field size */ - -struct res_state { -  int	retrans;	 	/* retransmission time interval */ -  int	retry;			/* number of times to retransmit */ -  unsigned long	options;		/* option flags - see below. */ -  int	nscount;		/* number of name servers */ -  struct sockaddr_in_pad -	  nsaddr_list[MAXNS];	/* address of name server */ -#define	nsaddr	nsaddr_list[0]		/* for backward compatibility */ -  unsigned short	id;			/* current message id */ -  char	*dnsrch[MAXDNSRCH+1];	/* components of domain to search */ -  char	defdname[256];		/* default domain (deprecated) */ -  unsigned long	pfcode;			/* RES_PRF_ flags - see below. */ -  unsigned ndots:4;		/* threshold for initial abs. query */ -  unsigned nsort:4;		/* number of elements in sort_list[] */ -  char	unused[3]; -  struct { -    struct in_addr	addr; -    uint32_t	mask; -  } sort_list[MAXRESOLVSORT]; -  char	pad[72];		/* on an i386 this means 512b total */ -}; - -/* - * Resolver options (keep these in synch with res_debug.c, please) - */ -#define RES_INIT	0x00000001	/* address initialized */ -#define RES_DEBUG	0x00000002	/* print debug messages */ -#define RES_AAONLY	0x00000004	/* authoritative answers only (!IMPL)*/ -#define RES_USEVC	0x00000008	/* use virtual circuit */ -#define RES_PRIMARY	0x00000010	/* query primary server only (!IMPL) */ -#define RES_IGNTC	0x00000020	/* ignore trucation errors */ -#define RES_RECURSE	0x00000040	/* recursion desired */ -#define RES_DEFNAMES	0x00000080	/* use default domain name */ -#define RES_STAYOPEN	0x00000100	/* Keep TCP socket open */ -#define RES_DNSRCH	0x00000200	/* search up local domain tree */ -#define	RES_INSECURE1	0x00000400	/* type 1 security disabled */ -#define	RES_INSECURE2	0x00000800	/* type 2 security disabled */ -#define	RES_NOALIASES	0x00001000	/* shuts off HOSTALIASES feature */ -#define	RES_USE_INET6	0x00002000	/* use/map IPv6 in gethostbyname() */ - -#define RES_DEFAULT	(RES_RECURSE | RES_DEFNAMES | RES_DNSRCH) - -/* - * Resolver "pfcode" values.  Used by dig. - */ -#define RES_PRF_STATS	0x00000001 -/*			0x00000002	*/ -#define RES_PRF_CLASS   0x00000004 -#define RES_PRF_CMD	0x00000008 -#define RES_PRF_QUES	0x00000010 -#define RES_PRF_ANS	0x00000020 -#define RES_PRF_AUTH	0x00000040 -#define RES_PRF_ADD	0x00000080 -#define RES_PRF_HEAD1	0x00000100 -#define RES_PRF_HEAD2	0x00000200 -#define RES_PRF_TTLID	0x00000400 -#define RES_PRF_HEADX	0x00000800 -#define RES_PRF_QUERY	0x00001000 -#define RES_PRF_REPLY	0x00002000 -#define RES_PRF_INIT    0x00004000 -/*			0x00008000	*/ - -struct res_sym { -	int	number;		/* Identifying number, like T_MX */ -	char *	name;		/* Its symbolic name, like "MX" */ -	char *	humanname;	/* Its fun name, like "mail exchanger" */ -}; - -extern struct res_state _res; -extern const struct res_sym __p_class_syms[]; -extern const struct res_sym __p_type_syms[]; - -int res_init(void) __THROW; - -int res_query(const char *dname, int class, int type, -      unsigned char *answer, int anslen) __THROW; - -int res_search(const char *dname, int class, int type, -      unsigned char *answer, int anslen) __THROW; - -int res_querydomain(const char *name, const char *domain, -      int class, int type, unsigned char *answer, -      int anslen) __THROW; - -int res_mkquery(int op, const char *dname, int class, -      int type, char *data, int datalen, const unsigned char* newrr, -      char *buf, int buflen) __THROW; - -int res_send(const char *msg, int msglen, char *answer, -      int anslen) __THROW; - -int dn_comp(unsigned char *msg, unsigned char *comp_dn, -      int length, unsigned char **dnptrs, unsigned char *exp_dn, -      unsigned char **lastdnptr) __THROW; - -int dn_expand(unsigned char *msg, unsigned char *eomorig, -      unsigned char *comp_dn, unsigned char *exp_dn, -      int length) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/rpc/auth.h b/mdk-stage1/dietlibc/include/rpc/auth.h deleted file mode 100644 index 6e0ae0675..000000000 --- a/mdk-stage1/dietlibc/include/rpc/auth.h +++ /dev/null @@ -1,214 +0,0 @@ -/* @(#)auth.h	2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * auth.h, Authentication interface. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * The data structures are completely opaque to the client.  The client - * is required to pass a AUTH * to routines that create rpc - * "sessions". - */ - -#ifndef _RPC_AUTH_H - -#define _RPC_AUTH_H	1 -#include <sys/cdefs.h> -#include <sys/socket.h> -#include <rpc/xdr.h> - -__BEGIN_DECLS - -#define MAX_AUTH_BYTES	400 -#define MAXNETNAMELEN	255	/* maximum length of network user's name */ - -/* - * Status returned from authentication check - */ -enum auth_stat { -	AUTH_OK=0, -	/* -	 * failed at remote end -	 */ -	AUTH_BADCRED=1,			/* bogus credentials (seal broken) */ -	AUTH_REJECTEDCRED=2,		/* client should begin new session */ -	AUTH_BADVERF=3,			/* bogus verifier (seal broken) */ -	AUTH_REJECTEDVERF=4,		/* verifier expired or was replayed */ -	AUTH_TOOWEAK=5,			/* rejected due to security reasons */ -	/* -	 * failed locally -	*/ -	AUTH_INVALIDRESP=6,		/* bogus response verifier */ -	AUTH_FAILED=7			/* some unknown reason */ -}; - -union des_block { -	struct { -		uint32_t high; -		uint32_t low; -	} key; -	char c[8]; -}; -typedef union des_block des_block; -extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) __THROW; - -/* - * Authentication info.  Opaque to client. - */ -struct opaque_auth { -	enum_t	oa_flavor;		/* flavor of auth */ -	char*	oa_base;		/* address of more auth stuff */ -	unsigned int	oa_length;		/* not to exceed MAX_AUTH_BYTES */ -}; - -/* - * Auth handle, interface to client side authenticators. - */ -typedef struct AUTH AUTH; -struct AUTH { -  struct opaque_auth ah_cred; -  struct opaque_auth ah_verf; -  union des_block ah_key; -  struct auth_ops { -    void (*ah_nextverf) (AUTH *); -    int  (*ah_marshal) (AUTH *, XDR *);		/* nextverf & serialize */ -    int  (*ah_validate) (AUTH *, struct opaque_auth *); -						/* validate verifier */ -    int  (*ah_refresh) (AUTH *);		/* refresh credentials */ -    void (*ah_destroy) (AUTH *); 	    	/* destroy this structure */ -  } *ah_ops; -  char* ah_private; -}; - - -/* - * Authentication ops. - * The ops and the auth handle provide the interface to the authenticators. - * - * AUTH	*auth; - * XDR	*xdrs; - * struct opaque_auth verf; - */ -#define AUTH_NEXTVERF(auth)		\ -		((*((auth)->ah_ops->ah_nextverf))(auth)) -#define auth_nextverf(auth)		\ -		((*((auth)->ah_ops->ah_nextverf))(auth)) - -#define AUTH_MARSHALL(auth, xdrs)	\ -		((*((auth)->ah_ops->ah_marshal))(auth, xdrs)) -#define auth_marshall(auth, xdrs)	\ -		((*((auth)->ah_ops->ah_marshal))(auth, xdrs)) - -#define AUTH_VALIDATE(auth, verfp)	\ -		((*((auth)->ah_ops->ah_validate))((auth), verfp)) -#define auth_validate(auth, verfp)	\ -		((*((auth)->ah_ops->ah_validate))((auth), verfp)) - -#define AUTH_REFRESH(auth)		\ -		((*((auth)->ah_ops->ah_refresh))(auth)) -#define auth_refresh(auth)		\ -		((*((auth)->ah_ops->ah_refresh))(auth)) - -#define AUTH_DESTROY(auth)		\ -		((*((auth)->ah_ops->ah_destroy))(auth)) -#define auth_destroy(auth)		\ -		((*((auth)->ah_ops->ah_destroy))(auth)) - - -extern struct opaque_auth _null_auth; - - -/* - * These are the various implementations of client side authenticators. - */ - -/* - * Unix style authentication - * AUTH *authunix_create(machname, uid, gid, len, aup_gids) - *	char *machname; - *	int uid; - *	int gid; - *	int len; - *	int *aup_gids; - */ -extern AUTH *authunix_create (char *__machname,uid_t __uid, gid_t __gid, -			      int __len, gid_t *__aup_gids) __THROW; -extern AUTH *authunix_create_default (void) __THROW; -extern AUTH *authnone_create (void) __THROW; -extern AUTH *authdes_create (const char *__servername, unsigned int __window, -			     struct sockaddr *__syncaddr, des_block *__ckey) -     __THROW; -extern AUTH *authdes_pk_create (const char *, netobj *, unsigned int, -				struct sockaddr *, des_block *) __THROW; - - -#define AUTH_NONE	0		/* no authentication */ -#define	AUTH_NULL	0		/* backward compatibility */ -#define	AUTH_SYS	1		/* unix style (uid, gids) */ -#define	AUTH_UNIX	AUTH_SYS -#define	AUTH_SHORT	2		/* short hand unix style */ -#define AUTH_DES	3		/* des style (encrypted timestamps) */ -#define AUTH_DH		AUTH_DES	/* Diffie-Hellman (this is DES) */ -#define AUTH_KERB       4               /* kerberos style */ - -/* - *  Netname manipulating functions - * - */ -extern int getnetname (char *) __THROW; -extern int host2netname (char *, const char *, const char *) __THROW; -extern int user2netname (char *, const uid_t, const char *) __THROW; -extern int netname2user (const char *, uid_t *, gid_t *, int *, gid_t *) -     __THROW; -extern int netname2host (const char *, char *, const int) __THROW; - -/* - * - * These routines interface to the keyserv daemon - * - */ -extern int key_decryptsession (char *, des_block *) __THROW; -extern int key_decryptsession_pk (char *, netobj *, des_block *) __THROW; -extern int key_encryptsession (char *, des_block *) __THROW; -extern int key_encryptsession_pk (char *, netobj *, des_block *) __THROW; -extern int key_gendes (des_block *) __THROW; -extern int key_setsecret (char *) __THROW; -extern int key_secretkey_is_set (void) __THROW; -extern int key_get_conv (char *, des_block *) __THROW; - -/* - * XDR an opaque authentication struct. - */ -extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) __THROW; - -__END_DECLS - -#endif /* rpc/auth.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/auth_des.h b/mdk-stage1/dietlibc/include/rpc/auth_des.h deleted file mode 100644 index 8accd3779..000000000 --- a/mdk-stage1/dietlibc/include/rpc/auth_des.h +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (C) 1996, 1997, 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 Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -#ifndef _RPC_AUTH_DES_H -#define _RPC_AUTH_DES_H	1 - -#include <sys/cdefs.h> -#include <rpc/auth.h> - -__BEGIN_DECLS - -/* There are two kinds of "names": fullnames and nicknames */ -enum authdes_namekind -  { -    ADN_FULLNAME, -    ADN_NICKNAME -  }; - -/* A fullname contains the network name of the client, -   a conversation key and the window */ -struct authdes_fullname -  { -    char *name;		/* network name of client, up to MAXNETNAMELEN */ -    des_block key;	/* conversation key */ -    uint32_t window;	/* associated window */ -  }; - -/* A credential */ -struct authdes_cred -  { -    enum authdes_namekind adc_namekind; -    struct authdes_fullname adc_fullname; -    uint32_t adc_nickname; -  }; - -/* A timeval replacement for !32bit platforms */ -struct rpc_timeval -  { -    uint32_t tv_sec;            /* Seconds.  */ -    uint32_t tv_usec;           /* Microseconds.  */ -  }; - -/* A des authentication verifier */ -struct authdes_verf -  { -    union -      { -	struct rpc_timeval adv_ctime;	/* clear time */ -	des_block adv_xtime;		/* crypt time */ -      } -    adv_time_u; -    uint32_t adv_int_u; -  }; - -/* des authentication verifier: client variety - -   adv_timestamp is the current time. -   adv_winverf is the credential window + 1. -   Both are encrypted using the conversation key. */ -#define adv_timestamp  adv_time_u.adv_ctime -#define adv_xtimestamp adv_time_u.adv_xtime -#define adv_winverf    adv_int_u - -/* des authentication verifier: server variety - -   adv_timeverf is the client's timestamp + client's window -   adv_nickname is the server's nickname for the client. -   adv_timeverf is encrypted using the conversation key. */ -#define adv_timeverf   adv_time_u.adv_ctime -#define adv_xtimeverf  adv_time_u.adv_xtime -#define adv_nickname   adv_int_u - -/* Map a des credential into a unix cred. */ -extern int authdes_getucred (const struct authdes_cred * __adc, -			     uid_t * __uid, gid_t * __gid, -			     short *__grouplen, gid_t * __groups) __THROW; - -/* Get the public key for NAME and place it in KEY.  NAME can only be -   up to MAXNETNAMELEN bytes long and the destination buffer KEY should -   have HEXKEYBYTES + 1 bytes long to fit all characters from the key.  */ -extern int getpublickey (const char *__name, char *__key) __THROW; - -/* Get the secret key for NAME and place it in KEY.  PASSWD is used to -   decrypt the encrypted key stored in the database.  NAME can only be -   up to MAXNETNAMELEN bytes long and the destination buffer KEY -   should have HEXKEYBYTES + 1 bytes long to fit all characters from -   the key.  */ -extern int getsecretkey (const char *__name, char *__key, -			 const char *__passwd) __THROW; - -extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep, -		  struct rpc_timeval *__timeout) __THROW; - -__END_DECLS - - -#endif /* rpc/auth_des.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/auth_unix.h b/mdk-stage1/dietlibc/include/rpc/auth_unix.h deleted file mode 100644 index 9dd8142f1..000000000 --- a/mdk-stage1/dietlibc/include/rpc/auth_unix.h +++ /dev/null @@ -1,90 +0,0 @@ -/* @(#)auth_unix.h	2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/*      @(#)auth_unix.h 1.5 86/07/16 SMI      */ - -/* - * auth_unix.h, Protocol for UNIX style authentication parameters for RPC - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -/* - * The system is very weak.  The client uses no encryption for  it - * credentials and only sends null verifiers.  The server sends backs - * null verifiers or optionally a verifier that suggests a new short hand - * for the credentials. - */ - -#ifndef _RPC_AUTH_UNIX_H -#define _RPC_AUTH_UNIX_H	1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <rpc/types.h> -#include <rpc/auth.h> -#include <rpc/xdr.h> - -__BEGIN_DECLS - -/* The machine name is part of a credential; it may not exceed 255 bytes */ -#define MAX_MACHINE_NAME 255 - -/* gids compose part of a credential; there may not be more than 16 of them */ -#define NGRPS 16 - -/* - * Unix style credentials. - */ -struct authunix_parms -  { -    unsigned long aup_time; -    char *aup_machname; -    uid_t aup_uid; -    gid_t aup_gid; -    unsigned int aup_len; -    gid_t *aup_gids; -  }; - -extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p) -     __THROW; - -/* - * If a response verifier has flavor AUTH_SHORT, - * then the body of the response verifier encapsulates the following structure; - * again it is serialized in the obvious fashion. - */ -struct short_hand_verf -  { -    struct opaque_auth new_cred; -  }; - -__END_DECLS - -#endif /* rpc/auth_unix.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/clnt.h b/mdk-stage1/dietlibc/include/rpc/clnt.h deleted file mode 100644 index 9b100556c..000000000 --- a/mdk-stage1/dietlibc/include/rpc/clnt.h +++ /dev/null @@ -1,421 +0,0 @@ -/* @(#)clnt.h	2.1 88/07/29 4.0 RPCSRC; from 1.31 88/02/08 SMI*/ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * clnt.h - Client side remote procedure call interface. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_CLNT_H -#define _RPC_CLNT_H	1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <rpc/types.h> -#include <rpc/auth.h> -#include <sys/un.h> - -__BEGIN_DECLS - -/* - * Rpc calls return an enum clnt_stat.  This should be looked at more, - * since each implementation is required to live with this (implementation - * independent) list of errors. - */ -enum clnt_stat { -	RPC_SUCCESS=0,			/* call succeeded */ -	/* -	 * local errors -	 */ -	RPC_CANTENCODEARGS=1,		/* can't encode arguments */ -	RPC_CANTDECODERES=2,		/* can't decode results */ -	RPC_CANTSEND=3,			/* failure in sending call */ -	RPC_CANTRECV=4,			/* failure in receiving result */ -	RPC_TIMEDOUT=5,			/* call timed out */ -	/* -	 * remote errors -	 */ -	RPC_VERSMISMATCH=6,		/* rpc versions not compatible */ -	RPC_AUTHERROR=7,		/* authentication error */ -	RPC_PROGUNAVAIL=8,		/* program not available */ -	RPC_PROGVERSMISMATCH=9,		/* program version mismatched */ -	RPC_PROCUNAVAIL=10,		/* procedure unavailable */ -	RPC_CANTDECODEARGS=11,		/* decode arguments error */ -	RPC_SYSTEMERROR=12,		/* generic "other problem" */ -	RPC_NOBROADCAST = 21,		/* Broadcasting not supported */ -	/* -	 * callrpc & clnt_create errors -	 */ -	RPC_UNKNOWNHOST=13,		/* unknown host name */ -	RPC_UNKNOWNPROTO=17,		/* unknown protocol */ -	RPC_UNKNOWNADDR = 19,		/* Remote address unknown */ - -	/* -	 * rpcbind errors -	 */ -	RPC_RPCBFAILURE=14,		/* portmapper failed in its call */ -#define RPC_PMAPFAILURE RPC_RPCBFAILURE -	RPC_PROGNOTREGISTERED=15,	/* remote program is not registered */ -	RPC_N2AXLATEFAILURE = 22,	/* Name to addr translation failed */ -	/* -	 * unspecified error -	 */ -	RPC_FAILED=16, -	RPC_INTR=18, -	RPC_TLIERROR=20, -	RPC_UDERROR=23, -        /* -         * asynchronous errors -         */ -        RPC_INPROGRESS = 24, -        RPC_STALERACHANDLE = 25 -}; - - -/* - * Error info. - */ -struct rpc_err { -  enum clnt_stat re_status; -  union { -    int RE_errno;		/* related system error */ -    enum auth_stat RE_why;	/* why the auth error occurred */ -    struct { -      unsigned long low;		/* lowest verion supported */ -      unsigned long high;		/* highest verion supported */ -    } RE_vers; -    struct {			/* maybe meaningful if RPC_FAILED */ -      long s1; -      long s2; -    } RE_lb;			/* life boot & debugging only */ -  } ru; -#define	re_errno	ru.RE_errno -#define	re_why		ru.RE_why -#define	re_vers		ru.RE_vers -#define	re_lb		ru.RE_lb -}; - - -/* - * Client rpc handle. - * Created by individual implementations, see e.g. rpc_udp.c. - * Client is responsible for initializing auth, see e.g. auth_none.c. - */ -typedef struct CLIENT CLIENT; -struct CLIENT { -  AUTH	*cl_auth;		 /* authenticator */ -  struct clnt_ops { -    enum clnt_stat (*cl_call) (CLIENT *, unsigned long, xdrproc_t, char*, xdrproc_t, -			       char*, struct timeval); -			       	/* call remote procedure */ -    void (*cl_abort) (void);	/* abort a call */ -    void (*cl_geterr) (CLIENT *, struct rpc_err *); -				/* get specific error code */ -    bool_t (*cl_freeres) (CLIENT *, xdrproc_t, char*); -				/* frees results */ -    void (*cl_destroy) (CLIENT *); /* destroy this structure */ -    bool_t (*cl_control) (CLIENT *, int, char *); -				/* the ioctl() of rpc */ -  } *cl_ops; -  char* cl_private;		/* private stuff */ -}; - - -/* - * client side rpc interface ops - * - * Parameter types are: - * - */ - -/* - * enum clnt_stat - * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout) - * 	CLIENT *rh; - *	unsigned long proc; - *	xdrproc_t xargs; - *	char* argsp; - *	xdrproc_t xres; - *	char* resp; - *	struct timeval timeout; - */ -#define	CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs)	\ -	((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs)) -#define	clnt_call(rh, proc, xargs, argsp, xres, resp, secs)	\ -	((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs)) - -/* - * void - * CLNT_ABORT(rh); - * 	CLIENT *rh; - */ -#define	CLNT_ABORT(rh)	((*(rh)->cl_ops->cl_abort)(rh)) -#define	clnt_abort(rh)	((*(rh)->cl_ops->cl_abort)(rh)) - -/* - * struct rpc_err - * CLNT_GETERR(rh); - * 	CLIENT *rh; - */ -#define	CLNT_GETERR(rh,errp)	((*(rh)->cl_ops->cl_geterr)(rh, errp)) -#define	clnt_geterr(rh,errp)	((*(rh)->cl_ops->cl_geterr)(rh, errp)) - - -/* - * bool_t - * CLNT_FREERES(rh, xres, resp); - * 	CLIENT *rh; - *	xdrproc_t xres; - *	char* resp; - */ -#define	CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp)) -#define	clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp)) - -/* - * bool_t - * CLNT_CONTROL(cl, request, info) - *      CLIENT *cl; - *      unsigned int request; - *      char *info; - */ -#define	CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in)) -#define	clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in)) - -/* - * control operations that apply to all transports - * - * Note: options marked XXX are no-ops in this implementation of RPC. - * The are present in TI-RPC but can't be implemented here since they - * depend on the presence of STREAMS/TLI, which we don't have. - */ -#define CLSET_TIMEOUT        1    /* set timeout (timeval) */ -#define CLGET_TIMEOUT        2    /* get timeout (timeval) */ -#define CLGET_SERVER_ADDR    3    /* get server's address (sockaddr) */ -#define CLGET_FD             6    /* get connections file descriptor */ -#define CLGET_SVC_ADDR       7    /* get server's address (netbuf)      XXX */ -#define CLSET_FD_CLOSE       8    /* close fd while clnt_destroy */ -#define CLSET_FD_NCLOSE      9    /* Do not close fd while clnt_destroy*/ -#define CLGET_XID            10   /* Get xid */ -#define CLSET_XID            11   /* Set xid */ -#define CLGET_VERS           12   /* Get version number */ -#define CLSET_VERS           13   /* Set version number */ -#define CLGET_PROG           14   /* Get program number */ -#define CLSET_PROG           15   /* Set program number */ -#define CLSET_SVC_ADDR       16   /* get server's address (netbuf)      XXX */ -#define CLSET_PUSH_TIMOD     17   /* push timod if not already present  XXX */ -#define CLSET_POP_TIMOD      18   /* pop timod                          XXX */ -/* - * Connectionless only control operations - */ -#define CLSET_RETRY_TIMEOUT	4	/* set retry timeout (timeval) */ -#define CLGET_RETRY_TIMEOUT	5	/* get retry timeout (timeval) */ - -/* - * void - * CLNT_DESTROY(rh); - * 	CLIENT *rh; - */ -#define	CLNT_DESTROY(rh)	((*(rh)->cl_ops->cl_destroy)(rh)) -#define	clnt_destroy(rh)	((*(rh)->cl_ops->cl_destroy)(rh)) - - -/* - * RPCTEST is a test program which is accessible on every rpc - * transport/port.  It is used for testing, performance evaluation, - * and network administration. - */ - -#define RPCTEST_PROGRAM		((unsigned long)1) -#define RPCTEST_VERSION		((unsigned long)1) -#define RPCTEST_NULL_PROC	((unsigned long)2) -#define RPCTEST_NULL_BATCH_PROC	((unsigned long)3) - -/* - * By convention, procedure 0 takes null arguments and returns them - */ - -#define NULLPROC ((unsigned long)0) - -/* - * Below are the client handle creation routines for the various - * implementations of client side rpc.  They can return NULL if a - * creation failure occurs. - */ - -/* - * Memory based rpc (for speed check and testing) - * CLIENT * - * clntraw_create(prog, vers) - *	unsigned long prog; - *	unsigned long vers; - */ -extern CLIENT *clntraw_create (const unsigned long __prog, const unsigned long __vers) -     __THROW; - - -/* - * Generic client creation routine. Supported protocols are "udp", "tcp" and - * "unix" - * CLIENT * - * clnt_create(host, prog, vers, prot) - *	char *host; 	-- hostname - *	unsigned long prog;	-- program number - *	u_ong vers;	-- version number - *	char *prot;	-- protocol - */ -extern CLIENT *clnt_create (const char *__host, const unsigned long __prog, -			    const unsigned long __vers, const char *__prot) -     __THROW; - - -/* - * TCP based rpc - * CLIENT * - * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) - *	struct sockaddr_in *raddr; - *	unsigned long prog; - *	unsigned long version; - *	register int *sockp; - *	unsigned int sendsz; - *	unsigned int recvsz; - */ -extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, unsigned long __prog, -			       unsigned long __version, int *__sockp, unsigned int __sendsz, -			       unsigned int __recvsz) __THROW; - -/* - * UDP based rpc. - * CLIENT * - * clntudp_create(raddr, program, version, wait, sockp) - *	struct sockaddr_in *raddr; - *	unsigned long program; - *	unsigned long version; - *	struct timeval wait_resend; - *	int *sockp; - * - * Same as above, but you specify max packet sizes. - * CLIENT * - * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz) - *	struct sockaddr_in *raddr; - *	unsigned long program; - *	unsigned long version; - *	struct timeval wait_resend; - *	int *sockp; - *	unsigned int sendsz; - *	unsigned int recvsz; - */ -extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, unsigned long __program, -			       unsigned long __version, struct timeval __wait_resend, -			       int *__sockp) __THROW; -extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr, -				  unsigned long __program, unsigned long __version, -				  struct timeval __wait_resend, int *__sockp, -				  unsigned int __sendsz, unsigned int __recvsz) __THROW; - - - - -/* - * AF_UNIX based rpc - * CLIENT * - * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz) - *      struct sockaddr_un *raddr; - *      unsigned long prog; - *      unsigned long version; - *      register int *sockp; - *      unsigned int sendsz; - *      unsigned int recvsz; - */ -extern CLIENT *clntunix_create  (struct sockaddr_un *__raddr, unsigned long __program, -				 unsigned long __version, int *__sockp, -				 unsigned int __sendsz, unsigned int __recvsz) __THROW; - - -extern int callrpc (const char *__host, const unsigned long __prognum, -		    const unsigned long __versnum, const unsigned long __procnum, -		    const xdrproc_t __inproc, const char *__in, -		    const xdrproc_t __outproc, char *__out) __THROW; -extern int _rpc_dtablesize (void) __THROW; - -/* - * Print why creation failed - */ -extern void clnt_pcreateerror (const char *__msg) __THROW;	/* stderr */ -extern char *clnt_spcreateerror(const char *__msg) __THROW;	/* string */ - -/* - * Like clnt_perror(), but is more verbose in its output - */ -extern void clnt_perrno (enum clnt_stat __num) __THROW;		/* stderr */ - -/* - * Print an English error message, given the client error code - */ -extern void clnt_perror (CLIENT *__clnt, const char *__msg) __THROW; -							/* stderr */ -extern char *clnt_sperror (CLIENT *__clnt, const char *__msg) __THROW; -							/* string */ - -/* - * If a creation fails, the following allows the user to figure out why. - */ -struct rpc_createerr { -	enum clnt_stat cf_stat; -	struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */ -}; - -extern struct rpc_createerr rpc_createerr; - - - -/* - * Copy error message to buffer. - */ -extern char *clnt_sperrno (enum clnt_stat __num) __THROW;	/* string */ - -/* - * get the port number on the host for the rpc program,version and proto - */ -extern int getrpcport (const char * __host, unsigned long __prognum, -		       unsigned long __versnum, unsigned int proto) __THROW; - -/* - * get the local host's IP address without consulting - * name service library functions - */ -extern void get_myaddress (struct sockaddr_in *) __THROW; - -#define UDPMSGSIZE	8800	/* rpc imposed limit on udp msg size */ -#define RPCSMALLMSGSIZE	400	/* a more reasonable packet size */ - -__END_DECLS - -#endif /* rpc/clnt.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/des_crypt.h b/mdk-stage1/dietlibc/include/rpc/des_crypt.h deleted file mode 100644 index 6a65887d3..000000000 --- a/mdk-stage1/dietlibc/include/rpc/des_crypt.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * @(#)des_crypt.h	2.1 88/08/11 4.0 RPCSRC;	from 1.4 88/02/08 (C) 1986 SMI - * - * des_crypt.h, des library routine interface - * Copyright (C) 1986, Sun Microsystems, Inc. - */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -#ifndef __DES_CRYPT_H__ -#define __DES_CRYPT_H__ 1 - -#include <features.h> - -__BEGIN_DECLS - -#define DES_MAXDATA 8192	/* max bytes encrypted in one call */ -#define DES_DIRMASK (1 << 0) -#define DES_ENCRYPT (0*DES_DIRMASK)	/* Encrypt */ -#define DES_DECRYPT (1*DES_DIRMASK)	/* Decrypt */ - - -#define DES_DEVMASK (1 << 1) -#define	DES_HW (0*DES_DEVMASK)	/* Use hardware device */ -#define DES_SW (1*DES_DEVMASK)	/* Use software device */ - - -#define DESERR_NONE 0	/* succeeded */ -#define DESERR_NOHWDEVICE 1	/* succeeded, but hw device not available */ -#define DESERR_HWERROR 2	/* failed, hardware/driver error */ -#define DESERR_BADPARAM 3	/* failed, bad parameter to call */ - -#define DES_FAILED(err) \ -	((err) > DESERR_NOHWDEVICE) - -/* - * cbc_crypt() - * ecb_crypt() - * - * Encrypt (or decrypt) len bytes of a buffer buf. - * The length must be a multiple of eight. - * The key should have odd parity in the low bit of each byte. - * ivec is the input vector, and is updated to the new one (cbc only). - * The mode is created by oring together the appropriate parameters. - * DESERR_NOHWDEVICE is returned if DES_HW was specified but - * there was no hardware to do it on (the data will still be - * encrypted though, in software). - */ - - -/* - * Cipher Block Chaining mode - */ -extern int cbc_crypt (char *__key, char *__buf, unsigned __len, -		      unsigned __mode, char *__ivec) __THROW; - -/* - * Electronic Code Book mode - */ -extern int ecb_crypt (char *__key, char *__buf, unsigned __len, -		      unsigned __mode) __THROW; - -/* - * Set des parity for a key. - * DES parity is odd and in the low bit of each byte - */ -extern void des_setparity (char *__key) __THROW; - -__END_DECLS - -#endif diff --git a/mdk-stage1/dietlibc/include/rpc/key_prot.h b/mdk-stage1/dietlibc/include/rpc/key_prot.h deleted file mode 100644 index c398b82f8..000000000 --- a/mdk-stage1/dietlibc/include/rpc/key_prot.h +++ /dev/null @@ -1,346 +0,0 @@ -/* - * Please do not edit this file. - * It was generated using rpcgen. - */ - -#ifndef _KEY_PROT_H_RPCGEN -#define _KEY_PROT_H_RPCGEN - -#include <rpc/rpc.h> - -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if 0 -#pragma ident	"@(#)key_prot.x	1.7	94/04/29 SMI" -#endif -/* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */ - -/*  - * Compiled from key_prot.x using rpcgen. - * DO NOT EDIT THIS FILE! - * This is NOT source code! - */ -#define PROOT 3 -#define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b" -#define HEXKEYBYTES 48 -#define KEYSIZE 192 -#define KEYBYTES 24 -#define KEYCHECKSUMSIZE 16 - -enum keystatus { -	KEY_SUCCESS = 0, -	KEY_NOSECRET = 1, -	KEY_UNKNOWN = 2, -	KEY_SYSTEMERR = 3, -}; -typedef enum keystatus keystatus; -#ifdef __cplusplus  -extern "C" bool_t xdr_keystatus(XDR *, keystatus*); -#elif __STDC__  -extern  bool_t xdr_keystatus(XDR *, keystatus*); -#else /* Old Style C */  -bool_t xdr_keystatus(); -#endif /* Old Style C */  - - -typedef char keybuf[HEXKEYBYTES]; -#ifdef __cplusplus  -extern "C" bool_t xdr_keybuf(XDR *, keybuf); -#elif __STDC__  -extern  bool_t xdr_keybuf(XDR *, keybuf); -#else /* Old Style C */  -bool_t xdr_keybuf(); -#endif /* Old Style C */  - - -typedef char *netnamestr; -#ifdef __cplusplus  -extern "C" bool_t xdr_netnamestr(XDR *, netnamestr*); -#elif __STDC__  -extern  bool_t xdr_netnamestr(XDR *, netnamestr*); -#else /* Old Style C */  -bool_t xdr_netnamestr(); -#endif /* Old Style C */  - - -struct cryptkeyarg { -	netnamestr remotename; -	des_block deskey; -}; -typedef struct cryptkeyarg cryptkeyarg; -#ifdef __cplusplus  -extern "C" bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*); -#elif __STDC__  -extern  bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*); -#else /* Old Style C */  -bool_t xdr_cryptkeyarg(); -#endif /* Old Style C */  - - -struct cryptkeyarg2 { -	netnamestr remotename; -	netobj remotekey; -	des_block deskey; -}; -typedef struct cryptkeyarg2 cryptkeyarg2; -#ifdef __cplusplus  -extern "C" bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*); -#elif __STDC__  -extern  bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*); -#else /* Old Style C */  -bool_t xdr_cryptkeyarg2(); -#endif /* Old Style C */  - - -struct cryptkeyres { -	keystatus status; -	union { -		des_block deskey; -	} cryptkeyres_u; -}; -typedef struct cryptkeyres cryptkeyres; -#ifdef __cplusplus  -extern "C" bool_t xdr_cryptkeyres(XDR *, cryptkeyres*); -#elif __STDC__  -extern  bool_t xdr_cryptkeyres(XDR *, cryptkeyres*); -#else /* Old Style C */  -bool_t xdr_cryptkeyres(); -#endif /* Old Style C */  - -#define MAXGIDS 16 - -struct unixcred { -	unsigned int uid; -	unsigned int gid; -	struct { -		unsigned int gids_len; -		unsigned int *gids_val; -	} gids; -}; -typedef struct unixcred unixcred; -#ifdef __cplusplus  -extern "C" bool_t xdr_unixcred(XDR *, unixcred*); -#elif __STDC__  -extern  bool_t xdr_unixcred(XDR *, unixcred*); -#else /* Old Style C */  -bool_t xdr_unixcred(); -#endif /* Old Style C */  - - -struct getcredres { -	keystatus status; -	union { -		unixcred cred; -	} getcredres_u; -}; -typedef struct getcredres getcredres; -#ifdef __cplusplus  -extern "C" bool_t xdr_getcredres(XDR *, getcredres*); -#elif __STDC__  -extern  bool_t xdr_getcredres(XDR *, getcredres*); -#else /* Old Style C */  -bool_t xdr_getcredres(); -#endif /* Old Style C */  - - -struct key_netstarg { -	keybuf st_priv_key; -	keybuf st_pub_key; -	netnamestr st_netname; -}; -typedef struct key_netstarg key_netstarg; -#ifdef __cplusplus  -extern "C" bool_t xdr_key_netstarg(XDR *, key_netstarg*); -#elif __STDC__  -extern  bool_t xdr_key_netstarg(XDR *, key_netstarg*); -#else /* Old Style C */  -bool_t xdr_key_netstarg(); -#endif /* Old Style C */  - - -struct key_netstres { -	keystatus status; -	union { -		key_netstarg knet; -	} key_netstres_u; -}; -typedef struct key_netstres key_netstres; -#ifdef __cplusplus  -extern "C" bool_t xdr_key_netstres(XDR *, key_netstres*); -#elif __STDC__  -extern  bool_t xdr_key_netstres(XDR *, key_netstres*); -#else /* Old Style C */  -bool_t xdr_key_netstres(); -#endif /* Old Style C */  - - -#ifndef opaque -#define opaque char -#endif - - -#define KEY_PROG ((unsigned long)100029) -#define KEY_VERS ((unsigned long)1) - -#ifdef __cplusplus -#define KEY_SET ((unsigned long)1) -extern "C" keystatus * key_set_1(opaque *, CLIENT *); -extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *); -#define KEY_ENCRYPT ((unsigned long)2) -extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *); -extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *); -#define KEY_DECRYPT ((unsigned long)3) -extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *); -extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *); -#define KEY_GEN ((unsigned long)4) -extern "C" des_block * key_gen_1(void *, CLIENT *); -extern "C" des_block * key_gen_1_svc(void *, struct svc_req *); -#define KEY_GETCRED ((unsigned long)5) -extern "C" getcredres * key_getcred_1(netnamestr *, CLIENT *); -extern "C" getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *); - -#elif __STDC__ -#define KEY_SET ((unsigned long)1) -extern  keystatus * key_set_1(opaque *, CLIENT *); -extern  keystatus * key_set_1_svc(opaque *, struct svc_req *); -#define KEY_ENCRYPT ((unsigned long)2) -extern  cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *); -extern  cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *); -#define KEY_DECRYPT ((unsigned long)3) -extern  cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *); -extern  cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *); -#define KEY_GEN ((unsigned long)4) -extern  des_block * key_gen_1(void *, CLIENT *); -extern  des_block * key_gen_1_svc(void *, struct svc_req *); -#define KEY_GETCRED ((unsigned long)5) -extern  getcredres * key_getcred_1(netnamestr *, CLIENT *); -extern  getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *); - -#else /* Old Style C */  -#define KEY_SET ((unsigned long)1) -extern  keystatus * key_set_1(); -extern  keystatus * key_set_1_svc(); -#define KEY_ENCRYPT ((unsigned long)2) -extern  cryptkeyres * key_encrypt_1(); -extern  cryptkeyres * key_encrypt_1_svc(); -#define KEY_DECRYPT ((unsigned long)3) -extern  cryptkeyres * key_decrypt_1(); -extern  cryptkeyres * key_decrypt_1_svc(); -#define KEY_GEN ((unsigned long)4) -extern  des_block * key_gen_1(); -extern  des_block * key_gen_1_svc(); -#define KEY_GETCRED ((unsigned long)5) -extern  getcredres * key_getcred_1(); -extern  getcredres * key_getcred_1_svc(); -#endif /* Old Style C */  -#define KEY_VERS2 ((unsigned long)2) - -#ifdef __cplusplus -extern "C" keystatus * key_set_2(opaque *, CLIENT *); -extern "C" keystatus * key_set_2_svc(opaque *, struct svc_req *); -extern "C" cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *); -extern "C" cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *); -extern "C" cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *); -extern "C" cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *); -extern "C" des_block * key_gen_2(void *, CLIENT *); -extern "C" des_block * key_gen_2_svc(void *, struct svc_req *); -extern "C" getcredres * key_getcred_2(netnamestr *, CLIENT *); -extern "C" getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *); -#define KEY_ENCRYPT_PK ((unsigned long)6) -extern "C" cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *); -extern "C" cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); -#define KEY_DECRYPT_PK ((unsigned long)7) -extern "C" cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *); -extern "C" cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); -#define KEY_NET_PUT ((unsigned long)8) -extern "C" keystatus * key_net_put_2(key_netstarg *, CLIENT *); -extern "C" keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *); -#define KEY_NET_GET ((unsigned long)9) -extern "C" key_netstres * key_net_get_2(void *, CLIENT *); -extern "C" key_netstres * key_net_get_2_svc(void *, struct svc_req *); -#define KEY_GET_CONV ((unsigned long)10) -extern "C" cryptkeyres * key_get_conv_2(opaque *, CLIENT *); -extern "C" cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *); - -#elif __STDC__ -extern  keystatus * key_set_2(opaque *, CLIENT *); -extern  keystatus * key_set_2_svc(opaque *, struct svc_req *); -extern  cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *); -extern  cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *); -extern  cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *); -extern  cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *); -extern  des_block * key_gen_2(void *, CLIENT *); -extern  des_block * key_gen_2_svc(void *, struct svc_req *); -extern  getcredres * key_getcred_2(netnamestr *, CLIENT *); -extern  getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *); -#define KEY_ENCRYPT_PK ((unsigned long)6) -extern  cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *); -extern  cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); -#define KEY_DECRYPT_PK ((unsigned long)7) -extern  cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *); -extern  cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *); -#define KEY_NET_PUT ((unsigned long)8) -extern  keystatus * key_net_put_2(key_netstarg *, CLIENT *); -extern  keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *); -#define KEY_NET_GET ((unsigned long)9) -extern  key_netstres * key_net_get_2(void *, CLIENT *); -extern  key_netstres * key_net_get_2_svc(void *, struct svc_req *); -#define KEY_GET_CONV ((unsigned long)10) -extern  cryptkeyres * key_get_conv_2(opaque *, CLIENT *); -extern  cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *); - -#else /* Old Style C */  -extern  keystatus * key_set_2(); -extern  keystatus * key_set_2_svc(); -extern  cryptkeyres * key_encrypt_2(); -extern  cryptkeyres * key_encrypt_2_svc(); -extern  cryptkeyres * key_decrypt_2(); -extern  cryptkeyres * key_decrypt_2_svc(); -extern  des_block * key_gen_2(); -extern  des_block * key_gen_2_svc(); -extern  getcredres * key_getcred_2(); -extern  getcredres * key_getcred_2_svc(); -#define KEY_ENCRYPT_PK ((unsigned long)6) -extern  cryptkeyres * key_encrypt_pk_2(); -extern  cryptkeyres * key_encrypt_pk_2_svc(); -#define KEY_DECRYPT_PK ((unsigned long)7) -extern  cryptkeyres * key_decrypt_pk_2(); -extern  cryptkeyres * key_decrypt_pk_2_svc(); -#define KEY_NET_PUT ((unsigned long)8) -extern  keystatus * key_net_put_2(); -extern  keystatus * key_net_put_2_svc(); -#define KEY_NET_GET ((unsigned long)9) -extern  key_netstres * key_net_get_2(); -extern  key_netstres * key_net_get_2_svc(); -#define KEY_GET_CONV ((unsigned long)10) -extern  cryptkeyres * key_get_conv_2(); -extern  cryptkeyres * key_get_conv_2_svc(); -#endif /* Old Style C */  - -#endif /* !_KEY_PROT_H_RPCGEN */ diff --git a/mdk-stage1/dietlibc/include/rpc/netdb.h b/mdk-stage1/dietlibc/include/rpc/netdb.h deleted file mode 100644 index a991d3a95..000000000 --- a/mdk-stage1/dietlibc/include/rpc/netdb.h +++ /dev/null @@ -1,74 +0,0 @@ -/* @(#)netdb.h	2.1 88/07/29 3.9 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/*	@(#)rpc.h 1.8 87/07/24 SMI	*/ - -/* Cleaned up for GNU C library roland@gnu.ai.mit.edu: -   added multiple inclusion protection and use of <sys/cdefs.h>. -   In GNU this file is #include'd by <netdb.h>.  */ - -#ifndef _RPC_NETDB_H -#define _RPC_NETDB_H	1 - -#include <sys/cdefs.h> - -#define __need_size_t -#include <stddef.h> - -__BEGIN_DECLS - -struct rpcent -{ -  char *r_name;		/* Name of server for this rpc program.  */ -  char **r_aliases;	/* Alias list.  */ -  int r_number;		/* RPC program number.  */ -}; - -extern void setrpcent (int __stayopen) __THROW; -extern void endrpcent (void) __THROW; -extern struct rpcent *getrpcbyname (const char *__name) __THROW; -extern struct rpcent *getrpcbynumber (int __number) __THROW; -extern struct rpcent *getrpcent (void) __THROW; - -#ifdef __USE_MISC -extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf, -			   char *__buffer, size_t __buflen, -			   struct rpcent **__result) __THROW; - -extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, -			     char *__buffer, size_t __buflen, -			     struct rpcent **__result) __THROW; - -extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, -			size_t __buflen, struct rpcent **__result) __THROW; -#endif - -__END_DECLS - -#endif /* rpc/netdb.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h b/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h deleted file mode 100644 index c63922772..000000000 --- a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h +++ /dev/null @@ -1,98 +0,0 @@ -/* @(#)pmap_clnt.h	2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * pmap_clnt.h - * Supplies C routines to get to portmap services. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_PMAP_CLNT_H -#define _RPC_PMAP_CLNT_H	1 - -#include <sys/cdefs.h> -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/clnt.h> - -__BEGIN_DECLS - -typedef bool_t (*resultproc_t) (char* resp, struct sockaddr_in *raddr); - -/* - * Usage: - *	success = pmap_set(program, version, protocol, port); - *	success = pmap_unset(program, version); - *	port = pmap_getport(address, program, version, protocol); - *	head = pmap_getmaps(address); - *	clnt_stat = pmap_rmtcall(address, program, version, procedure, - *		xdrargs, argsp, xdrres, resp, tout, port_ptr) - *		(works for udp only.) - * 	clnt_stat = clnt_broadcast(program, version, procedure, - *		xdrargs, argsp,	xdrres, resp, eachresult) - *		(like pmap_rmtcall, except the call is broadcasted to all - *		locally connected nets.  For each valid response received, - *		the procedure eachresult is called.  Its form is: - *	done = eachresult(resp, raddr) - *		bool_t done; - *		char* resp; - *		struct sockaddr_in raddr; - *		where resp points to the results of the call and raddr is the - *		address if the responder to the broadcast. - */ - -extern bool_t pmap_set (const unsigned long __program, const unsigned long __vers, -			int __protocol, unsigned short __port) __THROW; -extern bool_t pmap_unset (const unsigned long __program, const unsigned long __vers) -     __THROW; -extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW; -extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr, -				    const unsigned long __prog, -				    const unsigned long __vers, -				    const unsigned long __proc, -				    xdrproc_t __xdrargs, -				    char* __argsp, xdrproc_t __xdrres, -				    char* __resp, struct timeval __tout, -				    unsigned long *__port_ptr) __THROW; -extern enum clnt_stat clnt_broadcast (const unsigned long __prog, -				      const unsigned long __vers, -				      const unsigned long __proc, xdrproc_t __xargs, -				      char* __argsp, xdrproc_t __xresults, -				      char* __resultsp, -				      resultproc_t __eachresult) __THROW; -extern unsigned short pmap_getport (struct sockaddr_in *__address, -			     const unsigned long __program, -			     const unsigned long __version, unsigned int __protocol) -     __THROW; - -__END_DECLS - -#endif /* rpc/pmap_clnt.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h b/mdk-stage1/dietlibc/include/rpc/pmap_prot.h deleted file mode 100644 index da06d34c1..000000000 --- a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h +++ /dev/null @@ -1,108 +0,0 @@ -/* @(#)pmap_prot.h	2.1 88/07/29 4.0 RPCSRC; from 1.14 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * pmap_prot.h - * Protocol for the local binder service, or pmap. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_PMAP_PROT_H -#define _RPC_PMAP_PROT_H	1 - -#include <sys/cdefs.h> - -#include <rpc/xdr.h> - -__BEGIN_DECLS - -/* The following procedures are supported by the protocol: - * - * PMAPPROC_NULL() returns () - * 	takes nothing, returns nothing - * - * PMAPPROC_SET(struct pmap) returns (bool_t) - * 	TRUE is success, FALSE is failure.  Registers the tuple - *	[prog, vers, prot, port]. - * - * PMAPPROC_UNSET(struct pmap) returns (bool_t) - *	TRUE is success, FALSE is failure.  Un-registers pair - *	[prog, vers].  prot and port are ignored. - * - * PMAPPROC_GETPORT(struct pmap) returns (long unsigned). - *	0 is failure.  Otherwise returns the port number where the pair - *	[prog, vers] is registered.  It may lie! - * - * PMAPPROC_DUMP() RETURNS (struct pmaplist *) - * - * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>) - * 	RETURNS (port, string<>); - * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs); - * 	Calls the procedure on the local machine.  If it is not registered, - *	this procedure is quite; ie it does not return error information!!! - *	This procedure only is supported on rpc/udp and calls via - *	rpc/udp.  This routine only passes null authentication parameters. - *	This file has no interface to xdr routines for PMAPPROC_CALLIT. - * - * The service supports remote procedure calls on udp/ip or tcp/ip socket 111. - */ - -#define PMAPPORT		((unsigned short)111) -#define PMAPPROG		((unsigned long)100000) -#define PMAPVERS		((unsigned long)2) -#define PMAPVERS_PROTO		((unsigned long)2) -#define PMAPVERS_ORIG		((unsigned long)1) -#define PMAPPROC_NULL		((unsigned long)0) -#define PMAPPROC_SET		((unsigned long)1) -#define PMAPPROC_UNSET		((unsigned long)2) -#define PMAPPROC_GETPORT	((unsigned long)3) -#define PMAPPROC_DUMP		((unsigned long)4) -#define PMAPPROC_CALLIT		((unsigned long)5) - -struct pmap { -	long unsigned pm_prog; -	long unsigned pm_vers; -	long unsigned pm_prot; -	long unsigned pm_port; -}; - -extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW; - -struct pmaplist { -	struct pmap	pml_map; -	struct pmaplist *pml_next; -}; - -extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW; - -__END_DECLS - -#endif /* rpc/pmap_prot.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h b/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h deleted file mode 100644 index 3b975d0fb..000000000 --- a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h +++ /dev/null @@ -1,68 +0,0 @@ -/* @(#)pmap_rmt.h	2.1 88/07/29 4.0 RPCSRC; from 1.2 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * Structures and XDR routines for parameters to and replies from - * the portmapper remote-call-service. - * - * Copyright (C) 1986, Sun Microsystems, Inc. - */ - -#ifndef _RPC_PMAP_RMT_H -#define _RPC_PMAP_RMT_H	1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <rpc/types.h> -#include <rpc/xdr.h> - -__BEGIN_DECLS - -struct rmtcallargs { -	unsigned long prog, vers, proc, arglen; -	char* args_ptr; -	xdrproc_t xdr_args; -}; - -extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp) -     __THROW; - -struct rmtcallres { -	unsigned long *port_ptr; -	unsigned long resultslen; -	char* results_ptr; -	xdrproc_t xdr_results; -}; - -extern bool_t xdr_rmtcallres (XDR *__xdrs, struct rmtcallres *__crp) __THROW; - -__END_DECLS - -#endif /* rpc/pmap_rmt.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/rpc.h b/mdk-stage1/dietlibc/include/rpc/rpc.h deleted file mode 100644 index a966d2e23..000000000 --- a/mdk-stage1/dietlibc/include/rpc/rpc.h +++ /dev/null @@ -1,70 +0,0 @@ -/* @(#)rpc.h	2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * rpc.h, Just includes the billions of rpc header files necessary to - * do remote procedure calling. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_RPC_H -#define _RPC_RPC_H 1 - -#include <rpc/types.h>		/* some typedefs */ -#include <netinet/in.h> - -/* external data representation interfaces */ -#include <rpc/xdr.h>		/* generic (de)serializer */ - -/* Client side only authentication */ -#include <rpc/auth.h>		/* generic authenticator (client side) */ - -/* Client side (mostly) remote procedure call */ -#include <rpc/clnt.h>		/* generic rpc stuff */ - -/* semi-private protocol headers */ -#include <rpc/rpc_msg.h>	/* protocol for rpc messages */ -#include <rpc/auth_unix.h>	/* protocol for unix style cred */ -#include <rpc/auth_des.h>	/* protocol for des style cred */ - -/* Server side only remote procedure callee */ -#include <rpc/svc.h>		/* service manager and multiplexer */ -#include <rpc/svc_auth.h>	/* service side authenticator */ - -/* - * COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION - * OF UNIX BASED ON NFSSRC.  These systems will already have the structures - * defined by <rpc/netdb.h> included in <netdb.h>. - */ -/* routines for parsing /etc/rpc */ -#include <rpc/netdb.h>		/* structures and routines to parse /etc/rpc */ - -#endif /* rpc/rpc.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_des.h b/mdk-stage1/dietlibc/include/rpc/rpc_des.h deleted file mode 100644 index 0f36d1697..000000000 --- a/mdk-stage1/dietlibc/include/rpc/rpc_des.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/* - * Generic DES driver interface - * Keep this file hardware independent! - * Copyright (c) 1986 by Sun Microsystems, Inc. - */ - -#ifndef _DES_H -#define _DES_H - -#include <sys/types.h> - -#define DES_MAXLEN 	65536	/* maximum # of bytes to encrypt  */ -#define DES_QUICKLEN	16	/* maximum # of bytes to encrypt quickly */ - -enum desdir -  { -    ENCRYPT, DECRYPT -  }; -enum desmode -  { -    CBC, ECB -  }; - -/* - * parameters to ioctl call - */ -struct desparams -  { -    u_char des_key[8];		/* key (with low bit parity) */ -    enum desdir des_dir;	/* direction */ -    enum desmode des_mode;	/* mode */ -    u_char des_ivec[8];		/* input vector */ -    unsigned des_len;		/* number of bytes to crypt */ -    union -      { -	u_char UDES_data[DES_QUICKLEN]; -	u_char *UDES_buf; -      } -    UDES; -#define des_data UDES.UDES_data	/* direct data here if quick */ -#define des_buf	UDES.UDES_buf	/* otherwise, pointer to data */ -  }; - -#endif diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h b/mdk-stage1/dietlibc/include/rpc/rpc_msg.h deleted file mode 100644 index d597608ab..000000000 --- a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h +++ /dev/null @@ -1,202 +0,0 @@ -/* @(#)rpc_msg.h	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/*      @(#)rpc_msg.h 1.7 86/07/16 SMI      */ - -#ifndef _RPC_MSG_H -#define _RPC_MSG_H 1 - -#include <sys/cdefs.h> - -#include <rpc/xdr.h> -#include <rpc/clnt.h> - -/* - * rpc_msg.h - * rpc message definition - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#define RPC_MSG_VERSION		((unsigned long) 2) -#define RPC_SERVICE_PORT	((unsigned short) 2048) - -__BEGIN_DECLS - -/* - * Bottom up definition of an rpc message. - * NOTE: call and reply use the same overall struct but - * different parts of unions within it. - */ - -enum msg_type { -	CALL=0, -	REPLY=1 -}; - -enum reply_stat { -	MSG_ACCEPTED=0, -	MSG_DENIED=1 -}; - -enum accept_stat { -	SUCCESS=0, -	PROG_UNAVAIL=1, -	PROG_MISMATCH=2, -	PROC_UNAVAIL=3, -	GARBAGE_ARGS=4, -	SYSTEM_ERR=5 -}; - -enum reject_stat { -	RPC_MISMATCH=0, -	AUTH_ERROR=1 -}; - -/* - * Reply part of an rpc exchange - */ - -/* - * Reply to an rpc request that was accepted by the server. - * Note: there could be an error even though the request was - * accepted. - */ -struct accepted_reply { -	struct opaque_auth	ar_verf; -	enum accept_stat	ar_stat; -	union { -		struct { -			unsigned long	low; -			unsigned long	high; -		} AR_versions; -		struct { -			char*	where; -			xdrproc_t proc; -		} AR_results; -		/* and many other null cases */ -	} ru; -#define	ar_results	ru.AR_results -#define	ar_vers		ru.AR_versions -}; - -/* - * Reply to an rpc request that was rejected by the server. - */ -struct rejected_reply { -	enum reject_stat rj_stat; -	union { -		struct { -			unsigned long low; -			unsigned long high; -		} RJ_versions; -		enum auth_stat RJ_why;  /* why authentication did not work */ -	} ru; -#define	rj_vers	ru.RJ_versions -#define	rj_why	ru.RJ_why -}; - -/* - * Body of a reply to an rpc request. - */ -struct reply_body { -	enum reply_stat rp_stat; -	union { -		struct accepted_reply RP_ar; -		struct rejected_reply RP_dr; -	} ru; -#define	rp_acpt	ru.RP_ar -#define	rp_rjct	ru.RP_dr -}; - -/* - * Body of an rpc request call. - */ -struct call_body { -	unsigned long cb_rpcvers;	/* must be equal to two */ -	unsigned long cb_prog; -	unsigned long cb_vers; -	unsigned long cb_proc; -	struct opaque_auth cb_cred; -	struct opaque_auth cb_verf; /* protocol specific - provided by client */ -}; - -/* - * The rpc message - */ -struct rpc_msg { -	unsigned long			rm_xid; -	enum msg_type		rm_direction; -	union { -		struct call_body RM_cmb; -		struct reply_body RM_rmb; -	} ru; -#define	rm_call		ru.RM_cmb -#define	rm_reply	ru.RM_rmb -}; -#define	acpted_rply	ru.RM_rmb.ru.RP_ar -#define	rjcted_rply	ru.RM_rmb.ru.RP_dr - - -/* - * XDR routine to handle a rpc message. - * xdr_callmsg(xdrs, cmsg) - * 	XDR *xdrs; - * 	struct rpc_msg *cmsg; - */ -extern bool_t	xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW; - -/* - * XDR routine to pre-serialize the static part of a rpc message. - * xdr_callhdr(xdrs, cmsg) - * 	XDR *xdrs; - * 	struct rpc_msg *cmsg; - */ -extern bool_t	xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW; - -/* - * XDR routine to handle a rpc reply. - * xdr_replymsg(xdrs, rmsg) - * 	XDR *xdrs; - * 	struct rpc_msg *rmsg; - */ -extern bool_t	xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) __THROW; - -/* - * Fills in the error part of a reply message. - * _seterr_reply(msg, error) - * 	struct rpc_msg *msg; - * 	struct rpc_err *error; - */ -extern void	_seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error) -     __THROW; - -__END_DECLS - -#endif /* rpc/rpc_msg.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/svc.h b/mdk-stage1/dietlibc/include/rpc/svc.h deleted file mode 100644 index ec598ba79..000000000 --- a/mdk-stage1/dietlibc/include/rpc/svc.h +++ /dev/null @@ -1,316 +0,0 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * svc.h, Server-side remote procedure call interface. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_SVC_H -#define _RPC_SVC_H 1 - -#include <sys/cdefs.h> -#include <rpc/rpc_msg.h> - -__BEGIN_DECLS - -/* - * This interface must manage two items concerning remote procedure calling: - * - * 1) An arbitrary number of transport connections upon which rpc requests - * are received.  The two most notable transports are TCP and UDP;  they are - * created and registered by routines in svc_tcp.c and svc_udp.c, respectively; - * they in turn call xprt_register and xprt_unregister. - * - * 2) An arbitrary number of locally registered services.  Services are - * described by the following four data: program number, version number, - * "service dispatch" function, a transport handle, and a boolean that - * indicates whether or not the exported program should be registered with a - * local binder service;  if true the program's number and version and the - * port number from the transport handle are registered with the binder. - * These data are registered with the rpc svc system via svc_register. - * - * A service's dispatch function is called whenever an rpc request comes in - * on a transport.  The request's program and version numbers must match - * those of the registered service.  The dispatch function is passed two - * parameters, struct svc_req * and SVCXPRT *, defined below. - */ - -enum xprt_stat { -	XPRT_DIED, -	XPRT_MOREREQS, -	XPRT_IDLE -}; - -/* - * Server side transport handle - */ -typedef struct SVCXPRT SVCXPRT; -struct SVCXPRT { -  int xp_sock; -  unsigned short xp_port;		/* associated port number */ -  const struct xp_ops { -    bool_t	(*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg); -				/* receive incoming requests */ -    enum xprt_stat (*xp_stat) (SVCXPRT *__xprt); -				/* get transport status */ -    bool_t	(*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, -			       char* args_ptr); /* get arguments */ -    bool_t	(*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg); -				/* send reply */ -    bool_t	(*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, -				char* args_ptr); -				/* free mem allocated for args */ -    void	(*xp_destroy) (SVCXPRT *__xprt); -				/* destroy this struct */ -  } *xp_ops; -  int		xp_addrlen;	 /* length of remote address */ -  struct sockaddr_in xp_raddr;	 /* remote address */ -  struct opaque_auth xp_verf;	 /* raw response verifier */ -  char*		xp_p1;		 /* private */ -  char*		xp_p2;		 /* private */ -  char		xp_pad [256];	/* padding, internal use */ -}; - -/* - *  Approved way of getting address of caller - */ -#define svc_getcaller(x) (&(x)->xp_raddr) - -/* - * Operations defined on an SVCXPRT handle - * - * SVCXPRT		*xprt; - * struct rpc_msg	*msg; - * xdrproc_t		 xargs; - * char*		 argsp; - */ -#define SVC_RECV(xprt, msg)				\ -	(*(xprt)->xp_ops->xp_recv)((xprt), (msg)) -#define svc_recv(xprt, msg)				\ -	(*(xprt)->xp_ops->xp_recv)((xprt), (msg)) - -#define SVC_STAT(xprt)					\ -	(*(xprt)->xp_ops->xp_stat)(xprt) -#define svc_stat(xprt)					\ -	(*(xprt)->xp_ops->xp_stat)(xprt) - -#define SVC_GETARGS(xprt, xargs, argsp)			\ -	(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) -#define svc_getargs(xprt, xargs, argsp)			\ -	(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) - -#define SVC_REPLY(xprt, msg)				\ -	(*(xprt)->xp_ops->xp_reply) ((xprt), (msg)) -#define svc_reply(xprt, msg)				\ -	(*(xprt)->xp_ops->xp_reply) ((xprt), (msg)) - -#define SVC_FREEARGS(xprt, xargs, argsp)		\ -	(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp)) -#define svc_freeargs(xprt, xargs, argsp)		\ -	(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp)) - -#define SVC_DESTROY(xprt)				\ -	(*(xprt)->xp_ops->xp_destroy)(xprt) -#define svc_destroy(xprt)				\ -	(*(xprt)->xp_ops->xp_destroy)(xprt) - - -/* - * Service request - */ -struct svc_req { -  rpcprog_t rq_prog;            /* service program number */ -  rpcvers_t rq_vers;            /* service protocol version */ -  rpcproc_t rq_proc;            /* the desired procedure */ -  struct opaque_auth rq_cred;   /* raw creds from the wire */ -  char* rq_clntcred;          /* read only cooked cred */ -  SVCXPRT *rq_xprt;             /* associated transport */ -}; - -#ifndef __DISPATCH_FN_T -#define __DISPATCH_FN_T -typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*); -#endif - -/* - * Service registration - * - * svc_register(xprt, prog, vers, dispatch, protocol) - *	SVCXPRT *xprt; - *	rpcprog_t prog; - *	rpcvers_t vers; - *	void (*dispatch)(struct svc_req*, SVCXPRT*); - *	rpcprot_t protocol;  like TCP or UDP, zero means do not register - */ -extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog, -			    rpcvers_t __vers, __dispatch_fn_t __dispatch, -			    rpcprot_t __protocol) __THROW; - -/* - * Service un-registration - * - * svc_unregister(prog, vers) - *	rpcprog_t prog; - *	rpcvers_t vers; - */ -extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) __THROW; - -/* - * Transport registration. - * - * xprt_register(xprt) - *	SVCXPRT *xprt; - */ -extern void xprt_register (SVCXPRT *__xprt) __THROW; - -/* - * Transport un-register - * - * xprt_unregister(xprt) - *	SVCXPRT *xprt; - */ -extern void xprt_unregister (SVCXPRT *__xprt) __THROW; - - -/* - * When the service routine is called, it must first check to see if it - * knows about the procedure;  if not, it should call svcerr_noproc - * and return.  If so, it should deserialize its arguments via - * SVC_GETARGS (defined above).  If the deserialization does not work, - * svcerr_decode should be called followed by a return.  Successful - * decoding of the arguments should be followed the execution of the - * procedure's code and a call to svc_sendreply. - * - * Also, if the service refuses to execute the procedure due to too- - * weak authentication parameters, svcerr_weakauth should be called. - * Note: do not confuse access-control failure with weak authentication! - * - * NB: In pure implementations of rpc, the caller always waits for a reply - * msg.  This message is sent when svc_sendreply is called. - * Therefore pure service implementations should always call - * svc_sendreply even if the function logically returns void;  use - * xdr.h - xdr_void for the xdr routine.  HOWEVER, tcp based rpc allows - * for the abuse of pure rpc via batched calling or pipelining.  In the - * case of a batched call, svc_sendreply should NOT be called since - * this would send a return message, which is what batching tries to avoid. - * It is the service/protocol writer's responsibility to know which calls are - * batched and which are not.  Warning: responding to batch calls may - * deadlock the caller and server processes! - */ - -extern bool_t	svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results, -			       char* __xdr_location) __THROW; - -extern void	svcerr_decode (SVCXPRT *__xprt) __THROW; - -extern void	svcerr_weakauth (SVCXPRT *__xprt) __THROW; - -extern void	svcerr_noproc (SVCXPRT *__xprt) __THROW; - -extern void	svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers, -				 rpcvers_t __high_vers) __THROW; - -extern void	svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) __THROW; - -extern void	svcerr_noprog (SVCXPRT *__xprt) __THROW; - -extern void	svcerr_systemerr (SVCXPRT *__xprt) __THROW; - -/* - * Lowest level dispatching -OR- who owns this process anyway. - * Somebody has to wait for incoming requests and then call the correct - * service routine.  The routine svc_run does infinite waiting; i.e., - * svc_run never returns. - * Since another (coexistent) package may wish to selectively wait for - * incoming calls or other events outside of the rpc architecture, the - * routine svc_getreq is provided.  It must be passed readfds, the - * "in-place" results of a select system call (see select, section 2). - */ - -/* - * Global keeper of rpc service descriptors in use - * dynamic; must be inspected before each call to select - */ - -extern struct pollfd *svc_pollfd; -extern int svc_max_pollfd; -extern fd_set svc_fdset; -#define svc_fds svc_fdset.fds_bits[0]	/* compatibility */ - -/* - * a small program implemented by the svc_rpc implementation itself; - * also see clnt.h for protocol numbers. - */ -extern void svc_getreq (int __rdfds) __THROW; -extern void svc_getreq_common (const int __fd) __THROW; -extern void svc_getreqset (fd_set *__readfds) __THROW; -extern void svc_getreq_poll (struct pollfd *, const int) __THROW; -extern void svc_exit (void) __THROW; -extern void svc_run (void) __THROW; - -/* - * Socket to use on svcxxx_create call to get default socket - */ -#define	RPC_ANYSOCK	-1 - -/* - * These are the existing service side transport implementations - */ - -/* - * Memory based rpc for testing and timing. - */ -extern SVCXPRT *svcraw_create (void) __THROW; - -/* - * Udp based rpc. - */ -extern SVCXPRT *svcudp_create (int __sock) __THROW; -extern SVCXPRT *svcudp_bufcreate (int __sock, unsigned int __sendsz, unsigned int __recvsz) -     __THROW; - -/* - * Tcp based rpc. - */ -extern SVCXPRT *svctcp_create (int __sock, unsigned int __sendsize, unsigned int __recvsize) -     __THROW; - - -/* - * Unix based rpc. - */ -extern SVCXPRT *svcunix_create (int __sock, unsigned int __sendsize, unsigned int __recvsize, -				char *__path) __THROW; - - -__END_DECLS - -#endif /* rpc/svc.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/svc_auth.h b/mdk-stage1/dietlibc/include/rpc/svc_auth.h deleted file mode 100644 index cd4b8da29..000000000 --- a/mdk-stage1/dietlibc/include/rpc/svc_auth.h +++ /dev/null @@ -1,54 +0,0 @@ -/* @(#)svc_auth.h	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/*      @(#)svc_auth.h 1.6 86/07/16 SMI      */ - -/* - * svc_auth.h, Service side of rpc authentication. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_SVC_AUTH_H -#define _RPC_SVC_AUTH_H	1 - -#include <sys/cdefs.h> -#include <rpc/svc.h> - -__BEGIN_DECLS - -/* - * Server side authenticator - */ -extern enum auth_stat _authenticate (struct svc_req *__rqst, -				     struct rpc_msg *__msg) __THROW; - -__END_DECLS - -#endif /* rpc/svc_auth.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/types.h b/mdk-stage1/dietlibc/include/rpc/types.h deleted file mode 100644 index d4be65e38..000000000 --- a/mdk-stage1/dietlibc/include/rpc/types.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -/* fixincludes should not add extern "C" to this file */ -/* - * Rpc additions to <sys/types.h> - */ -#ifndef _RPC_TYPES_H -#define _RPC_TYPES_H 1 - -typedef int bool_t; -typedef int enum_t; -/* This needs to be changed to uint32_t in the future */ -typedef unsigned long rpcprog_t; -typedef unsigned long rpcvers_t; -typedef unsigned long rpcproc_t; -typedef unsigned long rpcprot_t; -typedef unsigned long rpcport_t; - -#define        __dontcare__    -1 - -#ifndef FALSE -#      define  FALSE   (0) -#endif - -#ifndef TRUE -#      define  TRUE    (1) -#endif - -#include <stdlib.h>		/* For malloc decl.  */ -#define mem_alloc(bsize)	malloc(bsize) -#define mem_free(ptr, bsize)	free(ptr) - -#ifndef makedev /* ie, we haven't already included it */ -#include <sys/types.h> -#endif - -# ifndef __dietlibc_u_char_defined -typedef char* caddr_t; -typedef uint32_t u_long; -typedef unsigned char u_char; -typedef unsigned short u_short; -typedef unsigned int u_int; -# define __dietlibc_u_char_defined -#endif - -#include <sys/time.h> -#include <sys/param.h> - -#include <netinet/in.h> - -#ifndef INADDR_LOOPBACK -#define       INADDR_LOOPBACK         0x7F000001UL -#endif -#ifndef MAXHOSTNAMELEN -#define        MAXHOSTNAMELEN  64 -#endif - -#endif /* rpc/types.h */ diff --git a/mdk-stage1/dietlibc/include/rpc/xdr.h b/mdk-stage1/dietlibc/include/rpc/xdr.h deleted file mode 100644 index 590392070..000000000 --- a/mdk-stage1/dietlibc/include/rpc/xdr.h +++ /dev/null @@ -1,379 +0,0 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * xdr.h, External Data Representation Serialization Routines. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#ifndef _RPC_XDR_H -#define _RPC_XDR_H 1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <rpc/types.h> - -/* We need FILE.  */ -#include <stdio.h> - -__BEGIN_DECLS - -/* - * XDR provides a conventional way for converting between C data - * types and an external bit-string representation.  Library supplied - * routines provide for the conversion on built-in C data types.  These - * routines and utility routines defined here are used to help implement - * a type encode/decode routine for each user-defined type. - * - * Each data type provides a single procedure which takes two arguments: - * - *      bool_t - *      xdrproc(xdrs, argresp) - *              XDR *xdrs; - *              <type> *argresp; - * - * xdrs is an instance of a XDR handle, to which or from which the data - * type is to be converted.  argresp is a pointer to the structure to be - * converted.  The XDR handle contains an operation field which indicates - * which of the operations (ENCODE, DECODE * or FREE) is to be performed. - * - * XDR_DECODE may allocate space if the pointer argresp is null.  This - * data can be freed with the XDR_FREE operation. - * - * We write only one procedure per data type to make it easy - * to keep the encode and decode procedures for a data type consistent. - * In many cases the same code performs all operations on a user defined type, - * because all the hard work is done in the component type routines. - * decode as a series of calls on the nested data types. - */ - -/* - * Xdr operations.  XDR_ENCODE causes the type to be encoded into the - * stream.  XDR_DECODE causes the type to be extracted from the stream. - * XDR_FREE can be used to release the space allocated by an XDR_DECODE - * request. - */ -enum xdr_op { -  XDR_ENCODE = 0, -  XDR_DECODE = 1, -  XDR_FREE = 2 -}; - -/* - * This is the number of bytes per unit of external data. - */ -#define BYTES_PER_XDR_UNIT	(4) -/* - * This only works if the above is a power of 2.  But it's defined to be - * 4 by the appropriate RFCs.  So it will work.  And it's normally quicker - * than the old routine. - */ -#if 1 -#define RNDUP(x)  (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1)) -#else /* this is the old routine */ -#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \ -		    * BYTES_PER_XDR_UNIT) -#endif - -/* - * The XDR handle. - * Contains operation which is being applied to the stream, - * an operations vector for the particular implementation (e.g. see xdr_mem.c), - * and two private fields for the use of the particular implementation. - */ -typedef struct XDR XDR; -struct XDR -  { -    enum xdr_op x_op;		/* operation; fast additional param */ -    struct xdr_ops -      { -	bool_t (*x_getlong) (XDR *__xdrs, long *__lp); -	/* get a long from underlying stream */ -	bool_t (*x_putlong) (XDR *__xdrs, const long *__lp); -	/* put a long to " */ -	bool_t (*x_getbytes) (XDR *__xdrs, char* __addr, unsigned int __len); -	/* get some bytes from " */ -	bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, unsigned int __len); -	/* put some bytes to " */ -	unsigned int (*x_getpostn) (const XDR *__xdrs); -	/* returns bytes off from beginning */ -	bool_t (*x_setpostn) (XDR *__xdrs, unsigned int __pos); -	/* lets you reposition the stream */ -	int32_t *(*x_inline) (XDR *__xdrs, int __len); -	/* buf quick ptr to buffered data */ -	void (*x_destroy) (XDR *__xdrs); -	/* free privates of this xdr_stream */ -	bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip); -	/* get a int from underlying stream */ -	bool_t (*x_putint32) (XDR *__xdrs, const int32_t *__ip); -	/* put a int to " */ -      } -     *x_ops; -    char* x_public;		/* users' data */ -    char* x_private;		/* pointer to private data */ -    char* x_base;		/* private used for position info */ -    int x_handy;		/* extra private word */ -  }; - -/* - * A xdrproc_t exists for each data type which is to be encoded or decoded. - * - * The second argument to the xdrproc_t is a pointer to an opaque pointer. - * The opaque pointer generally points to a structure of the data type - * to be decoded.  If this pointer is 0, then the type routines should - * allocate dynamic storage of the appropriate size and return it. - * bool_t       (*xdrproc_t)(XDR *, char* *); - */ -typedef bool_t (*xdrproc_t) (XDR *, void *,...); - - -/* - * Operations defined on a XDR handle - * - * XDR          *xdrs; - * int32_t      *int32p; - * long         *longp; - * char*       addr; - * unsigned int         len; - * unsigned int         pos; - */ -#define XDR_GETINT32(xdrs, int32p)                      \ -        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) -#define xdr_getint32(xdrs, int32p)                      \ -        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) - -#define XDR_PUTINT32(xdrs, int32p)                      \ -        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) -#define xdr_putint32(xdrs, int32p)                      \ -        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) - -#define XDR_GETLONG(xdrs, longp)			\ -	(*(xdrs)->x_ops->x_getlong)(xdrs, longp) -#define xdr_getlong(xdrs, longp)			\ -	(*(xdrs)->x_ops->x_getlong)(xdrs, longp) - -#define XDR_PUTLONG(xdrs, longp)			\ -	(*(xdrs)->x_ops->x_putlong)(xdrs, longp) -#define xdr_putlong(xdrs, longp)			\ -	(*(xdrs)->x_ops->x_putlong)(xdrs, longp) - -#define XDR_GETBYTES(xdrs, addr, len)			\ -	(*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) -#define xdr_getbytes(xdrs, addr, len)			\ -	(*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) - -#define XDR_PUTBYTES(xdrs, addr, len)			\ -	(*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) -#define xdr_putbytes(xdrs, addr, len)			\ -	(*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) - -#define XDR_GETPOS(xdrs)				\ -	(*(xdrs)->x_ops->x_getpostn)(xdrs) -#define xdr_getpos(xdrs)				\ -	(*(xdrs)->x_ops->x_getpostn)(xdrs) - -#define XDR_SETPOS(xdrs, pos)				\ -	(*(xdrs)->x_ops->x_setpostn)(xdrs, pos) -#define xdr_setpos(xdrs, pos)				\ -	(*(xdrs)->x_ops->x_setpostn)(xdrs, pos) - -#define	XDR_INLINE(xdrs, len)				\ -	(*(xdrs)->x_ops->x_inline)(xdrs, len) -#define	xdr_inline(xdrs, len)				\ -	(*(xdrs)->x_ops->x_inline)(xdrs, len) - -#define	XDR_DESTROY(xdrs)					\ -	do {							\ -		if ((xdrs)->x_ops->x_destroy)			\ -			(*(xdrs)->x_ops->x_destroy)(xdrs);	\ -	} while (0) -#define	xdr_destroy(xdrs)					\ -	do {							\ -		if ((xdrs)->x_ops->x_destroy)			\ -			(*(xdrs)->x_ops->x_destroy)(xdrs);	\ -	} while (0) - -/* - * Support struct for discriminated unions. - * You create an array of xdrdiscrim structures, terminated with - * a entry with a null procedure pointer.  The xdr_union routine gets - * the discriminant value and then searches the array of structures - * for a matching value.  If a match is found the associated xdr routine - * is called to handle that part of the union.  If there is - * no match, then a default routine may be called. - * If there is no match and no default routine it is an error. - */ -#define NULL_xdrproc_t ((xdrproc_t)0) -struct xdr_discrim -{ -  int value; -  xdrproc_t proc; -}; - -/* - * Inline routines for fast encode/decode of primitive data types. - * Caveat emptor: these use single memory cycles to get the - * data from the underlying buffer, and will fail to operate - * properly if the data is not aligned.  The standard way to use these - * is to say: - *      if ((buf = XDR_INLINE(xdrs, count)) == NULL) - *              return (FALSE); - *      <<< macro calls >>> - * where ``count'' is the number of bytes of data occupied - * by the primitive data types. - * - * N.B. and frozen for all time: each data type here uses 4 bytes - * of external representation. - */ - -#define IXDR_GET_INT32(buf)           ((int32_t)ntohl((uint32_t)*(buf)++)) -#define IXDR_PUT_INT32(buf, v)        (*(buf)++ = (int32_t)htonl((uint32_t)(v))) -#define IXDR_GET_U_INT32(buf)         ((uint32_t)IXDR_GET_INT32(buf)) -#define IXDR_PUT_U_INT32(buf, v)      IXDR_PUT_INT32(buf, (int32_t)(v)) - -/* WARNING: The IXDR_*_LONG defines are removed by Sun for new platforms - * and shouldn't be used any longer. Code which use this defines or longs - * in the RPC code will not work on 64bit Solaris platforms ! - */ -#define IXDR_GET_LONG(buf) \ -	((long)ntohl((unsigned long)*__extension__((uint32_t*)(buf))++)) -#define IXDR_PUT_LONG(buf, v) \ -	(*__extension__((uint32_t*)(buf))++ = (long)htonl((unsigned long)(v))) -#define IXDR_GET_U_LONG(buf)	      ((unsigned long)IXDR_GET_LONG(buf)) -#define IXDR_PUT_U_LONG(buf, v)	      IXDR_PUT_LONG(buf, (long)(v)) - - -#define IXDR_GET_BOOL(buf)            ((bool_t)IXDR_GET_LONG(buf)) -#define IXDR_GET_ENUM(buf, t)         ((t)IXDR_GET_LONG(buf)) -#define IXDR_GET_SHORT(buf)           ((short)IXDR_GET_LONG(buf)) -#define IXDR_GET_U_SHORT(buf)         ((unsigned short)IXDR_GET_LONG(buf)) - -#define IXDR_PUT_BOOL(buf, v)         IXDR_PUT_LONG(buf, (long)(v)) -#define IXDR_PUT_ENUM(buf, v)         IXDR_PUT_LONG(buf, (long)(v)) -#define IXDR_PUT_SHORT(buf, v)        IXDR_PUT_LONG(buf, (long)(v)) -#define IXDR_PUT_U_SHORT(buf, v)      IXDR_PUT_LONG(buf, (long)(v)) - -/* - * These are the "generic" xdr routines. - * None of these can have const applied because it's not possible to - * know whether the call is a read or a write to the passed parameter - * also, the XDR structure is always updated by some of these calls. - */ -extern bool_t xdr_void (void) __THROW; -extern bool_t xdr_short (XDR *__xdrs, short *__sp) __THROW; -extern bool_t xdr_u_short (XDR *__xdrs, unsigned short *__usp) __THROW; -extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW; -extern bool_t xdr_u_int (XDR *__xdrs, unsigned int *__up) __THROW; -extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW; -extern bool_t xdr_u_long (XDR *__xdrs, unsigned long *__ulp) __THROW; -extern bool_t xdr_hyper (XDR *__xdrs, int64_t *__llp) __THROW; -extern bool_t xdr_u_hyper (XDR *__xdrs, uint64_t *__ullp) __THROW; -extern bool_t xdr_longlong_t (XDR *__xdrs, int64_t *__llp) __THROW; -extern bool_t xdr_u_longlong_t (XDR *__xdrs, uint64_t *__ullp) __THROW; -extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) __THROW; -extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) __THROW; -extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) __THROW; -extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) __THROW; -extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) __THROW; -extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) __THROW; -extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) __THROW; -extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) __THROW; -extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) __THROW; -extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) __THROW; -extern bool_t xdr_array (XDR * _xdrs, char* *__addrp, unsigned int *__sizep, -			 unsigned int __maxsize, unsigned int __elsize, xdrproc_t __elproc) -     __THROW; -extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, unsigned int *__sizep, -			 unsigned int __maxsize) __THROW; -extern bool_t xdr_opaque (XDR *__xdrs, char* __cp, unsigned int __cnt) __THROW; -extern bool_t xdr_string (XDR *__xdrs, char **__cpp, unsigned int __maxsize) __THROW; -extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp, -			 const struct xdr_discrim *__choices, -			 xdrproc_t dfault) __THROW; -extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW; -extern bool_t xdr_u_char (XDR *__xdrs, unsigned char *__cp) __THROW; -extern bool_t xdr_vector (XDR *__xdrs, char *__basep, unsigned int __nelem, -			  unsigned int __elemsize, xdrproc_t __xdr_elem) __THROW; -extern bool_t xdr_float (XDR *__xdrs, float *__fp) __THROW; -extern bool_t xdr_double (XDR *__xdrs, double *__dp) __THROW; -extern bool_t xdr_reference (XDR *__xdrs, char* *__xpp, unsigned int __size, -			     xdrproc_t __proc) __THROW; -extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp, -			   unsigned int __obj_size, xdrproc_t __xdr_obj) __THROW; -extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW; -extern unsigned long xdr_sizeof (xdrproc_t, void *) __THROW; - -/* - * Common opaque bytes objects used by many rpc protocols; - * declared here due to commonality. - */ -#define MAX_NETOBJ_SZ 1024 -struct netobj -{ -  unsigned int n_len; -  char *n_bytes; -}; -typedef struct netobj netobj; -extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) __THROW; - -/* - * These are the public routines for the various implementations of - * xdr streams. - */ - -/* XDR using memory buffers */ -extern void xdrmem_create (XDR *__xdrs, const char* __addr, -			   unsigned int __size, enum xdr_op __xop) __THROW; - -/* XDR using stdio library */ -extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop) -     __THROW; - -/* XDR pseudo records for tcp */ -extern void xdrrec_create (XDR *__xdrs, unsigned int __sendsize, -			   unsigned int __recvsize, char* __tcp_handle, -			   int (*__readit) (char *, char *, int), -			   int (*__writeit) (char *, char *, int)) __THROW; - -/* make end of xdr record */ -extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) __THROW; - -/* move to beginning of next record */ -extern bool_t xdrrec_skiprecord (XDR *__xdrs) __THROW; - -/* true if no more input */ -extern bool_t xdrrec_eof (XDR *__xdrs) __THROW; - -/* free memory buffers for xdr */ -extern void xdr_free (xdrproc_t __proc, char *__objp) __THROW; - -__END_DECLS - -#endif /* rpc/xdr.h */ diff --git a/mdk-stage1/dietlibc/include/sched.h b/mdk-stage1/dietlibc/include/sched.h deleted file mode 100644 index b6442c73b..000000000 --- a/mdk-stage1/dietlibc/include/sched.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _SCHED_H -#define _SCHED_H 1 - -#include <time.h> - -#include <sys/types.h> - -/* - * cloning flags: - */ -#define CSIGNAL         0x000000ff      /* signal mask to be sent at exit */ -#define CLONE_VM        0x00000100      /* set if VM shared between processes */ -#define CLONE_FS        0x00000200      /* set if fs info shared between processes */ -#define CLONE_FILES     0x00000400      /* set if open files shared between processes */ -#define CLONE_SIGHAND   0x00000800      /* set if signal handlers and blocked signals shared */ -#define CLONE_PID       0x00001000      /* set if pid shared */ -#define CLONE_PTRACE    0x00002000      /* set if we want to let tracing continue on the child too */ -#define CLONE_VFORK     0x00004000      /* set if the parent wants the child to wake it up on mm_release */ -#define CLONE_PARENT    0x00008000      /* set if we want to have the same parent as the cloner */ -#define CLONE_THREAD    0x00010000      /* Same thread group? */ - -#define CLONE_SIGNAL    (CLONE_SIGHAND | CLONE_THREAD) - -int clone(void*(*fn)(void*),void*stack,int flags,void*arg); - -/* - * Scheduling policies - */ -#define SCHED_OTHER		0 -#define SCHED_FIFO		1 -#define SCHED_RR		2 - -/* - * This is an additional bit set when we want to - * yield the CPU for one re-schedule.. - */ -#define SCHED_YIELD		0x10 - -struct sched_param { -  int sched_priority; -}; - -/* END OF COPY form kernel-header */ - -int __sched_setparam(pid_t pid, const struct sched_param *p); -int sched_setparam(pid_t pid, const struct sched_param *p); - -int __sched_getparam(pid_t pid, struct sched_param *p); -int sched_getparam(pid_t pid, struct sched_param *p); - -int __sched_getscheduler(pid_t pid); -int sched_getscheduler(pid_t pid); - -int __sched_setscheduler(pid_t pid, int policy, const struct sched_param *p); -int sched_setscheduler(pid_t pid, int policy, const struct sched_param *p); - -int __sched_yield(void); -int sched_yield(void); - -int __sched_get_priority_max(int policy); -int sched_get_priority_max(int policy); - -int __sched_get_priority_min(int policy); -int sched_get_priority_min(int policy); - -int __sched_rr_get_interval(pid_t pid, struct timespec *tp); -int sched_rr_get_interval(pid_t pid, struct timespec *tp); - -#endif diff --git a/mdk-stage1/dietlibc/include/scsi/scsi.h b/mdk-stage1/dietlibc/include/scsi/scsi.h deleted file mode 100644 index 652e44ee9..000000000 --- a/mdk-stage1/dietlibc/include/scsi/scsi.h +++ /dev/null @@ -1,224 +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 Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -/* - * This header file contains public constants and structures used by - * the scsi code for linux. - */ - -#ifndef _SCSI_SCSI_H -#define _SCSI_SCSI_H	1 - -/* - *      SCSI opcodes - */ - -#define TEST_UNIT_READY       0x00 -#define REZERO_UNIT           0x01 -#define REQUEST_SENSE         0x03 -#define FORMAT_UNIT           0x04 -#define READ_BLOCK_LIMITS     0x05 -#define REASSIGN_BLOCKS       0x07 -#define READ_6                0x08 -#define WRITE_6               0x0a -#define SEEK_6                0x0b -#define READ_REVERSE          0x0f -#define WRITE_FILEMARKS       0x10 -#define SPACE                 0x11 -#define INQUIRY               0x12 -#define RECOVER_BUFFERED_DATA 0x14 -#define MODE_SELECT           0x15 -#define RESERVE               0x16 -#define RELEASE               0x17 -#define COPY                  0x18 -#define ERASE                 0x19 -#define MODE_SENSE            0x1a -#define START_STOP            0x1b -#define RECEIVE_DIAGNOSTIC    0x1c -#define SEND_DIAGNOSTIC       0x1d -#define ALLOW_MEDIUM_REMOVAL  0x1e - -#define SET_WINDOW            0x24 -#define READ_CAPACITY         0x25 -#define READ_10               0x28 -#define WRITE_10              0x2a -#define SEEK_10               0x2b -#define WRITE_VERIFY          0x2e -#define VERIFY                0x2f -#define SEARCH_HIGH           0x30 -#define SEARCH_EQUAL          0x31 -#define SEARCH_LOW            0x32 -#define SET_LIMITS            0x33 -#define PRE_FETCH             0x34 -#define READ_POSITION         0x34 -#define SYNCHRONIZE_CACHE     0x35 -#define LOCK_UNLOCK_CACHE     0x36 -#define READ_DEFECT_DATA      0x37 -#define MEDIUM_SCAN           0x38 -#define COMPARE               0x39 -#define COPY_VERIFY           0x3a -#define WRITE_BUFFER          0x3b -#define READ_BUFFER           0x3c -#define UPDATE_BLOCK          0x3d -#define READ_LONG             0x3e -#define WRITE_LONG            0x3f -#define CHANGE_DEFINITION     0x40 -#define WRITE_SAME            0x41 -#define READ_TOC              0x43 -#define LOG_SELECT            0x4c -#define LOG_SENSE             0x4d -#define MODE_SELECT_10        0x55 -#define RESERVE_10            0x56 -#define RELEASE_10            0x57 -#define MODE_SENSE_10         0x5a -#define PERSISTENT_RESERVE_IN 0x5e -#define PERSISTENT_RESERVE_OUT 0x5f -#define MOVE_MEDIUM           0xa5 -#define READ_12               0xa8 -#define WRITE_12              0xaa -#define WRITE_VERIFY_12       0xae -#define SEARCH_HIGH_12        0xb0 -#define SEARCH_EQUAL_12       0xb1 -#define SEARCH_LOW_12         0xb2 -#define READ_ELEMENT_STATUS   0xb8 -#define SEND_VOLUME_TAG       0xb6 -#define WRITE_LONG_2          0xea - -/* - *  Status codes - */ - -#define GOOD                 0x00 -#define CHECK_CONDITION      0x01 -#define CONDITION_GOOD       0x02 -#define BUSY                 0x04 -#define INTERMEDIATE_GOOD    0x08 -#define INTERMEDIATE_C_GOOD  0x0a -#define RESERVATION_CONFLICT 0x0c -#define COMMAND_TERMINATED   0x11 -#define QUEUE_FULL           0x14 - -#define STATUS_MASK          0x3e - -/* - *  SENSE KEYS - */ - -#define NO_SENSE            0x00 -#define RECOVERED_ERROR     0x01 -#define NOT_READY           0x02 -#define MEDIUM_ERROR        0x03 -#define HARDWARE_ERROR      0x04 -#define ILLEGAL_REQUEST     0x05 -#define UNIT_ATTENTION      0x06 -#define DATA_PROTECT        0x07 -#define BLANK_CHECK         0x08 -#define COPY_ABORTED        0x0a -#define ABORTED_COMMAND     0x0b -#define VOLUME_OVERFLOW     0x0d -#define MISCOMPARE          0x0e - - -/* - *  DEVICE TYPES - */ - -#define TYPE_DISK           0x00 -#define TYPE_TAPE           0x01 -#define TYPE_PROCESSOR      0x03    /* HP scanners use this */ -#define TYPE_WORM           0x04    /* Treated as ROM by our system */ -#define TYPE_ROM            0x05 -#define TYPE_SCANNER        0x06 -#define TYPE_MOD            0x07    /* Magneto-optical disk - -				     * - treated as TYPE_DISK */ -#define TYPE_MEDIUM_CHANGER 0x08 -#define TYPE_ENCLOSURE	    0x0d    /* Enclosure Services Device */ -#define TYPE_NO_LUN         0x7f - -/* - * standard mode-select header prepended to all mode-select commands - * - * moved here from cdrom.h -- kraxel - */ - -struct ccs_modesel_head -  { -    unsigned char _r1;			/* reserved.  */ -    unsigned char medium;		/* device-specific medium type.  */ -    unsigned char _r2;			/* reserved.  */ -    unsigned char block_desc_length;	/* block descriptor length.  */ -    unsigned char density;		/* device-specific density code.  */ -    unsigned char number_blocks_hi;	/* number of blocks in this block -					   desc.  */ -    unsigned char number_blocks_med; -    unsigned char number_blocks_lo; -    unsigned char _r3; -    unsigned char block_length_hi;	/* block length for blocks in this -					   desc.  */ -    unsigned char block_length_med; -    unsigned char block_length_lo; -  }; - -/* - *  MESSAGE CODES - */ - -#define COMMAND_COMPLETE    0x00 -#define EXTENDED_MESSAGE    0x01 -#define     EXTENDED_MODIFY_DATA_POINTER    0x00 -#define     EXTENDED_SDTR                   0x01 -#define     EXTENDED_EXTENDED_IDENTIFY      0x02    /* SCSI-I only */ -#define     EXTENDED_WDTR                   0x03 -#define SAVE_POINTERS       0x02 -#define RESTORE_POINTERS    0x03 -#define DISCONNECT          0x04 -#define INITIATOR_ERROR     0x05 -#define ABORT               0x06 -#define MESSAGE_REJECT      0x07 -#define NOP                 0x08 -#define MSG_PARITY_ERROR    0x09 -#define LINKED_CMD_COMPLETE 0x0a -#define LINKED_FLG_CMD_COMPLETE 0x0b -#define BUS_DEVICE_RESET    0x0c - -#define INITIATE_RECOVERY   0x0f            /* SCSI-II only */ -#define RELEASE_RECOVERY    0x10            /* SCSI-II only */ - -#define SIMPLE_QUEUE_TAG    0x20 -#define HEAD_OF_QUEUE_TAG   0x21 -#define ORDERED_QUEUE_TAG   0x22 - -/* - * Here are some scsi specific ioctl commands which are sometimes useful. - */ -/* These are a few other constants only used by scsi devices.  */ - -#define SCSI_IOCTL_GET_IDLUN 0x5382 - -/* Used to turn on and off tagged queuing for scsi devices.  */ - -#define SCSI_IOCTL_TAGGED_ENABLE 0x5383 -#define SCSI_IOCTL_TAGGED_DISABLE 0x5384 - -/* Used to obtain the host number of a device.  */ -#define SCSI_IOCTL_PROBE_HOST 0x5385 - -/* Used to get the bus number for a device.  */ -#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386 - -#endif /* scsi/scsi.h */ diff --git a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h b/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h deleted file mode 100644 index bc9931838..000000000 --- a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h +++ /dev/null @@ -1,34 +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, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -#ifndef _SCSI_IOCTL_H -#define _SCSI_IOCTL_H  - -/* IOCTLs for SCSI.  */ -#define SCSI_IOCTL_SEND_COMMAND		1	/* Send a command to the SCSI host.  */ -#define SCSI_IOCTL_TEST_UNIT_READY	2	/* Test if unit is ready.  */ -#define SCSI_IOCTL_BENCHMARK_COMMAND	3 -#define SCSI_IOCTL_SYNC			4	/* Request synchronous parameters.  */ -#define SCSI_IOCTL_START_UNIT		5 -#define SCSI_IOCTL_STOP_UNIT		6 -#define SCSI_IOCTL_DOORLOCK		0x5380	/* Lock the eject mechanism.  */ -#define SCSI_IOCTL_DOORUNLOCK		0x5381	/* Unlock the mechanism.  */ - -#endif - - diff --git a/mdk-stage1/dietlibc/include/scsi/sg.h b/mdk-stage1/dietlibc/include/scsi/sg.h deleted file mode 100644 index 00334654e..000000000 --- a/mdk-stage1/dietlibc/include/scsi/sg.h +++ /dev/null @@ -1,274 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000  Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -/* -   History: -    Started: Aug 9 by Lawrence Foard (entropy@world.std.com), to allow user -     process control of SCSI devices. -    Development Sponsored by Killy Corp. NY NY -*/ - -#ifndef _SCSI_SG_H -#define _SCSI_SG_H	1 - -#include <sys/types.h> - -/* New interface introduced in the 3.x SG drivers follows */ - -/* Same structure as used by readv() Linux system call. It defines one -   scatter-gather element. */ -typedef struct sg_iovec -{ -  void * iov_base;            /* Starting address  */ -  size_t iov_len;             /* Length in bytes  */ -} sg_iovec_t; - - -typedef struct sg_io_hdr -{ -  int interface_id;           /* [i] 'S' for SCSI generic (required) */ -  int dxfer_direction;        /* [i] data transfer direction  */ -  unsigned char cmd_len;      /* [i] SCSI command length ( <= 16 bytes) */ -  unsigned char mx_sb_len;    /* [i] max length to write to sbp */ -  unsigned short int iovec_count; /* [i] 0 implies no scatter gather */ -  unsigned int dxfer_len;     /* [i] byte count of data transfer */ -  void * dxferp;              /* [i], [*io] points to data transfer memory -				 or scatter gather list */ -  unsigned char * cmdp;       /* [i], [*i] points to command to perform */ -  unsigned char * sbp;        /* [i], [*o] points to sense_buffer memory */ -  unsigned int timeout;       /* [i] MAX_UINT->no timeout (unit: millisec) */ -  unsigned int flags;         /* [i] 0 -> default, see SG_FLAG... */ -  int pack_id;                /* [i->o] unused internally (normally) */ -  void * usr_ptr;             /* [i->o] unused internally */ -  unsigned char status;       /* [o] scsi status */ -  unsigned char masked_status;/* [o] shifted, masked scsi status */ -  unsigned char msg_status;   /* [o] messaging level data (optional) */ -  unsigned char sb_len_wr;    /* [o] byte count actually written to sbp */ -  unsigned short int host_status; /* [o] errors from host adapter */ -  unsigned short int driver_status;/* [o] errors from software driver */ -  int resid;                  /* [o] dxfer_len - actual_transferred */ -  unsigned int duration;      /* [o] time taken by cmd (unit: millisec) */ -  unsigned int info;          /* [o] auxiliary information */ -} sg_io_hdr_t; - - -/* Use negative values to flag difference from original sg_header structure.  */ -#define SG_DXFER_NONE -1        /* e.g. a SCSI Test Unit Ready command */ -#define SG_DXFER_TO_DEV -2      /* e.g. a SCSI WRITE command */ -#define SG_DXFER_FROM_DEV -3    /* e.g. a SCSI READ command */ -#define SG_DXFER_TO_FROM_DEV -4 /* treated like SG_DXFER_FROM_DEV with the -				   additional property than during indirect -				   IO the user buffer is copied into the -				   kernel buffers before the transfer */ - - -/* following flag values can be "or"-ed together */ -#define SG_FLAG_DIRECT_IO 1     /* default is indirect IO */ -#define SG_FLAG_LUN_INHIBIT 2   /* default is to put device's lun into */ -				/* the 2nd byte of SCSI command */ -#define SG_FLAG_NO_DXFER 0x10000 /* no transfer of kernel buffers to/from */ -				/* user space (debug indirect IO) */ - -/* The following 'info' values are "or"-ed together.  */ -#define SG_INFO_OK_MASK	0x1 -#define SG_INFO_OK	0x0	/* no sense, host nor driver "noise" */ -#define SG_INFO_CHECK	0x1     /* something abnormal happened */ - -#define SG_INFO_DIRECT_IO_MASK	0x6 -#define SG_INFO_INDIRECT_IO 	0x0	/* data xfer via kernel buffers (or no xfer) */ -#define SG_INFO_DIRECT_IO 	0x2	/* direct IO requested and performed */ -#define SG_INFO_MIXED_IO 	0x4	/* part direct, part indirect IO */ - - -/* Request information about a specific SG device, used by -   SG_GET_SCSI_ID ioctl ().  */ -struct sg_scsi_id { -  /* Host number as in "scsi<n>" where 'n' is one of 0, 1, 2 etc.  */ -  int host_no; -  int channel; -  /* SCSI id of target device.  */ -  int scsi_id; -  int lun; -  /* TYPE_... defined in <scsi/scsi.h>.  */ -  int scsi_type; -  /* Host (adapter) maximum commands per lun.  */ -  short int h_cmd_per_lun; -  /* Device (or adapter) maximum queue length.  */ -  short int d_queue_depth; -  /* Unused, set to 0 for now.  */ -  int unused[2]; -}; - -/* Used by SG_GET_REQUEST_TABLE ioctl().  */ -typedef struct sg_req_info { -    char req_state;     /* 0 -> not used, 1 -> written, 2 -> ready to read */ -    char orphan;        /* 0 -> normal request, 1 -> from interruped SG_IO */ -    char sg_io_owned;   /* 0 -> complete with read(), 1 -> owned by SG_IO */ -    char problem;       /* 0 -> no problem detected, 1 -> error to report */ -    int pack_id;        /* pack_id associated with request */ -    void * usr_ptr;     /* user provided pointer (in new interface) */ -    unsigned int duration; /* millisecs elapsed since written (req_state==1) -			      or request duration (req_state==2) */ -    int unused; -} sg_req_info_t; - - -/* IOCTLs: Those ioctls that are relevant to the SG 3.x drivers follow. - [Those that only apply to the SG 2.x drivers are at the end of the file.] - (_GET_s yield result via 'int *' 3rd argument unless otherwise indicated) */ - -#define SG_EMULATED_HOST 0x2203 /* true for emulated host adapter (ATAPI) */ - -/* Used to configure SCSI command transformation layer for ATAPI devices */ -/* Only supported by the ide-scsi driver */ -#define SG_SET_TRANSFORM 0x2204 /* N.B. 3rd arg is not pointer but value: */ -		      /* 3rd arg = 0 to disable transform, 1 to enable it */ -#define SG_GET_TRANSFORM 0x2205 - -#define SG_SET_RESERVED_SIZE 0x2275  /* request a new reserved buffer size */ -#define SG_GET_RESERVED_SIZE 0x2272  /* actual size of reserved buffer */ - -/* The following ioctl has a 'sg_scsi_id_t *' object as its 3rd argument. */ -#define SG_GET_SCSI_ID 0x2276   /* Yields fd's bus, chan, dev, lun + type */ -/* SCSI id information can also be obtained from SCSI_IOCTL_GET_IDLUN */ - -/* Override host setting and always DMA using low memory ( <16MB on i386) */ -#define SG_SET_FORCE_LOW_DMA 0x2279  /* 0-> use adapter setting, 1-> force */ -#define SG_GET_LOW_DMA 0x227a   /* 0-> use all ram for dma; 1-> low dma ram */ - -/* When SG_SET_FORCE_PACK_ID set to 1, pack_id is input to read() which -   tries to fetch a packet with a matching pack_id, waits, or returns EAGAIN. -   If pack_id is -1 then read oldest waiting. When ...FORCE_PACK_ID set to 0 -   then pack_id ignored by read() and oldest readable fetched. */ -#define SG_SET_FORCE_PACK_ID 0x227b -#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1) */ - -#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read() */ - -/* Yields max scatter gather tablesize allowed by current host adapter */ -#define SG_GET_SG_TABLESIZE 0x227F  /* 0 implies can't do scatter gather */ - -#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */ - -/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */ -#define SG_SCSI_RESET 0x2284 -/* Associated values that can be given to SG_SCSI_RESET follow */ -#define SG_SCSI_RESET_NOTHING	0 -#define SG_SCSI_RESET_DEVICE	1 -#define SG_SCSI_RESET_BUS	2 -#define SG_SCSI_RESET_HOST	3 - -/* synchronous SCSI command ioctl, (only in version 3 interface) */ -#define SG_IO 0x2285   /* similar effect as write() followed by read() */ - -#define SG_GET_REQUEST_TABLE 0x2286   /* yields table of active requests */ - -/* How to treat EINTR during SG_IO ioctl(), only in SG 3.x series */ -#define SG_SET_KEEP_ORPHAN 0x2287 /* 1 -> hold for read(), 0 -> drop (def) */ -#define SG_GET_KEEP_ORPHAN 0x2288 - - -#define SG_SCATTER_SZ (8 * 4096)  /* PAGE_SIZE not available to user */ -/* Largest size (in bytes) a single scatter-gather list element can have. -   The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on -   i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported -   by adapter then this value is the largest data block that can be -   read/written by a single scsi command. The user can find the value of -   PAGE_SIZE by calling getpagesize() defined in unistd.h . */ - -#define SG_DEFAULT_RETRIES 1 - -/* Defaults, commented if they differ from original sg driver */ -#define SG_DEF_FORCE_LOW_DMA 0  /* was 1 -> memory below 16MB on i386 */ -#define SG_DEF_FORCE_PACK_ID 0 -#define SG_DEF_KEEP_ORPHAN 0 -#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ /* load time option */ - -/* maximum outstanding requests, write() yields EDOM if exceeded */ -#define SG_MAX_QUEUE 16 - -#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE    /* for backward compatibility */ - -/* Alternate style type names, "..._t" variants preferred */ -typedef struct sg_io_hdr Sg_io_hdr; -typedef struct sg_io_vec Sg_io_vec; -typedef struct sg_scsi_id Sg_scsi_id; -typedef struct sg_req_info Sg_req_info; - - -/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */ -/*   The older SG interface based on the 'sg_header' structure follows.   */ -/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ - -#define SG_MAX_SENSE 16   /* this only applies to the sg_header interface */ - -struct sg_header - { -   /* Length of incoming packet (including header).  */ -   int pack_len; -   /* Maximal length of expected reply.  */ -   int reply_len; -   /* Id number of packet.  */ -   int pack_id; -   /* 0==ok, otherwise error number.  */ -   int result; -   /* Force 12 byte command length for group 6 & 7 commands.  */ -   unsigned int twelve_byte:1; -   /* SCSI status from target.  */ -   unsigned int target_status:5; -   /* Host status (see "DID" codes).  */ -   unsigned int host_status:8; -   /* Driver status+suggestion.  */ -   unsigned int driver_status:8; -   /* Unused.  */ -   unsigned int other_flags:10; -   /* Output in 3 cases: -      when target_status is CHECK_CONDITION or -      when target_status is COMMAND_TERMINATED or -      when (driver_status & DRIVER_SENSE) is true.  */ -   unsigned char sense_buffer[SG_MAX_SENSE]; - }; - - -/* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t -	   interface is used. They are kept for backward compatibility with -	   the original and version 2 drivers. */ - -#define SG_SET_TIMEOUT		0x2201	/* Set timeout; *(int *)arg==timeout.  */ -#define SG_GET_TIMEOUT		0x2202	/* Get timeout; return timeout.  */ - -/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */ -#define SG_GET_COMMAND_Q	0x2270	/* Yields 0 (queuing off) or 1 (on).  */ -#define SG_SET_COMMAND_Q 	0x2271	/* Change queuing state with 0 or 1.  */ - -/* Turn on error sense trace (1..8), dump this device to log/console (9) -   or dump all sg device states ( >9 ) to log/console.  */ -#define SG_SET_DEBUG		0x227e	/* 0 -> turn off debug */ - -#define SG_NEXT_CMD_LEN		0x2283	/* Override SCSI command length with given -					   number on the next write() on this file -					   descriptor.  */ - -/* Defaults, commented if they differ from original sg driver */ -#define SG_DEFAULT_TIMEOUT (60*HZ) /* HZ == 'jiffies in 1 second' */ -#define SG_DEF_COMMAND_Q 0     /* command queuing is always on when -				  the new interface is used */ -#define SG_DEF_UNDERRUN_FLAG 0 - - -#endif	/* scsi/sg.h */ diff --git a/mdk-stage1/dietlibc/include/setjmp.h b/mdk-stage1/dietlibc/include/setjmp.h deleted file mode 100644 index b591936ac..000000000 --- a/mdk-stage1/dietlibc/include/setjmp.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef _SETJMP_H -#define _SETJMP_H - -#include <sys/cdefs.h> - -#ifdef __i386__ -#ifndef __ASSEMBLER__ -typedef int __jmp_buf[6]; -#endif -# define JB_BX	0 -# define JB_SI	1 -# define JB_DI	2 -# define JB_BP	3 -# define JB_SP	4 -# define JB_PC	5 -# define JB_SIZE 24 -#endif - -#ifdef __x86_64__ -#ifndef __ASSEMBLER__ -typedef long __jmp_buf[8]; -#endif -# define JB_RBX	0 -# define JB_RBP	1 -# define JB_R12	2 -# define JB_R13	3 -# define JB_R14	4 -# define JB_R15	5 -# define JB_RSP	6 -# define JB_PC	7 -# define JB_SIZE 64 -#endif - -#ifdef __s390__ -#ifndef __ASSEMBLER__ -typedef struct { -  long int gregs[10]; -  long fpregs[4]; -} __jmp_buf[1]; -#endif -#define __JB_GPR6	0 -#define __JB_GPR7	1 -#define __JB_GPR8	2 -#define __JB_GPR9	3 -#define __JB_GPR10	4 -#define __JB_GPR11	5 -#define __JB_GPR12	6 -#define __JB_GPR13	7 -#define __JB_GPR14	8 -#define __JB_GPR15	9 - -#define _JMPBUF_UNWINDS(jmpbuf, address) ((int) (address) < (jmpbuf)->gregs[__JB_GPR15]) -#endif - -#ifdef __alpha__ -#define JB_S0  0 -#define JB_S1  1 -#define JB_S2  2 -#define JB_S3  3 -#define JB_S4  4 -#define JB_S5  5 -#define JB_PC  6 -#define JB_FP  7 -#define JB_SP  8 -#define JB_F2  9 -#define JB_F3  10 -#define JB_F4  11 -#define JB_F5  12 -#define JB_F6  13 -#define JB_F7  14 -#define JB_F8  15 -#define JB_F9  16 -#ifndef __ASSEMBLER__ -typedef long int __jmp_buf[17]; -#endif -#endif - -#ifdef __mips__ -#ifndef __ASSEMBLER__ -typedef struct -  { -    void * __pc;	/* Program counter.  */ -    void * __sp;	/* Stack pointer.  */ -    int __regs[8];	/* Callee-saved registers s0 through s7.  */ -    void * __fp;	/* The frame pointer.  */ -    void * __gp;	/* The global pointer.  */ -    int __fpc_csr;	/* Floating point status register.  */ -    double __fpregs[6];	/* Callee-saved floating point registers.  */ -  } __jmp_buf[1]; -#endif -#endif - -#ifdef __sparc__ -#ifdef __arch64__ - -#define MC_TSTATE	0 -#define MC_PC		1 -#define MC_NPC		2 -#define MC_Y		3 -#define MC_G1		4 -#define MC_G2		5 -#define MC_G3		6 -#define MC_G4		7 -#define MC_G5		8 -#define MC_G6		9 -#define MC_G7		10 -#define MC_O0		11 -#define MC_O1		12 -#define MC_O2		13 -#define MC_O3		14 -#define MC_O4		15 -#define MC_O5		16 -#define MC_O6		17 -#define MC_O7		18 -#define MC_NGREG	19 - -#define FLAG_SAVEMASK	512 -#ifndef __ASSEMBLER__ -#include <signal.h> - -/* this equal to ucontext from "include/asm-sparc64/uctx.h" */ -typedef struct __sparc64_jmp_buf { -  struct __sparc64_jmp_buf *uc_link; -  unsigned long uc_flags; -  sigset_t uc_sigmask; -  struct { -    unsigned long	mc_gregs[MC_NGREG]; -    unsigned long	mc_fp; -    unsigned long	mc_i7; -    struct { -      union { -	unsigned int	sregs[32]; -	unsigned long	dregs[32]; -	long double	qregs[16]; -      } mcfpu_fregs; -      unsigned long	mcfpu_fsr; -      unsigned long	mcfpu_fprs; -      unsigned long	mcfpu_gsr; -      struct { -	unsigned long	*mcfq_addr; -	unsigned int	mcfq_insn; -      } *mcfpu_fq; -      unsigned char	mcfpu_qcnt; -      unsigned char	mcfpu_qentsz; -      unsigned char	mcfpu_enab; -    } mc_fpregs; -  } uc_mcontext; -} __jmp_buf[1]; - -#endif - -#else - -#define JB_SP  0 -#define JB_FP  1 -#define JB_PC  2 -#ifndef __ASSEMBLER__ -typedef int __jmp_buf[3]; -#endif - -#endif -#endif - -#ifdef __arm__ -#define __JMP_BUF_SP            8 -#ifndef __ASSEMBLER__ -typedef int __jmp_buf[24]; -#endif -#endif - -#ifdef __powerpc__ -# define JB_GPR1   0  /* Also known as the stack pointer */ -# define JB_GPR2   1 -# define JB_LR     2  /* The address we will return to */ -# define JB_GPRS   3  /* GPRs 14 through 31 are saved, 18 in total */ -# define JB_CR     21 /* Condition code registers. */ -# define JB_FPRS   22 /* FPRs 14 through 31 are saved, 18*2 words total */ -# define JB_SIZE   (58*4) -#ifndef __ASSEMBLER__ -typedef long int __jmp_buf[58]; -#endif -#endif - -#ifdef __hppa__ -#ifndef __ASSEMBLER__ -typedef double __jmp_buf[21]; -#endif -#endif - -#ifdef __ia64__ -#ifndef __ASSEMBLER__ -typedef long __jmp_buf[70] __attribute__ ((aligned(16))); -#endif -#endif - -#ifndef __ASSEMBLER__ -#include <signal.h> - -/* typedef int sig_atomic_t; */ -#define __sig_atomic_t sig_atomic_t - -/* Calling environment, plus possibly a saved signal mask.  */ -typedef struct __jmp_buf_tag {	/* C++ doesn't like tagless structs.  */ -/* NOTE: The machine-dependent definitions of `__sigsetjmp' - * assume that a `jmp_buf' begins with a `__jmp_buf'. - * Do not move this member or add others before it.  */ -  __jmp_buf __jmpbuf;		/* Calling environment.  */ -  int __mask_was_saved;		/* Saved the signal mask?  */ -  sigset_t __saved_mask;	/* Saved signal mask.  */ -} jmp_buf[1]; - -extern int __sigsetjmp(jmp_buf __env,int __savemask) __THROW; - -extern void longjmp(jmp_buf __env,int __val) -     __THROW __attribute__((__noreturn__)); - -typedef jmp_buf sigjmp_buf; - -extern void siglongjmp(sigjmp_buf __env,int __val) -     __THROW __attribute__((__noreturn__)); - -#ifdef _BSD_SOURCE -#define setjmp(env) __sigsetjmp(env,1) -#else -#define setjmp(env) __sigsetjmp(env,0) -#endif -#define sigsetjmp(a,b) __sigsetjmp(a,b) - -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/shadow.h b/mdk-stage1/dietlibc/include/shadow.h deleted file mode 100644 index 1c84de9e6..000000000 --- a/mdk-stage1/dietlibc/include/shadow.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _SHADOW_H -#define _SHADOW_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct spwd { -	char *sp_namp;		/* user login name */ -	char *sp_pwdp;		/* encrypted password */ -	long  sp_lstchg;	/* last password change */ -	int   sp_min;		/* days until change allowed. */ -	int   sp_max;		/* days before change required */ -	int   sp_warn;		/* days warning for expiration */ -	int   sp_inact;		/* days before  account  inactive */ -	int   sp_expire;	/* date when account expires */ -	int   sp_flag;		/* reserved for future use */ -}; - -extern struct spwd *getspent(void) __THROW; -extern void setspent(void) __THROW; -extern void endspent(void) __THROW; -extern struct spwd *getspnam (const char *__name) __THROW; - -int getspent_r(struct spwd *res, char *buf, size_t buflen, -	       struct spwd **res_sig) __THROW; -int getspnam_r(const char* name, -	       struct spwd *res, char *buf, size_t buflen, -	       struct spwd **res_sig) __THROW; - -#endif /* _SHADOW_H */ diff --git a/mdk-stage1/dietlibc/include/signal.h b/mdk-stage1/dietlibc/include/signal.h deleted file mode 100644 index fdc0518cf..000000000 --- a/mdk-stage1/dietlibc/include/signal.h +++ /dev/null @@ -1,500 +0,0 @@ -#ifndef _SIGNAL_H -#define _SIGNAL_H - -#include <sys/cdefs.h> - -#define __WANT_POSIX1B_SIGNALS__ - -#include <sys/types.h> -#include <sys/time.h> - -#define NSIG		32 - -#ifdef __mips__ -#define _NSIG		128 -#else -#define _NSIG		64 -#endif - -#define SIGHUP		 1 -#define SIGINT		 2 -#define SIGQUIT		 3 -#define SIGILL		 4 -#define SIGTRAP		 5 -#define SIGABRT		 6 -#define SIGIOT		 6 -#define SIGFPE		 8 -#define SIGKILL		 9 -#define SIGSEGV		11 -#define SIGPIPE		13 -#define SIGALRM		14 -#define SIGTERM		15 -#define SIGUNUSED	31 -#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__arm__) \ -	|| defined(__s390__) || defined(__ia64__) -#define SIGBUS		 7 -#define SIGUSR1		10 -#define SIGUSR2		12 -#define SIGSTKFLT	16 -#define SIGCHLD		17 -#define SIGCONT		18 -#define SIGSTOP		19 -#define SIGTSTP		20 -#define SIGTTIN		21 -#define SIGTTOU		22 -#define SIGURG		23 -#define SIGXCPU		24 -#define SIGXFSZ		25 -#define SIGVTALRM	26 -#define SIGPROF		27 -#define SIGWINCH	28 -#define SIGIO		29 -#define SIGPWR		30 -#define SIGSYS		31 -#elif defined(__alpha__) || defined(__sparc__) -#define SIGEMT		 7 -#define SIGBUS		10 -#define SIGSYS		12 -#define SIGURG		16 -#define SIGSTOP		17 -#define SIGTSTP		18 -#define SIGCONT		19 -#define SIGCHLD		20 -#define SIGTTIN		21 -#define SIGTTOU		22 -#define SIGIO		23 -#define SIGXCPU		24 -#define SIGXFSZ		25 -#define SIGVTALRM	26 -#define SIGPROF		27 -#define SIGWINCH	28 -#define SIGPWR		29 -#define SIGUSR1		30 -#define SIGUSR2		31 -#if defined(__alpha__) -#define SIGINFO		SIGPWR -#endif -#elif defined(__mips__) -#define SIGEMT		 7 -#define SIGBUS		10 -#define SIGSYS		12 -#define SIGUSR1		16 -#define SIGUSR2		17 -#define SIGCHLD		18 -#define SIGPWR		19 -#define SIGWINCH	20 -#define SIGURG		21 -#define SIGIO		22 -#define SIGSTOP		23 -#define SIGTSTP		24 -#define SIGCONT		25 -#define SIGTTIN		26 -#define SIGTTOU		27 -#define SIGVTALRM	28 -#define SIGPROF		29 -#define SIGXCPU		30 -#define SIGXFSZ		31 -#elif defined(__hppa__) -#define SIGEMT		 7 -#define SIGBUS		10 -#define SIGSYS		12 -#define SIGUSR1		16 -#define SIGUSR2		17 -#define SIGCHLD		18 -#define SIGPWR		19 -#define SIGVTALRM	20 -#define SIGPROF		21 -#define SIGIO		22 -#define SIGWINCH	23 -#define SIGSTOP		24 -#define SIGTSTP		25 -#define SIGCONT		26 -#define SIGTTIN		27 -#define SIGTTOU		28 -#define SIGURG		29 -#define SIGLOST		30 -#define SIGUNUSED	31 -#define SIGRESERVE	SIGUNUSE -#define SIGXCPU		33 -#define SIGXFSZ		34 -#define SIGSTKFLT	36 - -#else -#error signal layout not yet known -#endif - -#define SIGCLD		SIGCHLD -#define SIGLOST		SIGPWR -#define SIGPOLL		SIGIO - -/* These should not be considered constants from userland.  */ -#ifdef __hppa__ -#define SIGRTMIN	37 -#else -#define SIGRTMIN	32 -#endif -#define SIGRTMAX	(_NSIG-1) - -/* SA_FLAGS values: */ -#if defined(__alpha__) -#define SA_ONSTACK	0x00000001 -#define SA_RESTART	0x00000002 -#define SA_NOCLDSTOP	0x00000004 -#define SA_NODEFER	0x00000008 -#define SA_RESETHAND	0x00000010 -#define SA_NOCLDWAIT	0x00000020 /* not supported yet */ -#define SA_SIGINFO	0x00000040 -#define SA_INTERRUPT	0x20000000 /* dummy -- ignored */ -#elif defined(__hppa__) -#define SA_ONSTACK	0x00000001 -#define SA_RESETHAND	0x00000004 -#define SA_NOCLDSTOP	0x00000008 -#define SA_SIGINFO	0x00000010 -#define SA_NODEFER	0x00000020 -#define SA_RESTART	0x00000040 -#define SA_NOCLDWAIT	0x00000080 /* not supported yet */ -#define _SA_SIGGFAULT	0x00000100 /* HPUX */ -#define SA_INTERRUPT	0x20000000 /* dummy -- ignored */ -#define SA_RESTORER	0x04000000 /* obsolete -- ignored */ -#elif defined (__sparc__) -#define SV_SSTACK	1	/* This signal handler should use sig-stack */ -#define SV_INTR		2	/* Sig return should not restart system call */ -#define SV_RESET	4	/* Set handler to SIG_DFL upon taken signal */ -#define SV_IGNCHILD	8	/* Do not send SIGCHLD */ - -#define SA_NOCLDSTOP	SV_IGNCHILD -#define SA_STACK	SV_SSTACK -#define SA_ONSTACK	SV_SSTACK -#define SA_RESTART	SV_INTR -#define SA_RESETHAND	SV_RESET -#define SA_INTERRUPT	0x10 -#define SA_NODEFER	0x20 -#define SA_SHIRQ	0x40 -#define SA_NOCLDWAIT	0x100	/* not supported yet */ -#define SA_SIGINFO	0x200 -#else -#if defined (__mips__) -#define SA_NOCLDSTOP	0x00000001 -#define SA_SIGINFO	0x00000008 -#define SA_NOCLDWAIT	0x00010000 /* Not supported yet */ -#else -#define SA_NOCLDSTOP	0x00000001 -#define SA_NOCLDWAIT	0x00000002 /* not supported yet */ -#define SA_SIGINFO	0x00000004 -#endif -#if defined(__arm__) -#define SA_THIRTYTWO	0x02000000 -#endif -#define SA_RESTORER	0x04000000 -#define SA_ONSTACK	0x08000000 -#define SA_RESTART	0x10000000 -#define SA_INTERRUPT	0x20000000 /* dummy -- ignored */ -#define SA_NODEFER	0x40000000 -#define SA_RESETHAND	0x80000000 -#endif - -/* ugh, historic Linux legacy, for gpm :-( */ -#define SA_NOMASK	SA_NODEFER -#define SA_ONESHOT	SA_RESETHAND - -/* sigaltstack controls */ -#define SS_ONSTACK	1 -#define SS_DISABLE	2 - -#define MINSIGSTKSZ	2048 -#define SIGSTKSZ	8192 - -#if defined(__alpha__) || defined(__mips__) -#define SIG_BLOCK	1	/* for blocking signals */ -#define SIG_UNBLOCK	2	/* for unblocking signals */ -#define SIG_SETMASK	3	/* for setting the signal mask */ -#else -#define SIG_BLOCK	0	/* for blocking signals */ -#define SIG_UNBLOCK	1	/* for unblocking signals */ -#define SIG_SETMASK	2	/* for setting the signal mask */ -#endif - -typedef int sig_atomic_t; - -typedef void (*sighandler_t)(int); - -#ifdef _BSD_SOURCE -typedef sighandler_t sig_t; -#endif - -#define SIG_DFL ((sighandler_t)0)	/* default signal handling */ -#define SIG_IGN ((sighandler_t)1)	/* ignore signal */ -#define SIG_ERR ((sighandler_t)-1)	/* error return from signal */ - -typedef union sigval { -  int sival_int; -  void *sival_ptr; -} sigval_t; - -#define SI_MAX_SIZE	128 -#define SI_PAD_SIZE	((SI_MAX_SIZE/sizeof(int)) - 3) - -typedef struct siginfo { -  int si_signo; -  int si_errno; -  int si_code; -  union { -    int _pad[SI_PAD_SIZE]; -    /* kill() */ -    struct { -      pid_t _pid;		/* sender's pid */ -      uid_t _uid;		/* sender's uid */ -    } _kill; -    /* POSIX.1b timers */ -    struct { -      unsigned int _timer1; -      unsigned int _timer2; -    } _timer; -    /* POSIX.1b signals */ -    struct { -      pid_t _pid;		/* sender's pid */ -      uid_t _uid;		/* sender's uid */ -      sigval_t _sigval; -    } _rt; -    /* SIGCHLD */ -    struct { -      pid_t _pid;		/* which child */ -      uid_t _uid;		/* sender's uid */ -      int _status;		/* exit code */ -      clock_t _utime; -      clock_t _stime; -    } _sigchld; -    /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ -    struct { -      void *_addr; /* faulting insn/memory ref. */ -    } _sigfault; -    /* SIGPOLL */ -    struct { -      int _band;	/* POLL_IN, POLL_OUT, POLL_MSG */ -      int _fd; -    } _sigpoll; -  } _sifields; -} siginfo_t; - -/* - * How these fields are to be accessed. - */ -#define si_pid		_sifields._kill._pid -#define si_uid		_sifields._kill._uid -#define si_status	_sifields._sigchld._status -#define si_utime	_sifields._sigchld._utime -#define si_stime	_sifields._sigchld._stime -#define si_value	_sifields._rt._sigval -#define si_int		_sifields._rt._sigval.sival_int -#define si_ptr		_sifields._rt._sigval.sival_ptr -#define si_addr		_sifields._sigfault._addr -#define si_band		_sifields._sigpoll._band -#define si_fd		_sifields._sigpoll._fd - -/* Values for `si_code'.  Positive values are reserved for kernel-generated -   signals.  */ -enum { -  SI_ASYNCNL = -6,		/* Sent by asynch name lookup completion.  */ -# define SI_ASYNCNL	SI_ASYNCNL -  SI_SIGIO,			/* Sent by queued SIGIO. */ -# define SI_SIGIO	SI_SIGIO -  SI_ASYNCIO,			/* Sent by AIO completion.  */ -# define SI_ASYNCIO	SI_ASYNCIO -  SI_MESGQ,			/* Sent by real time mesq state change.  */ -# define SI_MESGQ	SI_MESGQ -  SI_TIMER,			/* Sent by timer expiration.  */ -# define SI_TIMER	SI_TIMER -  SI_QUEUE,			/* Sent by sigqueue.  */ -# define SI_QUEUE	SI_QUEUE -  SI_USER,			/* Sent by kill, sigsend, raise.  */ -# define SI_USER	SI_USER -  SI_KERNEL = 0x80		/* Send by kernel.  */ -#define SI_KERNEL	SI_KERNEL -}; - - -/* `si_code' values for SIGILL signal.  */ -enum { -  ILL_ILLOPC = 1,		/* Illegal opcode.  */ -# define ILL_ILLOPC	ILL_ILLOPC -  ILL_ILLOPN,			/* Illegal operand.  */ -# define ILL_ILLOPN	ILL_ILLOPN -  ILL_ILLADR,			/* Illegal addressing mode.  */ -# define ILL_ILLADR	ILL_ILLADR -  ILL_ILLTRP,			/* Illegal trap. */ -# define ILL_ILLTRP	ILL_ILLTRP -  ILL_PRVOPC,			/* Privileged opcode.  */ -# define ILL_PRVOPC	ILL_PRVOPC -  ILL_PRVREG,			/* Privileged register.  */ -# define ILL_PRVREG	ILL_PRVREG -  ILL_COPROC,			/* Coprocessor error.  */ -# define ILL_COPROC	ILL_COPROC -  ILL_BADSTK			/* Internal stack error.  */ -# define ILL_BADSTK	ILL_BADSTK -}; - -/* `si_code' values for SIGFPE signal.  */ -enum { -  FPE_INTDIV = 1,		/* Integer divide by zero.  */ -# define FPE_INTDIV	FPE_INTDIV -  FPE_INTOVF,			/* Integer overflow.  */ -# define FPE_INTOVF	FPE_INTOVF -  FPE_FLTDIV,			/* Floating point divide by zero.  */ -# define FPE_FLTDIV	FPE_FLTDIV -  FPE_FLTOVF,			/* Floating point overflow.  */ -# define FPE_FLTOVF	FPE_FLTOVF -  FPE_FLTUND,			/* Floating point underflow.  */ -# define FPE_FLTUND	FPE_FLTUND -  FPE_FLTRES,			/* Floating point inexact result.  */ -# define FPE_FLTRES	FPE_FLTRES -  FPE_FLTINV,			/* Floating point invalid operation.  */ -# define FPE_FLTINV	FPE_FLTINV -  FPE_FLTSUB			/* Subscript out of range.  */ -# define FPE_FLTSUB	FPE_FLTSUB -}; - -/* `si_code' values for SIGSEGV signal.  */ -enum { -  SEGV_MAPERR = 1,		/* Address not mapped to object.  */ -# define SEGV_MAPERR	SEGV_MAPERR -  SEGV_ACCERR			/* Invalid permissions for mapped object.  */ -# define SEGV_ACCERR	SEGV_ACCERR -}; - -/* `si_code' values for SIGBUS signal.  */ -enum { -  BUS_ADRALN = 1,		/* Invalid address alignment.  */ -# define BUS_ADRALN	BUS_ADRALN -  BUS_ADRERR,			/* Non-existant physical address.  */ -# define BUS_ADRERR	BUS_ADRERR -  BUS_OBJERR			/* Object specific hardware error.  */ -# define BUS_OBJERR	BUS_OBJERR -}; - -/* `si_code' values for SIGTRAP signal.  */ -enum { -  TRAP_BRKPT = 1,		/* Process breakpoint.  */ -# define TRAP_BRKPT	TRAP_BRKPT -  TRAP_TRACE			/* Process trace trap.  */ -# define TRAP_TRACE	TRAP_TRACE -}; - -/* `si_code' values for SIGCHLD signal.  */ -enum { -  CLD_EXITED = 1,		/* Child has exited.  */ -# define CLD_EXITED	CLD_EXITED -  CLD_KILLED,			/* Child was killed.  */ -# define CLD_KILLED	CLD_KILLED -  CLD_DUMPED,			/* Child terminated abnormally.  */ -# define CLD_DUMPED	CLD_DUMPED -  CLD_TRAPPED,			/* Traced child has trapped.  */ -# define CLD_TRAPPED	CLD_TRAPPED -  CLD_STOPPED,			/* Child has stopped.  */ -# define CLD_STOPPED	CLD_STOPPED -  CLD_CONTINUED			/* Stopped child has continued.  */ -# define CLD_CONTINUED	CLD_CONTINUED -}; - -/* `si_code' values for SIGPOLL signal.  */ -enum { -  POLL_IN = 1,			/* Data input available.  */ -# define POLL_IN	POLL_IN -  POLL_OUT,			/* Output buffers available.  */ -# define POLL_OUT	POLL_OUT -  POLL_MSG,			/* Input message available.   */ -# define POLL_MSG	POLL_MSG -  POLL_ERR,			/* I/O error.  */ -# define POLL_ERR	POLL_ERR -  POLL_PRI,			/* High priority input available.  */ -# define POLL_PRI	POLL_PRI -  POLL_HUP			/* Device disconnected.  */ -# define POLL_HUP	POLL_HUP -}; - -#define _NSIG_WORDS	((_NSIG/sizeof(long))>>3) - -typedef struct { -  unsigned long sig[_NSIG_WORDS]; -} sigset_t; - -struct sigaction { -#if defined(__alpha__) -  union { -    sighandler_t _sa_handler; -    void (*_sa_sigaction)(int, siginfo_t*, void*); -  } _u; -  sigset_t sa_mask; -  unsigned long sa_flags; -#elif defined(__ia64__) || defined(__hppa__) -  union { -    sighandler_t _sa_handler; -    void (*_sa_sigaction)(int, siginfo_t*, void*); -  } _u; -  unsigned long sa_flags; -  sigset_t sa_mask; -#elif defined(__mips__) -  unsigned long sa_flags; -  union { -    sighandler_t _sa_handler; -    void (*_sa_sigaction)(int, siginfo_t*, void*); -  } _u; -  sigset_t sa_mask; -  void (*sa_restorer)(void); -  int sa_resv[1]; -#else	/* arm, i386, ppc, s390, sparc, saprc64, x86_64 */ -  union { -    sighandler_t _sa_handler; -    void (*_sa_sigaction)(int, siginfo_t*, void*); -  } _u; -  unsigned long sa_flags; -  void (*sa_restorer)(void); -  sigset_t sa_mask; -#endif -}; - -#define sa_handler	_u._sa_handler -#define sa_sigaction	_u._sa_sigaction - -typedef struct sigaltstack { -#if defined(__mips__) -  void *ss_sp; -  size_t ss_size; -  int ss_flags; -#else -  void *ss_sp; -  int ss_flags; -  size_t ss_size; -#endif -} stack_t; - -int sigaltstack(const struct sigaltstack *newstack, struct sigaltstack *oldstack) __THROW; - -int sigemptyset(sigset_t *set) __THROW; -int sigfillset(sigset_t *set) __THROW; -int sigaddset(sigset_t *set, int signum) __THROW; -int sigdelset(sigset_t *set, int signum) __THROW; -int sigismember(const sigset_t *set, int signo) __THROW; -int sigsuspend(const sigset_t *mask) __THROW; -int sigpending(sigset_t *set) __THROW; -int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) __THROW; - - -sighandler_t signal(int signum, sighandler_t action); - -int raise (int sig) __THROW; -int kill(pid_t pid, int sig) __THROW; - -int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) __THROW; - -int sigtimedwait(const sigset_t *mask, siginfo_t *info, const struct timespec *ts) __THROW; -int sigqueueinfo(int pid, int sig, siginfo_t *info) __THROW; -int siginterrupt(int sig, int flag) __THROW; - -int killpg(int pgrp, int sig) __THROW; - -/* 0 is OK ! kernel puts in MAX_THREAD_TIMEOUT :) */ -#define sigwaitinfo(m, i) sigtimedwait((m),(i),0) - -extern const char *const sys_siglist[]; - -#endif diff --git a/mdk-stage1/dietlibc/include/stdarg-cruft.h b/mdk-stage1/dietlibc/include/stdarg-cruft.h deleted file mode 100644 index fbd9e0ca4..000000000 --- a/mdk-stage1/dietlibc/include/stdarg-cruft.h +++ /dev/null @@ -1,299 +0,0 @@ -#if defined(__sparc__) || defined(__alpha__) || defined(__mips__) -enum { -  __no_type_class = -1, -  __void_type_class, -  __integer_type_class, -  __char_type_class, -  __enumeral_type_class, -  __boolean_type_class, -  __pointer_type_class, -  __reference_type_class, -  __offset_type_class, -  __real_type_class, -  __complex_type_class, -  __function_type_class, -  __method_type_class, -  __record_type_class, -  __union_type_class, -  __array_type_class, -  __string_type_class, -  __set_type_class, -  __file_type_class, -  __lang_type_class -}; -#endif - -#if defined(__sparc__) - -typedef char* va_list; -#define va_end(ap) ap=0 - -#define va_start(AP, LASTARG) \ -  (__builtin_next_arg (LASTARG), AP = (char *) __builtin_saveregs ()) - -#define __va_rounded_size(TYPE)  \ -  (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) - -/* We don't declare the union member `d' to have type TYPE -   because that would lose in C++ if TYPE has a constructor.  */ -/* We cast to void * and then to TYPE * because this avoids -   a warning about increasing the alignment requirement. -   The casts to char * avoid warnings about invalid pointer arithmetic.  */ -#define va_arg(pvar,TYPE)					\ -__extension__							\ -(*({((__builtin_classify_type (*(TYPE*) 0) >= __record_type_class \ -      || (__builtin_classify_type (*(TYPE*) 0) == __real_type_class \ -	  && sizeof (TYPE) == 16))				\ -    ? ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE *),	\ -       *(TYPE **) (void *) ((char *)(pvar) - __va_rounded_size (TYPE *))) \ -    : __va_rounded_size (TYPE) == 8				\ -    ? ({ union {char __d[sizeof (TYPE)]; int __i[2];} __u;	\ -	 __u.__i[0] = ((int *) (void *) (pvar))[0];		\ -	 __u.__i[1] = ((int *) (void *) (pvar))[1];		\ -	 (pvar) = (char *)(pvar) + 8;				\ -	 (TYPE *) (void *) __u.__d; })				\ -    : ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE),	\ -       ((TYPE *) (void *) ((char *)(pvar) - __va_rounded_size (TYPE)))));})) - - -#elif defined(__mips__) - -typedef char * va_list; - -#ifdef __mips64 -#define __va_rounded_size(__TYPE)  \ -  (((sizeof (__TYPE) + 8 - 1) / 8) * 8) -#else -#define __va_rounded_size(__TYPE)  \ -  (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) -#endif -#ifdef __mips64 -#define __va_reg_size 8 -#else -#define __va_reg_size 4 -#endif - -#define va_start(__AP, __LASTARG) \ -  (__AP = (va_list) __builtin_next_arg (__LASTARG)) - -#ifdef __mips64 -#ifdef __MIPSEB__ -#define va_arg(__AP, __type)                                    \ -  ((__type *) (void *) (__AP = (char *)                         \ -                       ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \ -                           + __va_rounded_size (__type))))[-1] -#else -#define va_arg(__AP, __type)                                    \ -  ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8)    \ -                     + __va_rounded_size (__type))),            \ -   *(__type *) (void *) (__AP - __va_rounded_size (__type))) -#endif - -#else /* not __mips64 */ - -#ifdef __MIPSEB__ -/* For big-endian machines.  */ -#define va_arg(__AP, __type)                                    \ -  ((__AP = (char *) ((__alignof__ (__type) > 4                  \ -                      ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8   \ -                      : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4)  \ -                     + __va_rounded_size (__type))),            \ -   *(__type *) (void *) (__AP - __va_rounded_size (__type))) -#else -/* For little-endian machines.  */ -#define va_arg(__AP, __type)                                                \ -  ((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4           \ -                                ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8     \ -                                : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4)    \ -                                         + __va_rounded_size(__type))))[-1] -#endif -#endif - -#elif defined(__powerpc__) - -typedef struct __va_list_tag { -  unsigned char gpr;		/* index into the array of 8 GPRs stored in the -				   register save area gpr=0 corresponds to r3, -				   gpr=1 to r4, etc. */ -  unsigned char fpr;		/* index into the array of 8 FPRs stored in the -				   register save area fpr=0 corresponds to f1, -				   fpr=1 to f2, etc. */ -  char *overflow_arg_area;	/* location on stack that holds the next -				   overflow argument */ -  char *reg_save_area;		/* where r3:r10 and f1:f8, if saved are stored */ -} va_list[1]; - -#define __va_overflow(AP) (AP)->overflow_arg_area -#ifdef __OPTIMIZE__ -extern void __va_arg_type_violation(void) __attribute__((__noreturn__)); -#else -#define __va_arg_type_violation() -#endif - -typedef struct { -  long   __gp_save[8];		/* save area for GP registers */ -  double __fp_save[8];		/* save area for FP registers */ -} __va_regsave_t; - -/* Macros to access the register save area */ -/* We cast to void * and then to TYPE * because this avoids -   a warning about increasing the alignment requirement.  */ -#define __VA_FP_REGSAVE(AP,OFS,TYPE)					\ -  ((TYPE *) (void *) (&(((__va_regsave_t *)				\ -			 (AP)->reg_save_area)->__fp_save[OFS]))) - -#define __VA_GP_REGSAVE(AP,OFS,TYPE)					\ -  ((TYPE *) (void *) (&(((__va_regsave_t *)				\ -			 (AP)->reg_save_area)->__gp_save[OFS]))) - -#define __va_start_common(AP, FAKE) \ -  __builtin_memcpy ((AP), __builtin_saveregs (), sizeof(va_list)) - -#define va_start(AP,LASTARG) \ -  (__builtin_next_arg (LASTARG), __va_start_common (AP, 0)) - -#ifdef _SOFT_FLOAT -#define __va_float_p(TYPE)	0 -#else -#define __va_float_p(TYPE)	(__builtin_classify_type(*(TYPE *)0) == 8) -#endif - -#define __va_aggregate_p(TYPE)	(__builtin_classify_type(*(TYPE *)0) >= 12) -#define __va_size(TYPE)		((sizeof(TYPE) + sizeof (long) - 1) / sizeof (long)) - -#define va_arg(AP,TYPE)							   \ -__extension__ (*({							   \ -  register TYPE *__ptr;							   \ -									   \ -  if (__va_float_p (TYPE) && sizeof (TYPE) < 16)			   \ -    {									   \ -      unsigned char __fpr = (AP)->fpr;					   \ -      if (__fpr < 8)							   \ -	{								   \ -	  __ptr = __VA_FP_REGSAVE (AP, __fpr, TYPE);			   \ -	  (AP)->fpr = __fpr + 1;					   \ -	}								   \ -      else if (sizeof (TYPE) == 8)					   \ -	{								   \ -	  unsigned long __addr = (unsigned long) (__va_overflow (AP));	   \ -	  __ptr = (TYPE *)((__addr + 7) & -8);				   \ -	  __va_overflow (AP) = (char *)(__ptr + 1);			   \ -	}								   \ -      else								   \ -	{								   \ -	  /* float is promoted to double.  */				   \ -	  __va_arg_type_violation ();					   \ -	}								   \ -    }									   \ -									   \ -  /* Aggregates and long doubles are passed by reference.  */		   \ -  else if (__va_aggregate_p (TYPE) || __va_float_p (TYPE))		   \ -    {									   \ -      unsigned char __gpr = (AP)->gpr;					   \ -      if (__gpr < 8)							   \ -	{								   \ -	  __ptr = * __VA_GP_REGSAVE (AP, __gpr, TYPE *);		   \ -	  (AP)->gpr = __gpr + 1;					   \ -	}								   \ -      else								   \ -	{								   \ -	  TYPE **__pptr = (TYPE **) (__va_overflow (AP));		   \ -	  __ptr = * __pptr;						   \ -	  __va_overflow (AP) = (char *) (__pptr + 1);			   \ -	}								   \ -    }									   \ -									   \ -  /* Only integrals remaining.  */					   \ -  else									   \ -    {									   \ -      /* longlong is aligned.  */					   \ -      if (sizeof (TYPE) == 8)						   \ -	{								   \ -	  unsigned char __gpr = (AP)->gpr;				   \ -	  if (__gpr < 7)						   \ -	    {								   \ -	      __gpr += __gpr & 1;					   \ -	      __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE);		   \ -	      (AP)->gpr = __gpr + 2;					   \ -	    }								   \ -	  else								   \ -	    {								   \ -	      unsigned long __addr = (unsigned long) (__va_overflow (AP)); \ -	      __ptr = (TYPE *)((__addr + 7) & -8);			   \ -	      (AP)->gpr = 8;						   \ -	      __va_overflow (AP) = (char *)(__ptr + 1);			   \ -	    }								   \ -	}								   \ -      else if (sizeof (TYPE) == 4)					   \ -	{								   \ -	  unsigned char __gpr = (AP)->gpr;				   \ -	  if (__gpr < 8)						   \ -	    {								   \ -	      __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE);		   \ -	      (AP)->gpr = __gpr + 1;					   \ -	    }								   \ -	  else								   \ -	    {								   \ -	      __ptr = (TYPE *) __va_overflow (AP);			   \ -	      __va_overflow (AP) = (char *)(__ptr + 1);			   \ -	    }								   \ -	}								   \ -      else								   \ -	{								   \ -	  /* Everything else was promoted to int.  */			   \ -	  __va_arg_type_violation ();					   \ -	}								   \ -    }									   \ -  __ptr;								   \ -})) - -#define va_end(AP)	((void)0) - -/* Copy va_list into another variable of this type.  */ -#define __va_copy(dest, src) *(dest) = *(src) - -#elif defined(__alpha__) - -typedef struct { -  char *__base;			/* Pointer to first integer register. */ -  int __offset;			/* Byte offset of args so far. */ -} va_list; - -#define va_start(pvar, firstarg)				\ -  (__builtin_next_arg (firstarg),				\ -   (pvar) = *(va_list *) __builtin_saveregs ()) -#define va_end(__va)	((void) 0) - -#define __va_tsize(__type)  \ -  (((sizeof (__type) + __extension__ sizeof (long long) - 1)   \ -    / __extension__ sizeof (long long)) * __extension__ sizeof (long long)) - -#define va_arg(__va, __type)						\ -(*(((__va).__offset += __va_tsize (__type)),				\ -   (__type *)(void *)((__va).__base + (__va).__offset			\ -	      - (((__builtin_classify_type (* (__type *) 0)		\ -		   == __real_type_class) && (__va).__offset <= (6 * 8))	\ -		 ? (6 * 8) + 8 : __va_tsize (__type))))) - -#else	/* !__sparc__ && !__powerpc__ && !__mips__ && !__alpha__*/ - -typedef char* va_list; - -/* this only works when everything is passed on the stack (i.e. x86) */ -#if __WORDSIZE == 64 -#define va_start(ap,argn) ap=((char*)&argn)+8 -#else -#define va_start(ap,argn) ap=((char*)&argn)+4 -#endif -#define va_arg(ap,type) (ap+=sizeof(type), *(type*)((void*)ap-sizeof(type))) - -#endif - -#ifndef __va_copy -#define __va_copy(x,y) x=y -#endif - -#ifndef va_end -#define va_end(ap) ((void)0) -#endif - diff --git a/mdk-stage1/dietlibc/include/stdarg.h b/mdk-stage1/dietlibc/include/stdarg.h deleted file mode 100644 index 3a21bdb56..000000000 --- a/mdk-stage1/dietlibc/include/stdarg.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef _STDARG_H -#define _STDARG_H - -#include <endian.h> - -#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96)) - -typedef __builtin_va_list va_list; -#define va_start(v,l)	__builtin_stdarg_start((v),l) -#define va_end		__builtin_va_end -#define va_arg		__builtin_va_arg -#define __va_copy(d,s)	__builtin_va_copy((d),(s)) - -#endif - -#ifndef va_end -#include <stdarg-cruft.h> -#endif - -#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L -#define va_copy(d,s)	__va_copy(d,s) -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/stddef.h b/mdk-stage1/dietlibc/include/stddef.h deleted file mode 100644 index cdf54ec1e..000000000 --- a/mdk-stage1/dietlibc/include/stddef.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _STDDEF_H -#define _STDDEF_H - -/* ugh.  This is normally provided by gcc. */ - -#ifdef __GNUC__ -typedef __PTRDIFF_TYPE__ ptrdiff_t; -typedef __SIZE_TYPE__ size_t; -typedef __WCHAR_TYPE__ wchar_t; -#else -typedef signed long ptrdiff_t; -typedef unsigned long size_t; -typedef int wchar_t; -#endif - -#ifndef NULL -#define NULL (void*)0 -#endif - -#undef offsetof -#define offsetof(type,member) ((size_t) &((type*)0)->member) - -#endif diff --git a/mdk-stage1/dietlibc/include/stdint.h b/mdk-stage1/dietlibc/include/stdint.h deleted file mode 100644 index bbc7ddf0c..000000000 --- a/mdk-stage1/dietlibc/include/stdint.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _STDINT_H -#define _STDINT_H - -#include <inttypes.h> - -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; - -#ifndef __STRICT_ANSI__ -typedef int64_t int_least64_t; -typedef uint64_t uint_least64_t; -#endif - -typedef signed char int_fast8_t; -typedef signed long int int_fast16_t; -typedef signed long int int_fast32_t; -typedef signed long long int int_fast64_t; - -typedef unsigned char uint_fast8_t; -typedef unsigned long int uint_fast16_t; -typedef unsigned long int uint_fast32_t; -typedef unsigned long long int uint_fast64_t; - -#include <endian.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/stdio.h b/mdk-stage1/dietlibc/include/stdio.h deleted file mode 100644 index 04783c3b8..000000000 --- a/mdk-stage1/dietlibc/include/stdio.h +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef _STDIO_H -#define _STDIO_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/stat.h> - -typedef struct __stdio_file FILE; - -FILE *fopen (const char *path, const char *mode) __THROW; -FILE *fdopen (int fildes, const char *mode) __THROW; -FILE *freopen (const char *path, const char *mode, FILE *stream) __THROW; - -int printf(const char *format, ...) __THROW __attribute__((format(printf,1,2))); -int fprintf(FILE *stream, const char *format, ...) __THROW __attribute__((format(printf,2,3))); -int sprintf(char *str, const char *format, ...) __THROW __attribute__((format(printf,2,3))); -int snprintf(char *str, size_t size, const char *format, ...) __THROW __attribute__((format(printf,3,4))); -int asprintf(char **ptr, const char* format, ...) __THROW __attribute_malloc__ __attribute__((format(printf,2,3))); - -int scanf(const char *format, ...) __THROW __attribute__((format(scanf,1,2))); -int fscanf(FILE *stream, const char *format, ...) __THROW __attribute__((format(scanf,2,3))); -int sscanf(const char *str, const char *format, ...) __THROW __attribute__((format(scanf,2,3))); - -#include <stdarg.h> - -int vprintf(const char *format, va_list ap) __THROW __attribute__((format(printf,1,0))); -int vfprintf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0))); -int vsprintf(char *str, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0))); -int vsnprintf(char *str, size_t size, const char *format, va_list ap) __THROW __attribute__((format(printf,3,0))); - -int fdprintf(int fd, const char *format, ...) __THROW __attribute__((format(printf,2,3))); -int vfdprintf(int fd, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0))); - -int vscanf(const char *format, va_list ap) __THROW __attribute__((format(scanf,1,0))); -int vsscanf(const char *str, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0))); -int vfscanf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0))); - -int fgetc(FILE *stream) __THROW; -int fgetc_unlocked(FILE *stream) __THROW; -char *fgets(char *s, int size, FILE *stream) __THROW; -int getc(FILE *stream) __THROW; -int getchar(void) __THROW; -char *gets(char *s) __THROW; -int ungetc(int c, FILE *stream) __THROW; - -int fputc(int c, FILE *stream) __THROW; -int fputc_unlocked(int c, FILE *stream) __THROW; -int fputs(const char *s, FILE *stream) __THROW; - -int putchar(int c) __THROW; - -#define putc(c,stream) fputc(c,stream) -#define putchar(c) fputc(c,stdout) - -#define getchar() fgetc(stdin) -#define getc(stream) fgetc(stream) -#define getc_unlocked(stream) fgetc_unlocked(stream) - -int puts(const char *s) __THROW; - -int fseek(FILE *stream, long offset, int whence) __THROW; -long ftell(FILE *stream) __THROW; -int fseeko(FILE *stream, off_t offset, int whence) __THROW; -off_t ftello(FILE *stream) __THROW; - -#ifndef __NO_STAT64 -int fseeko64(FILE *stream, loff_t offset, int whence) __THROW; -loff_t ftello64(FILE *stream) __THROW; - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -#define off_t loff_t -#define fseeko(foo,bar,baz) fseeko64(foo,bar,baz) -#define ftello(foo) ftello64(foo) -#endif - -#endif - -void rewind(FILE *stream) __THROW; -int fgetpos(FILE *stream, fpos_t *pos) __THROW; -int fsetpos(FILE *stream, fpos_t *pos) __THROW; - -size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW; - -size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW; - -int fflush(FILE *stream) __THROW; - -int fclose(FILE *stream) __THROW; - -int feof (FILE *stream) __THROW; -int ferror(FILE *stream) __THROW; -int fileno(FILE *stream) __THROW; -void clearerr(FILE *stream) __THROW; - -int remove(const char *pathname) __THROW; - -void perror(const char *s) __THROW; - -extern FILE *stdin, *stdout, *stderr; - -#define EOF (-1) - -#define BUFSIZ 128 - -#define _IONBF 0 -#define _IOLBF 1 -#define _IOFBF 2 - -int setvbuf(FILE *stream, char *buf, int mode , size_t size) __THROW; - -#define setbuf(stream,buf) setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ) -#define setbuffer(stream,buf,size) setvbuf(stream,buf,buf?_IOFBF:_IONBF,size) -#define setlinebuf(stream) setvbuf(stream,0,_IOLBF,BUFSIZ) - -FILE *popen(const char *command, const char *type) __THROW; -int pclose(FILE *stream) __THROW; - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#define L_tmpnam 128 -#define P_tmpdir "/tmp" -char* tmpnam(char *s) __THROW;	/* DO NOT USE!!! Use mkstemp instead! */ -char* tempnam(char* dir,char* _template);	/* dito */ -FILE* tmpfile(void) __THROW; - -#define FILENAME_MAX 4095 -#define FOPEN_MAX 16 - -#ifdef _POSIX_SOURCE -#define L_ctermid 9 -#define L_cuserid 9 -#endif - -void flockfile(FILE* f) __THROW; -void funlockfile(FILE* f) __THROW; - -#ifdef _GNU_SOURCE -ssize_t getline(char **lineptr, size_t *n, FILE *stream); -ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream); -#define getline(lineptr,n,stream) getdelim(lineptr,n,'\n',stream) -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h deleted file mode 100644 index 5824a6ffa..000000000 --- a/mdk-stage1/dietlibc/include/stdlib.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef _STDLIB_H -#define _STDLIB_H - -#ifndef __ASSEMBLER__ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <alloca.h> - -void *calloc(size_t nmemb, size_t size) __attribute_malloc__ __THROW; -void *malloc(size_t size) __attribute_malloc__ __THROW; -void free(void *ptr) __THROW; -void *realloc(void *ptr, size_t size) __attribute_malloc__ __THROW; - -char *getenv(const char *name) __THROW __pure__; -int putenv(const char *string) __THROW; -int setenv(const char *name, const char *value, int overwrite) __THROW; -void unsetenv(const char *name) __THROW; - -int system (const char * string) __THROW; -int atexit(void (*function)(void)) __THROW; - -float strtof(const char *nptr, char **endptr) __THROW; -double strtod(const char *nptr, char **endptr) __THROW; -long double strtold(const char *nptr, char **endptr) __THROW; -long int strtol(const char *nptr, char **endptr, int base) __THROW; -unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW; - -extern int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) __THROW; -extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) __THROW; - -#ifndef __STRICT_ANSI__ -__extension__ long long int strtoll(const char *nptr, char **endptr, int base) __THROW; -__extension__ unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW; -__extension__ int __lltostr(char *s, unsigned int size, unsigned long long i, unsigned int base, int UpCase) __THROW; -#endif - -int atoi(const char *nptr) __THROW; -long int atol(const char *nptr) __THROW; -double atof(const char *nptr) __THROW; - -void exit(int status) __THROW __attribute__((noreturn)); -void abort(void) __THROW; - -extern int rand(void) __THROW; -extern int rand_r(unsigned int *seed) __THROW; -extern void srand(unsigned int seed) __THROW; -#ifdef _BSD_SOURCE -extern int random(void) __THROW; -extern void srandom(unsigned int seed) __THROW; -#endif - -typedef unsigned short randbuf[3]; -double drand48(void) __THROW; -long lrand48(void) __THROW; -long mrand48(void) __THROW; -void srand48(long seed) __THROW; -unsigned short *seed48(randbuf buf) __THROW; -void lcong48(unsigned short param[7]) __THROW; -long jrand48(randbuf buf) __THROW; -long nrand48(randbuf buf) __THROW; -double erand48(randbuf buf) __THROW; - -void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW; -void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW; - -extern char **environ; - -/* now this function is the greatest bullshit I have ever seen. - * The ISO people must be out of their minds. */ -typedef struct { int quot,rem; } div_t; -div_t div(int numer, int denom) __THROW __attribute__((const)); - -char *realpath(const char *path, char *resolved_path) __THROW; - -int mkstemp(char *_template); -char* mkdtemp(char *_template); - -char* mktemp(char *_template); - -int abs(int i) __THROW __attribute__((const)); -long int labs(long int i) __THROW __attribute__((const)); -__extension__ long long int llabs(long long int i) __THROW __attribute__((const)); - -#ifdef _XOPEN_SOURCE -int grantpt (int fd) __THROW; -int unlockpt (int fd) __THROW; -char *ptsname (int fd) __THROW; -#endif - -#endif - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -#define RAND_MAX 	((1<<31) -2) - -#define MB_CUR_MAX 1 - -#endif diff --git a/mdk-stage1/dietlibc/include/string.h b/mdk-stage1/dietlibc/include/string.h deleted file mode 100644 index 1c3df8621..000000000 --- a/mdk-stage1/dietlibc/include/string.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef _STRING_H -#define _STRING_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -char *strcpy(char *dest, const char *src) __THROW; - -void *memccpy(void *dest, const void *src, int c, size_t n) __THROW; -void *memmove(void *dest, const void *src, size_t n) __THROW; - -int memccmp(const void *s1, const void *s2, int c, size_t n) __THROW __pure__; - -void* memset(void *s, int c, size_t n) __THROW; -int memcmp(const void *s1, const void *s2, size_t n) __THROW __pure__; -void* memcpy(void *dest, const void *src, size_t n) __THROW; - -char *strncpy(char *dest, const char *src, size_t n) __THROW; -int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__; -char *strncat(char *dest, const char *src, size_t n) __THROW; - -int strcmp(const char *s1, const char *s2) __THROW __pure__; - -size_t strlen(const char *s) __THROW __pure__; - -char *strstr(const char *haystack, const char *needle) __THROW __pure__; - -char *strdup(const char *s) __attribute_malloc__ __THROW; - -char *strchr(const char *s, int c) __THROW __pure__; -char *strrchr(const char *s, int c) __THROW __pure__; - -char *strcat(char *dest, const char *src) __THROW; - -size_t strspn(const char *s, const char *_accept) __THROW; -size_t strcspn(const char *s, const char *reject) __THROW; - -char *strpbrk(const char *s, const char *_accept) __THROW; -char *strsep(char **stringp, const char *delim) __THROW; - -void* memchr(const void *s, int c, size_t n) __THROW __pure__; -#ifdef _GNU_SOURCE -void* memrchr(const void *s, int c, size_t n) __THROW __pure__; -#endif - -/* I would like to make this const, but Paul Jarc points out it has to - * be char* :-( */ -char *strerror(int errnum) __THROW; -/* work around b0rken GNU crapware like tar 1.13.19 */ -#define strerror strerror - -#ifdef _GNU_SOURCE -const char *strsignal(int signum) __THROW; -void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen) __THROW; - -char *strndup(const char *s,size_t n) __attribute_malloc__ __THROW; -#endif - -char *strtok(char *s, const char *delim) __THROW; -char *strtok_r(char *s, const char *delim, char **ptrptr) __THROW; - -size_t strlcpy(char *dst, const char *src, size_t size) __THROW; -size_t strlcat(char *dst, const char *src, size_t size) __THROW; - -int strcoll(const char *s1, const char *s2) __THROW; -size_t strxfrm(char *dest, const char *src, size_t n) __THROW; - -#ifdef _BSD_SOURCE -#include <strings.h> -#endif - -char *stpcpy(char *dest, const char *src); - -#endif diff --git a/mdk-stage1/dietlibc/include/strings.h b/mdk-stage1/dietlibc/include/strings.h deleted file mode 100644 index fd2616465..000000000 --- a/mdk-stage1/dietlibc/include/strings.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _STRINGS_H -#define _STRINGS_H - -#include <stddef.h> -#include <sys/cdefs.h> - -int strcasecmp(const char *s1, const char *s2) __THROW __pure__; -int strncasecmp(const char *s1, const char *s2, size_t n) __THROW __pure__; -int ffs(int i) __THROW __attribute__((__const__)); - -int    bcmp(const void *, const void *, size_t) __THROW __pure__; -void   bcopy(const void *, void *, size_t) __THROW; -void   bzero(void *, size_t) __THROW; -char  *index(const char *, int) __THROW __pure__; -char  *rindex(const char *, int) __THROW __pure__; - -#define bzero(s,n) memset(s,0,n) -#define bcopy(src,dest,n) memmove(dest,src,n) -#define bcmp(a,b,n) memcmp(a,b,n) -#define index(a,b) strchr(a,b) -#define rindex(a,b) strrchr(a,b) - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h b/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h deleted file mode 100644 index f1bde3bbb..000000000 --- a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h +++ /dev/null @@ -1,168 +0,0 @@ -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	13 -#define _IOC_DIRBITS	3 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit. - * And this turns out useful to catch old ioctl numbers in header - * files for us. - */ -#define _IOC_NONE	1U -#define _IOC_READ	2U -#define _IOC_WRITE	4U - -#define _IOC(dir,type,nr,size)			\ -	((unsigned int)				\ -	 (((dir)  << _IOC_DIRSHIFT) |		\ -	  ((type) << _IOC_TYPESHIFT) |		\ -	  ((nr)   << _IOC_NRSHIFT) |		\ -	  ((size) << _IOC_SIZESHIFT))) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode them.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -#define FIOCLEX		_IO('f', 1) -#define FIONCLEX	_IO('f', 2) -#define FIOASYNC	_IOW('f', 125, int) -#define FIONBIO		_IOW('f', 126, int) -#define FIONREAD	_IOR('f', 127, int) -#define TIOCINQ		FIONREAD -#define FIOQSIZE	_IOR('f', 128, loff_t) - -#define TIOCGETP	_IOR('t', 8, struct sgttyb) -#define TIOCSETP	_IOW('t', 9, struct sgttyb) -#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */ - -#define TIOCSETC	_IOW('t', 17, struct tchars) -#define TIOCGETC	_IOR('t', 18, struct tchars) -#define TCGETS		_IOR('t', 19, struct termios) -#define TCSETS		_IOW('t', 20, struct termios) -#define TCSETSW		_IOW('t', 21, struct termios) -#define TCSETSF		_IOW('t', 22, struct termios) - -#define TCGETA		_IOR('t', 23, struct termio) -#define TCSETA		_IOW('t', 24, struct termio) -#define TCSETAW		_IOW('t', 25, struct termio) -#define TCSETAF		_IOW('t', 28, struct termio) - -#define TCSBRK		_IO('t', 29) -#define TCXONC		_IO('t', 30) -#define TCFLSH		_IO('t', 31) - -#define TIOCSWINSZ	_IOW('t', 103, struct winsize) -#define TIOCGWINSZ	_IOR('t', 104, struct winsize) -#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */ -#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */ -#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */ - -#define TIOCGLTC	_IOR('t', 116, struct ltchars) -#define TIOCSLTC	_IOW('t', 117, struct ltchars) -#define TIOCSPGRP	_IOW('t', 118, int) -#define TIOCGPGRP	_IOR('t', 119, int) - -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E - -#define TIOCSTI		0x5412 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -# define TIOCM_LE	0x001 -# define TIOCM_DTR	0x002 -# define TIOCM_RTS	0x004 -# define TIOCM_ST	0x008 -# define TIOCM_SR	0x010 -# define TIOCM_CTS	0x020 -# define TIOCM_CAR	0x040 -# define TIOCM_RNG	0x080 -# define TIOCM_DSR	0x100 -# define TIOCM_CD	TIOCM_CAR -# define TIOCM_RI	TIOCM_RNG -# define TIOCM_OUT1	0x2000 -# define TIOCM_OUT2	0x4000 -# define TIOCM_LOOP	0x8000 - -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -# define TIOCPKT_DATA		 0 -# define TIOCPKT_FLUSHREAD	 1 -# define TIOCPKT_FLUSHWRITE	 2 -# define TIOCPKT_STOP		 4 -# define TIOCPKT_START		 8 -# define TIOCPKT_NOSTOP		16 -# define TIOCPKT_DOSTOP		32 - - -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x5429  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ -# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ -#define TIOCGHAYESESP	0x545E  /* Get Hayes ESP configuration */ -#define TIOCSHAYESESP	0x545F  /* Set Hayes ESP configuration */ - -/* Socket-level I/O control calls. */ - -#define FIOGETOWN	_IOR('f', 123, int) -#define FIOSETOWN 	_IOW('f', 124, int) - -#define SIOCATMARK	_IOR('s', 7, int) -#define SIOCSPGRP	_IOW('s', 8, pid_t) -#define SIOCGPGRP	_IOR('s', 9, pid_t) - -#define SIOCGSTAMP	0x8906		/* Get stamp - linux-specific */ diff --git a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h b/mdk-stage1/dietlibc/include/sys/arm-ioctl.h deleted file mode 100644 index ab8b844a5..000000000 --- a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h +++ /dev/null @@ -1,149 +0,0 @@ - -/* ioctl command encoding: 32 bits total, command in lower 16 bits, - * size of the parameter structure in the lower 14 bits of the - * upper 16 bits. - * Encoding the size of the parameter structure in the ioctl request - * is useful for catching programs compiled with old versions - * and to avoid overwriting user space outside the user buffer area. - * The highest 2 bits are reserved for indicating the ``access mode''. - * NOTE: This limits the max parameter size to 16kB -1 ! - */ - -/* - * The following is for compatibility across the various Linux - * platforms.  The i386 ioctl numbering scheme doesn't really enforce - * a type field.  De facto, however, the top 8 bits of the lower 16 - * bits are indeed used as a type field, so we might just as well make - * this explicit here.  Please be sure to use the decoding macros - * below from now on. - */ -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	14 -#define _IOC_DIRBITS	2 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits. - */ -#define _IOC_NONE	0U -#define _IOC_WRITE	1U -#define _IOC_READ	2U - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS		0x5401 -#define TCSETS		0x5402 -#define TCSETSW		0x5403 -#define TCSETSF		0x5404 -#define TCGETA		0x5405 -#define TCSETA		0x5406 -#define TCSETAW		0x5407 -#define TCSETAF		0x5408 -#define TCSBRK		0x5409 -#define TCXONC		0x540A -#define TCFLSH		0x540B -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E -#define TIOCGPGRP	0x540F -#define TIOCSPGRP	0x5410 -#define TIOCOUTQ	0x5411 -#define TIOCSTI		0x5412 -#define TIOCGWINSZ	0x5413 -#define TIOCSWINSZ	0x5414 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define FIONREAD	0x541B -#define TIOCINQ		FIONREAD -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -#define FIONBIO		0x5421 -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x5429  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define FIONCLEX	0x5450  /* these numbers need to be adjusted. */ -#define FIOCLEX		0x5451 -#define FIOASYNC	0x5452 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ -#define FIOQSIZE	0x545E - -/* Used for packet mode */ -#define TIOCPKT_DATA		 0 -#define TIOCPKT_FLUSHREAD	 1 -#define TIOCPKT_FLUSHWRITE	 2 -#define TIOCPKT_STOP		 4 -#define TIOCPKT_START		 8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -#define TIOCSER_TEMT	0x01	/* Transmitter physically empty */ - -/* Socket-level I/O control calls. */ -#define FIOSETOWN 	0x8901 -#define SIOCSPGRP	0x8902 -#define FIOGETOWN	0x8903 -#define SIOCGPGRP	0x8904 -#define SIOCATMARK	0x8905 -#define SIOCGSTAMP	0x8906		/* Get stamp */ diff --git a/mdk-stage1/dietlibc/include/sys/cdefs.h b/mdk-stage1/dietlibc/include/sys/cdefs.h deleted file mode 100644 index 4ccb0ed2f..000000000 --- a/mdk-stage1/dietlibc/include/sys/cdefs.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _SYS_CDEFS_H -#define _SYS_CDEFS_H - -/* Suppress kernel-name space pollution unless user expressedly asks -   for it.  */ -#ifndef _LOOSE_KERNEL_NAMES -# define __KERNEL_STRICT_NAMES -#endif - -#ifndef __cplusplus -#define __THROW -#define __BEGIN_DECLS -#define __END_DECLS -#else -#define __THROW throw () -#define __BEGIN_DECLS extern "C" { -#define __END_DECLS } -#endif - -#ifndef __GNUC__ -#define __attribute__(xyz) -#define __extension__ -#endif - -#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96)) -#define __pure__ __attribute__ ((__pure__)) -#else -#define __pure__ -#endif - -#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) -#define __restrict__ -#endif - -#ifndef __STRICT_ANSI__ -#if __GNUC__ < 3 -#define __builtin_expect(foo,bar) (foo) -#define expect(foo,bar) (foo) -#else -#define expect(foo,bar) __builtin_expect(foo,bar) -#define __attribute_malloc__ __attribute__((malloc)) -#endif -#endif - -#ifndef __attribute_malloc__ -#define __attribute_malloc__ -#endif - -#define __P(x) x - -#define __ptr_t void* - -#ifdef __STRICT_ANSI__ -#define inline -#endif - -#ifndef __i386__ -#define regparm(x) -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/epoll.h b/mdk-stage1/dietlibc/include/sys/epoll.h deleted file mode 100644 index d65d5465f..000000000 --- a/mdk-stage1/dietlibc/include/sys/epoll.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef _SYS_EPOLL_H -#define _SYS_EPOLL_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/poll.h> - -/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl() */ -#define EPOLL_CTL_ADD 1	/* Add a file decriptor to the interface */ -#define EPOLL_CTL_DEL 2	/* Remove a file decriptor from the interface */ -#define EPOLL_CTL_MOD 3	/* Change file decriptor epoll_event structure */ - -enum EPOLL_EVENTS { -	EPOLLIN = 0x001, -#define EPOLLIN EPOLLIN -	EPOLLPRI = 0x002, -#define EPOLLPRI EPOLLPRI -	EPOLLOUT = 0x004, -#define EPOLLOUT EPOLLOUT - -#ifdef __USE_XOPEN -	EPOLLRDNORM = 0x040, -#define EPOLLRDNORM EPOLLRDNORM -	EPOLLRDBAND = 0x080, -#define EPOLLRDBAND EPOLLRDBAND -	EPOLLWRNORM = 0x100, -#define EPOLLWRNORM EPOLLWRNORM -	EPOLLWRBAND = 0x200, -#define EPOLLWRBAND EPOLLWRBAND -#endif /* #ifdef __USE_XOPEN */ - -#ifdef __USE_GNU -	EPOLLMSG = 0x400, -#define EPOLLMSG EPOLLMSG -#endif /* #ifdef __USE_GNU */ - -	EPOLLERR = 0x008, -#define EPOLLERR EPOLLERR -	EPOLLHUP = 0x010 -#define EPOLLHUP EPOLLHUP -}; - -typedef union epoll_data { -  void *ptr; -  int fd; -  uint32_t u32; -  uint64_t u64; -} epoll_data_t; - -struct epoll_event { -  uint32_t events; -  epoll_data_t data; -}; - -int epoll_create(int size) __THROW; -int epoll_ctl(int epfd, int op, int fd, struct epoll_event* event) __THROW; -int epoll_wait(int epfd, struct epoll_event *events, int maxevents, -	       int timeout) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/file.h b/mdk-stage1/dietlibc/include/sys/file.h deleted file mode 100644 index cf2c74305..000000000 --- a/mdk-stage1/dietlibc/include/sys/file.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _SYS_FILE_H -#define _SYS_FILE_H - -#include <sys/cdefs.h> -#include <fcntl.h> - -extern int fcntl(int fd, int cmd, ...) __THROW; -extern int flock(int fd, int operation) __THROW; - -#endif	/* _SYS_FILE_H */ diff --git a/mdk-stage1/dietlibc/include/sys/fsuid.h b/mdk-stage1/dietlibc/include/sys/fsuid.h deleted file mode 100644 index 538070451..000000000 --- a/mdk-stage1/dietlibc/include/sys/fsuid.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef __FSUID_H -#define __FSUID_H 1 - -#include <sys/types.h> - -/* Linux only: */ -int setfsuid(uid_t uid); -int setfsgid(gid_t gid); -int setfsuid32(uid32_t fsuid) __THROW; -int setfsgid32(gid32_t fsgid) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/gmon.h b/mdk-stage1/dietlibc/include/sys/gmon.h deleted file mode 100644 index 50aae3028..000000000 --- a/mdk-stage1/dietlibc/include/sys/gmon.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef __DLC_GMON_H_ -#define __DLC_GMON_H_ - -# define HISTCOUNTER	unsigned short -# define HISTFRACTION	2 -# define HASHFRACTION	2 -# define ARCDENSITY		2 -# define MINARCS		50 -# define MAXARCS		(( 1 << (8 * sizeof(HISTCOUNTER))) - 2) - -# define ROUNDDOWN(x,y)	(((x)/(y))*y) -# define ROUNDUP(x,y)	((((x)+(y)-1)/(y))*y) - -# define PROF_SECTION __attribute__ ((section (".profile"))) - -struct tostruct { -	unsigned long	selfpc; -	signed long		count; -	unsigned short	link; -	unsigned short	pad; -}; - -struct rawarc { -	unsigned long	raw_frompc; -	unsigned long	raw_selfpc; -	signed long		raw_count; -}; - -struct monparam  { -	unsigned short *kcount; -	unsigned long   kcountsize; -	struct rawarc  *arcs; -	unsigned long	arcnum; -	unsigned long   lowpc; -	unsigned long   highpc; -	unsigned long   textsize; -}; - -struct gmonparam { -	long           state; -	unsigned short *kcount; -	unsigned long  kcountsize; -	unsigned short *froms; -	unsigned long  fromsize; -	struct tostruct *tos; -	unsigned long  tossize; -	long           tolimit; -	unsigned long  lowpc; -	unsigned long  highpc; -	unsigned long  textsize; -	unsigned long  hashfraction; -	unsigned long  log_hashfraction; -}; - -struct gmon_hdr { -	char cookie[4]; -	long version; -	char spare[12]; -}; - -struct gmon_hist_hdr { -	long low_pc; -	long high_pc; -	long hist_size; -	long prof_rate; -	char dimen[15]; -	char dimen_abbrev; -}; - -struct gmon_cg_arc_record { -	long from_pc; -	long self_pc; -	long count; -}; - -struct __bb { -	long	zero_word; -	char	*filename; -	long	*counts; -	long	ncounts; -	struct __bb *next; -	unsigned long *addresses; -}; - -typedef enum { -	GMON_TAG_TIME_HIST, GMON_TAG_CG_ARC, GMON_TAG_BB_COUNT -} GMON_Record_Tag; - -enum { GMON_PROF_ON, GMON_PROF_BUSY, GMON_PROF_ERROR, GMON_PROF_OFF }; -enum { GPROF_STATE, GPROF_COUNT, GPROF_FROMS, GPROF_TOS, GPROF_GMONPARAM }; - -extern struct gmonparam gmparam; -extern struct __bb * __bb_head; - -extern void __monstartup(unsigned long, unsigned long); -extern void monstartup(unsigned long, unsigned long); -extern void _mcleanup(void); - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/gmon_out.h b/mdk-stage1/dietlibc/include/sys/gmon_out.h deleted file mode 100644 index 31566b999..000000000 --- a/mdk-stage1/dietlibc/include/sys/gmon_out.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/gmon.h> diff --git a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h b/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h deleted file mode 100644 index 62b6f1cf9..000000000 --- a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef __ARCH_PARISC_IOCTLS_H__ -#define __ARCH_PARISC_IOCTLS_H__ - -#ifndef _ASM_PARISC_IOCTL_H -#define _ASM_PARISC_IOCTL_H - -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	14 -#define _IOC_DIRBITS	2 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits. - */ -#define _IOC_NONE	0U -#define _IOC_WRITE	2U -#define _IOC_READ	1U - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -#endif /* _ASM_PARISC_IOCTL_H */ -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS		_IOR('T', 16, struct termios) /* TCGETATTR */ -#define TCSETS		_IOW('T', 17, struct termios) /* TCSETATTR */ -#define TCSETSW		_IOW('T', 18, struct termios) /* TCSETATTRD */ -#define TCSETSF		_IOW('T', 19, struct termios) /* TCSETATTRF */ -#define TCGETA		_IOR('T', 1, struct termio) -#define TCSETA		_IOW('T', 2, struct termio) -#define TCSETAW		_IOW('T', 3, struct termio) -#define TCSETAF		_IOW('T', 4, struct termio) -#define TCSBRK		_IO('T', 5) -#define TCXONC		_IO('T', 6) -#define TCFLSH		_IO('T', 7) -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E -#define TIOCGPGRP	_IOR('T', 30, int) -#define TIOCSPGRP	_IOW('T', 29, int) -#define TIOCOUTQ	0x5411 -#define TIOCSTI		0x5412 -#define TIOCGWINSZ	0x5413 -#define TIOCSWINSZ	0x5414 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define FIONREAD	0x541B -#define TIOCINQ		FIONREAD -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -#define FIONBIO		0x5421 -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	_IOR('T', 20, int) /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define FIONCLEX	0x5450  /* these numbers need to be adjusted. */ -#define FIOCLEX		0x5451 -#define FIOASYNC	0x5452 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ -#define TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */ -#define TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */ -#define FIOQSIZE	0x5460	/* Get exact space used by quota */ - -/* Used for packet mode */ -#define TIOCPKT_DATA		 0 -#define TIOCPKT_FLUSHREAD	 1 -#define TIOCPKT_FLUSHWRITE	 2 -#define TIOCPKT_STOP		 4 -#define TIOCPKT_START		 8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */ - -#endif /* _ASM_PARISC_IOCTLS_H */ diff --git a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h b/mdk-stage1/dietlibc/include/sys/i386-ioctl.h deleted file mode 100644 index c9aa270d6..000000000 --- a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h +++ /dev/null @@ -1,141 +0,0 @@ - -/* - * The following is for compatibility across the various Linux - * platforms.  The i386 ioctl numbering scheme doesn't really enforce - * a type field.  De facto, however, the top 8 bits of the lower 16 - * bits are indeed used as a type field, so we might just as well make - * this explicit here.  Please be sure to use the decoding macros - * below from now on. - */ -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	14 -#define _IOC_DIRBITS	2 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits. - */ -#define _IOC_NONE	0U -#define _IOC_WRITE	1U -#define _IOC_READ	2U - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS		0x5401 -#define TCSETS		0x5402 -#define TCSETSW		0x5403 -#define TCSETSF		0x5404 -#define TCGETA		0x5405 -#define TCSETA		0x5406 -#define TCSETAW		0x5407 -#define TCSETAF		0x5408 -#define TCSBRK		0x5409 -#define TCXONC		0x540A -#define TCFLSH		0x540B -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E -#define TIOCGPGRP	0x540F -#define TIOCSPGRP	0x5410 -#define TIOCOUTQ	0x5411 -#define TIOCSTI		0x5412 -#define TIOCGWINSZ	0x5413 -#define TIOCSWINSZ	0x5414 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define FIONREAD	0x541B -#define TIOCINQ		FIONREAD -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -#define FIONBIO		0x5421 -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x5429  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define FIONCLEX	0x5450  /* these numbers need to be adjusted. */ -#define FIOCLEX		0x5451 -#define FIOASYNC	0x5452 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ -#define TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */ -#define TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */ -#define FIOQSIZE	0x5460 - -/* Used for packet mode */ -#define TIOCPKT_DATA		 0 -#define TIOCPKT_FLUSHREAD	 1 -#define TIOCPKT_FLUSHWRITE	 2 -#define TIOCPKT_STOP		 4 -#define TIOCPKT_START		 8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */ - -/* Socket-level I/O control calls. */ -#define FIOSETOWN 	0x8901 -#define SIOCSPGRP	0x8902 -#define FIOGETOWN	0x8903 -#define SIOCGPGRP	0x8904 -#define SIOCATMARK	0x8905 -#define SIOCGSTAMP	0x8906		/* Get stamp */ diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h deleted file mode 100644 index 5edf33a57..000000000 --- a/mdk-stage1/dietlibc/include/sys/io.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _SYS_IO_H -#define _SYS_IO_H - -#include <sys/cdefs.h> - -extern int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW; -extern int iopl(int level) __THROW; - -#ifndef __STRICT_ANSI__ -/* anyone have a cleaner solution for this mess? */ -#ifdef __i386__ -static inline unsigned char inb (unsigned short int port) { -  unsigned char _v; -  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port)); -  return _v; -} - -static inline unsigned short inw (unsigned short int port) { -  unsigned short _v; -  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port)); -  return _v; -} - -static inline unsigned int inl (unsigned short int port) { -  unsigned int _v; -  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port)); -  return _v; -} - -static inline void outb (unsigned char value, unsigned short int port) { -  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port)); -} - -static inline void outw (unsigned short value, unsigned short int port) { -  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port)); -} - -static inline void outl (unsigned int value, unsigned short int port) { -  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port)); -} -#endif -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/ioctl.h b/mdk-stage1/dietlibc/include/sys/ioctl.h deleted file mode 100644 index a7890f038..000000000 --- a/mdk-stage1/dietlibc/include/sys/ioctl.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _IOCTL_H -#define _IOCTL_H - -#include <sys/cdefs.h> - -#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__) -#include <sys/i386-ioctl.h> -#elif defined(__alpha__) -#include <sys/alpha-ioctl.h> -#elif defined(__arm__) -#include <sys/arm-ioctl.h> -#elif defined(__sparc__) -#include <sys/sparc-ioctl.h> -#elif defined(__mips__) -#include <sys/mips-ioctl.h> -#elif defined(__powerpc__) -#include <sys/ppc-ioctl.h> -#elif defined(__s390__) -#include <sys/s390-ioctl.h> -#elif defined(__hppa__) -#include <sys/hppa-ioctl.h> -#endif - -/* used for /dev/epoll */ -#define EP_ALLOC	_IOR('P', 1, int) -#define EP_POLL		_IOWR('P', 2, struct evpoll) -#define EP_FREE		_IO('P', 3) -#define EP_ISPOLLED	_IOWR('P', 4, struct pollfd) - -int ioctl(int d, int request, ...) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/ipc.h b/mdk-stage1/dietlibc/include/sys/ipc.h deleted file mode 100644 index 481d97b62..000000000 --- a/mdk-stage1/dietlibc/include/sys/ipc.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _SYS_IPC_H -#define _SYS_IPC_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -#define SEMOP		 1 -#define SEMGET		 2 -#define SEMCTL		 3 -#define MSGSND		11 -#define MSGRCV		12 -#define MSGGET		13 -#define MSGCTL		14 -#define SHMAT		21 -#define SHMDT		22 -#define SHMGET		23 -#define SHMCTL		24 - -#define IPC_PRIVATE ((key_t) 0) - -#define IPC_CREAT  00001000   /* create if key is nonexistent */ -#define IPC_EXCL   00002000   /* fail if key exists */ -#define IPC_NOWAIT 00004000   /* return error on wait */ - -#define IPC_RMID 0     /* remove resource */ -#define IPC_SET  1     /* set ipc_perm options */ -#define IPC_STAT 2     /* get ipc_perm options */ -#define IPC_INFO 3     /* see ipcs */ - -/* - * Version flags for semctl, msgctl, and shmctl commands - * These are passed as bitflags or-ed with the actual command - */ -#define IPC_OLD 0	/* Old version (no 32-bit UID support on many -			   architectures) */ -#define IPC_64  0x0100  /* New version (support 32-bit UIDs, bigger -			   message sizes, etc. */ - -struct ipc_perm { -  key_t	key; -  uid_t	uid; -  gid_t	gid; -  uid_t	cuid; -  gid_t	cgid; -  mode_t	mode;  -  unsigned short	seq; -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/kd.h b/mdk-stage1/dietlibc/include/sys/kd.h deleted file mode 100644 index 98b337ede..000000000 --- a/mdk-stage1/dietlibc/include/sys/kd.h +++ /dev/null @@ -1,183 +0,0 @@ -#ifndef _SYS_KD_H -#define _SYS_KD_H - -/* 0x4B is 'K', to avoid collision with termios and vt */ - -#define GIO_FONT	0x4B60	/* gets font in expanded form */ -#define PIO_FONT	0x4B61	/* use font in expanded form */ - -#define GIO_FONTX	0x4B6B	/* get font using struct consolefontdesc */ -#define PIO_FONTX	0x4B6C	/* set font using struct consolefontdesc */ - -struct consolefontdesc { -  unsigned short charcount;	/* characters in font (256 or 512) */ -  unsigned short charheight;	/* scan lines per character (1-32) */ -  char *chardata;			/* font data in expanded form */ -}; - -#define PIO_FONTRESET   0x4B6D	/* reset to default font */ - -#define GIO_CMAP	0x4B70	/* gets colour palette on VGA+ */ -#define PIO_CMAP	0x4B71	/* sets colour palette on VGA+ */ - -#define KIOCSOUND	0x4B2F	/* start sound generation (0 for off) */ -#define KDMKTONE	0x4B30	/* generate tone */ - -#define KDGETLED	0x4B31	/* return current led state */ -#define KDSETLED	0x4B32	/* set led state [lights, not flags] */ -#define LED_SCR		0x01	/* scroll lock led */ -#define LED_CAP		0x04	/* caps lock led */ -#define LED_NUM		0x02	/* num lock led */ - -#define KDGKBTYPE	0x4B33	/* get keyboard type */ -#define KB_84		0x01 -#define KB_101		0x02 	/* this is what we always answer */ -#define KB_OTHER	0x03 - -#define KDADDIO		0x4B34	/* add i/o port as valid */ -#define KDDELIO		0x4B35	/* del i/o port as valid */ -#define KDENABIO	0x4B36	/* enable i/o to video board */ -#define KDDISABIO	0x4B37	/* disable i/o to video board */ - -#define KDSETMODE	0x4B3A	/* set text/graphics mode */ -#define KD_TEXT		0x00 -#define KD_GRAPHICS	0x01 -#define KD_TEXT0	0x02	/* obsolete */ -#define KD_TEXT1	0x03	/* obsolete */ -#define KDGETMODE	0x4B3B	/* get current mode */ - -#define KDMAPDISP	0x4B3C	/* map display into address space */ -#define KDUNMAPDISP	0x4B3D	/* unmap display from address space */ - -typedef char scrnmap_t; - -#define E_TABSZ		256 -#define GIO_SCRNMAP	0x4B40	/* get screen mapping from kernel */ -#define PIO_SCRNMAP	0x4B41	/* put screen mapping table in kernel */ -#define GIO_UNISCRNMAP  0x4B69	/* get full Unicode screen mapping */ -#define PIO_UNISCRNMAP  0x4B6A  /* set full Unicode screen mapping */ - -#define GIO_UNIMAP	0x4B66	/* get unicode-to-font mapping from kernel */ - -struct unipair { -  unsigned short unicode; -  unsigned short fontpos; -}; - -struct unimapdesc { -  unsigned short entry_ct; -  struct unipair *entries; -}; - -#define PIO_UNIMAP	0x4B67	/* put unicode-to-font mapping in kernel */ -#define PIO_UNIMAPCLR	0x4B68	/* clear table, possibly advise hash algorithm */ - -struct unimapinit { -  unsigned short advised_hashsize;  /* 0 if no opinion */ -  unsigned short advised_hashstep;  /* 0 if no opinion */ -  unsigned short advised_hashlevel; /* 0 if no opinion */ -}; - -#define UNI_DIRECT_BASE 0xF000	/* start of Direct Font Region */ -#define UNI_DIRECT_MASK 0x01FF	/* Direct Font Region bitmask */ - -#define K_RAW		0x00 -#define K_XLATE		0x01 -#define K_MEDIUMRAW	0x02 -#define K_UNICODE	0x03 -#define KDGKBMODE	0x4B44	/* gets current keyboard mode */ -#define KDSKBMODE	0x4B45	/* sets current keyboard mode */ - -#define K_METABIT	0x03 -#define K_ESCPREFIX	0x04 -#define KDGKBMETA	0x4B62	/* gets meta key handling mode */ -#define KDSKBMETA	0x4B63	/* sets meta key handling mode */ - -#define K_SCROLLLOCK	0x01 -#define K_CAPSLOCK	0x02 -#define K_NUMLOCK	0x04 -#define KDGKBLED	0x4B64	/* get led flags (not lights) */ -#define KDSKBLED	0x4B65	/* set led flags (not lights) */ - -struct kbentry { -  unsigned char kb_table; -  unsigned char kb_index; -  unsigned short kb_value; -}; - -#define K_NORMTAB	0x00 -#define K_SHIFTTAB	0x01 -#define K_ALTTAB	0x02 -#define K_ALTSHIFTTAB	0x03 - -#define KDGKBENT	0x4B46	/* gets one entry in translation table */ -#define KDSKBENT	0x4B47	/* sets one entry in translation table */ - -struct kbsentry { -  unsigned char kb_func; -  unsigned char kb_string[512]; -}; - -#define KDGKBSENT	0x4B48	/* gets one function key string entry */ -#define KDSKBSENT	0x4B49	/* sets one function key string entry */ - -struct kbdiacr { -  unsigned char diacr, base, result; -}; - -struct kbdiacrs { -  unsigned int kb_cnt;    /* number of entries in following array */ -  struct kbdiacr kbdiacr[256];    /* MAX_DIACR from keyboard.h */ -}; - -#define KDGKBDIACR      0x4B4A  /* read kernel accent table */ -#define KDSKBDIACR      0x4B4B  /* write kernel accent table */ - -struct kbkeycode { -  unsigned int scancode, keycode; -}; - -#define KDGETKEYCODE	0x4B4C	/* read kernel keycode table entry */ -#define KDSETKEYCODE	0x4B4D	/* write kernel keycode table entry */ - -#define KDSIGACCEPT	0x4B4E	/* accept kbd generated signals */ - -struct hwclk_time { -  unsigned int sec;	/* 0..59 */ -  unsigned int min;	/* 0..59 */ -  unsigned int hour;	/* 0..23 */ -  unsigned int day;	/* 1..31 */ -  unsigned int mon;	/* 0..11 */ -  unsigned int year;	/* 70... */ -  int wday;		/* 0..6, 0 is Sunday, -1 means unknown/don't set */ -}; - -#define KDGHWCLK        0x4B50	/* get hardware clock */ -#define KDSHWCLK        0x4B51  /* set hardware clock */ - -struct kbd_repeat { -  int delay;	/* in msec; <= 0: don't change */ -  int rate;	/* in msec; <= 0: don't change */ -}; - -#define KDKBDREP        0x4B52  /* set keyboard delay/repeat rate; -				 * actually used values are returned */ - -#define KDFONTOP	0x4B72	/* font operations */ - -struct console_font_op { -  unsigned int op;	/* operation code KD_FONT_OP_* */ -  unsigned int flags;	/* KD_FONT_FLAG_* */ -  unsigned int width, height;	/* font size */ -  unsigned int charcount; -  unsigned char *data;	/* font data with height fixed to 32 */ -}; - -#define KD_FONT_OP_SET		0	/* Set font */ -#define KD_FONT_OP_GET		1	/* Get font */ -#define KD_FONT_OP_SET_DEFAULT	2	/* Set font to default, data points to name / NULL */ -#define KD_FONT_OP_COPY		3	/* Copy from another console */ - -#define KD_FONT_FLAG_DONT_RECALC 	1	/* Don't recalculate hw charcell size [compat] */ - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/klog.h b/mdk-stage1/dietlibc/include/sys/klog.h deleted file mode 100644 index abacfef9c..000000000 --- a/mdk-stage1/dietlibc/include/sys/klog.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef	_SYS_KLOG_H -#define	_SYS_KLOG_H - -#include <sys/cdefs.h> - -extern int klogctl (int __type, char *__bufp, int __len) __THROW; - -#endif  diff --git a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h b/mdk-stage1/dietlibc/include/sys/mips-ioctl.h deleted file mode 100644 index 889ac83ae..000000000 --- a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h +++ /dev/null @@ -1,177 +0,0 @@ -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	13 -#define _IOC_DIRBITS	3 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * We to additionally limit parameters to a maximum 255 bytes. - */ -#define _IOC_SLMASK	0xff - -/* - * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit. - * And this turns out useful to catch old ioctl numbers in header - * files for us. - */ -#define _IOC_NONE	1U -#define _IOC_READ	2U -#define _IOC_WRITE	4U - -/* - * The following are included for compatibility - */ -#define _IOC_VOID	0x20000000 -#define _IOC_OUT	0x40000000 -#define _IOC_IN		0x80000000 -#define _IOC_INOUT	(IOC_IN|IOC_OUT) - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 (((size) & _IOC_SLMASK) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode them.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -#if defined(__USE_MISC) || defined (__KERNEL__) -#define tIOC		('t' << 8) -#endif - -#define TCGETA		0x5401 -#define TCSETA		0x5402 -#define TCSETAW		0x5403 -#define TCSETAF		0x5404 - -#define TCSBRK		0x5405 -#define TCXONC		0x5406 -#define TCFLSH		0x5407 - -#define TCGETS		0x540d -#define TCSETS		0x540e -#define TCSETSW		0x540f -#define TCSETSF		0x5410 - -#define TIOCEXCL	0x740d		/* set exclusive use of tty */ -#define TIOCNXCL	0x740e		/* reset exclusive use of tty */ -#define TIOCOUTQ	0x7472		/* output queue size */ -#define TIOCSTI		0x5472		/* simulate terminal input */ -#define TIOCMGET	0x741d		/* get all modem bits */ -#define TIOCMBIS	0x741b		/* bis modem bits */ -#define TIOCMBIC	0x741c		/* bic modem bits */ -#define TIOCMSET	0x741a		/* set all modem bits */ -#define TIOCPKT		0x5470		/* pty: set/clear packet mode */ -#define		TIOCPKT_DATA		0x00	/* data packet */ -#define		TIOCPKT_FLUSHREAD	0x01	/* flush packet */ -#define		TIOCPKT_FLUSHWRITE	0x02	/* flush packet */ -#define		TIOCPKT_STOP		0x04	/* stop output */ -#define		TIOCPKT_START		0x08	/* start output */ -#define		TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */ -#define		TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */ -#if 0 -#define		TIOCPKT_IOCTL		0x40	/* state change of pty driver */ -#endif -#define TIOCSWINSZ	_IOW('t', 103, struct winsize)	/* set window size */ -#define TIOCGWINSZ	_IOR('t', 104, struct winsize)	/* get window size */ -#define TIOCNOTTY	0x5471		/* void tty association */ -#define TIOCSETD	(tIOC | 1) -#define TIOCGETD	(tIOC | 0) - -#define FIOCLEX		0x6601 -#define FIONCLEX	0x6602		/* these numbers need to be adjusted. */ -#define FIOASYNC	0x667d -#define FIONBIO		0x667e -#define FIOQSIZE	0x667f - -#if defined(__USE_MISC) || defined (__KERNEL__) -#define TIOCGLTC	(tIOC | 116)		/* get special local chars */ -#define TIOCSLTC	(tIOC | 117)		/* set special local chars */ -#endif -#define TIOCSPGRP	_IOW('t', 118, int)	/* set pgrp of tty */ -#define TIOCGPGRP	_IOR('t', 119, int)	/* get pgrp of tty */ -#define TIOCCONS	_IOW('t', 120, int)	/* become virtual console */ - -#define FIONREAD	0x467f -#define TIOCINQ		FIONREAD - -#if defined(__USE_MISC) || defined (__KERNEL__) -#define TIOCGETP        (tIOC | 8) -#define TIOCSETP        (tIOC | 9) -#define TIOCSETN        (tIOC | 10)		/* TIOCSETP wo flush */ -#endif -  -#if 0 -#define	TIOCSETA	_IOW('t', 20, struct termios) /* set termios struct */ -#define	TIOCSETAW	_IOW('t', 21, struct termios) /* drain output, set */ -#define	TIOCSETAF	_IOW('t', 22, struct termios) /* drn out, fls in, set */ -#define	TIOCGETD	_IOR('t', 26, int)	/* get line discipline */ -#define	TIOCSETD	_IOW('t', 27, int)	/* set line discipline */ -						/* 127-124 compat */ -#endif - -/* I hope the range from 0x5480 on is free ... */ -#define TIOCSCTTY	0x5480		/* become controlling tty */ -#define TIOCGSOFTCAR	0x5481 -#define TIOCSSOFTCAR	0x5482 -#define TIOCLINUX	0x5483 -#define TIOCGSERIAL	0x5484 -#define TIOCSSERIAL	0x5485 - -#define TCSBRKP		0x5486	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5487  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x7416  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define TIOCSERCONFIG	0x5488 -#define TIOCSERGWILD	0x5489 -#define TIOCSERSWILD	0x548a -#define TIOCGLCKTRMIOS	0x548b -#define TIOCSLCKTRMIOS	0x548c -#define TIOCSERGSTRUCT	0x548d /* For debugging only */ -#define TIOCSERGETLSR   0x548e /* Get line status register */ -#define TIOCSERGETMULTI 0x548f /* Get multiport config  */ -#define TIOCSERSETMULTI 0x5490 /* Set multiport config */ -#define TIOCMIWAIT      0x5491 /* wait for a change on serial input line(s) */ -#define TIOCGICOUNT     0x5492 /* read serial port inline interrupt counts */ -#define TIOCGHAYESESP	0x5493 /* Get Hayes ESP configuration */ -#define TIOCSHAYESESP	0x5494 /* Set Hayes ESP configuration */ - -/* Socket-level I/O control calls. */ -#define FIOGETOWN	_IOR('f', 123, int) -#define FIOSETOWN 	_IOW('f', 124, int) - -#define SIOCATMARK	_IOR('s', 7, int) -#define SIOCSPGRP	_IOW('s', 8, pid_t) -#define SIOCGPGRP	_IOR('s', 9, pid_t) - -#define SIOCGSTAMP	0x8906			/* Get stamp - linux-specific */ diff --git a/mdk-stage1/dietlibc/include/sys/mman.h b/mdk-stage1/dietlibc/include/sys/mman.h deleted file mode 100644 index 298773a92..000000000 --- a/mdk-stage1/dietlibc/include/sys/mman.h +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef _SYS_MMAN_H -#define _SYS_MMAN_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -#define MREMAP_MAYMOVE	1UL -#define MREMAP_FIXED	2UL - -#define PROT_READ	0x1		/* page can be read */ -#define PROT_WRITE	0x2		/* page can be written */ -#define PROT_EXEC	0x4		/* page can be executed */ -#define PROT_NONE	0x0		/* page can not be accessed */ - -#define MAP_SHARED	0x01		/* Share changes */ -#define MAP_PRIVATE	0x02		/* Changes are private */ - -#ifdef __mips__ -#define MAP_FIXED	0x010		/* Interpret addr exactly */ -#define MAP_NORESERVE	0x0400		/* don't check for reservations */ -#define MAP_ANONYMOUS	0x0800		/* don't use a file */ -#define MAP_GROWSDOWN	0x1000		/* stack-like segment */ -#define MAP_DENYWRITE	0x2000		/* ETXTBSY */ -#define MAP_EXECUTABLE	0x4000		/* mark it as an executable */ -#define MAP_LOCKED	0x8000		/* pages are locked */ -#define MS_ASYNC	0x0001		/* sync memory asynchronously */ -#define MS_INVALIDATE	0x0002		/* invalidate mappings & caches */ -#define MS_SYNC		0x0004		/* synchronous memory sync */ -#define MCL_CURRENT	1		/* lock all current mappings */ -#define MCL_FUTURE	2		/* lock all future mappings */ -#define MADV_NORMAL	0x0		/* default page-in behavior */ -#define MADV_RANDOM	0x1		/* page-in minimum required */ -#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */ -#define MADV_WILLNEED	0x3		/* pre-fault pages */ -#define MADV_DONTNEED	0x4		/* discard these pages */ -#else - -#ifdef __alpha__ -#define MAP_FIXED	0x100		/* Interpret addr exactly */ -#define MAP_ANONYMOUS	0x10		/* don't use a file */ -#define MAP_GROWSDOWN	0x1000		/* stack-like segment */ -#define MAP_DENYWRITE	0x2000		/* ETXTBSY */ -#define MAP_EXECUTABLE	0x4000		/* mark it as an executable */ -#define MAP_LOCKED	0x8000		/* lock the mapping */ -#define MAP_NORESERVE	0x10000		/* don't check for reservations */ -#define MS_ASYNC	1		/* sync memory asynchronously */ -#define MS_SYNC		2		/* synchronous memory sync */ -#define MS_INVALIDATE	4		/* invalidate the caches */ -#define MCL_CURRENT	 8192		/* lock all currently mapped pages */ -#define MCL_FUTURE	16384		/* lock all additions to address space */ -#define MADV_NORMAL	0		/* no further special treatment */ -#define MADV_RANDOM	1		/* expect random page references */ -#define MADV_SEQUENTIAL	2		/* expect sequential page references */ -#define MADV_WILLNEED	3		/* will need these pages */ -#define MADV_SPACEAVAIL	5		/* ensure resources are available */ -#define MADV_DONTNEED	6		/* dont need these pages */ -#else -#define MAP_FIXED	0x10		/* Interpret addr exactly */ -#define MAP_ANONYMOUS	0x20		/* don't use a file */ -#endif - -#if defined(__i386__) || defined(__s390__) || defined(__x86_64__) -#define MAP_GROWSDOWN	0x0100		/* stack-like segment */ -#define MAP_DENYWRITE	0x0800		/* ETXTBSY */ -#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */ -#define MAP_LOCKED	0x2000		/* pages are locked */ -#define MAP_NORESERVE	0x4000		/* don't check for reservations */ -#define MS_ASYNC	1		/* sync memory asynchronously */ -#define MS_INVALIDATE	2		/* invalidate the caches */ -#define MS_SYNC		4		/* synchronous memory sync */ -#define MCL_CURRENT	1		/* lock all current mappings */ -#define MCL_FUTURE	2		/* lock all future mappings */ -#define MADV_NORMAL	0x0		/* default page-in behavior */ -#define MADV_RANDOM	0x1		/* page-in minimum required */ -#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */ -#define MADV_WILLNEED	0x3		/* pre-fault pages */ -#define MADV_DONTNEED	0x4		/* discard these pages */ -#elif defined(__sparc__) || defined (__powerpc__) -#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */ -#define MAP_NORESERVE   0x40            /* don't reserve swap pages */ -#define MAP_INHERIT     0x80            /* SunOS doesn't do this, but... */ -#define MAP_LOCKED      0x100           /* lock the mapping */ -#define _MAP_NEW        0x80000000      /* Binary compatibility is fun... */ -#define MAP_GROWSDOWN	0x0100		/* stack-like segment */ -#define MAP_DENYWRITE	0x0800		/* ETXTBSY */ -#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */ -#define MS_ASYNC	1		/* sync memory asynchronously */ -#define MS_INVALIDATE	2		/* invalidate the caches */ -#define MS_SYNC		4		/* synchronous memory sync */ -#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */ -#define MCL_FUTURE      0x4000          /* lock all additions to address space */ -#define MADV_NORMAL	0x0		/* default page-in behavior */ -#define MADV_RANDOM	0x1		/* page-in minimum required */ -#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */ -#define MADV_WILLNEED	0x3		/* pre-fault pages */ -#define MADV_DONTNEED	0x4		/* discard these pages */ -#define MADV_FREE	0x5		/* (Solaris) contents can be freed */ -#elif defined (__arm__) -#define MAP_GROWSDOWN	0x0100		/* stack-like segment */ -#define MAP_DENYWRITE	0x0800		/* ETXTBSY */ -#define MAP_EXECUTABLE	0x1000		/* mark it as an executable */ -#define MAP_LOCKED	0x2000		/* pages are locked */ -#define MAP_NORESERVE	0x4000		/* don't check for reservations */ -#define MS_ASYNC	1		/* sync memory asynchronously */ -#define MS_INVALIDATE	2		/* invalidate the caches */ -#define MS_SYNC		4		/* synchronous memory sync */ -#define MCL_CURRENT	1		/* lock all current mappings */ -#define MCL_FUTURE	2		/* lock all future mappings */ -#define MADV_NORMAL	0x0		/* default page-in behavior */ -#define MADV_RANDOM	0x1		/* page-in minimum required */ -#define MADV_SEQUENTIAL	0x2		/* read-ahead aggressively */ -#define MADV_WILLNEED	0x3		/* pre-fault pages */ -#define MADV_DONTNEED	0x4		/* discard these pages */ - -#elif defined(__hppa__) -#define MAP_TYPE    0x03        /* Mask for type of mapping */ -#define MAP_FIXED   0x04        /* Interpret addr exactly */ -#define MAP_ANONYMOUS   0x10        /* don't use a file */ - -#define MAP_DENYWRITE   0x0800      /* ETXTBSY */ -#define MAP_EXECUTABLE  0x1000      /* mark it as an executable */ -#define MAP_LOCKED  0x2000      /* pages are locked */ -#define MAP_NORESERVE   0x4000      /* don't check for reservations */ -#define MAP_GROWSDOWN   0x8000      /* stack-like segment */ - -#define MS_SYNC     1       /* synchronous memory sync */ -#define MS_ASYNC    2       /* sync memory asynchronously */ -#define MS_INVALIDATE   4       /* invalidate the caches */ - -#define MCL_CURRENT 1       /* lock all current mappings */ -#define MCL_FUTURE  2 - -#elif defined(__ia64__) - -#define MAP_TYPE    0x0f        /* Mask for type of mapping */ -#define MAP_FIXED   0x10        /* Interpret addr exactly */ -#define MAP_ANONYMOUS   0x20        /* don't use a file */ - -#define MAP_GROWSDOWN   0x0100      /* stack-like segment */ -#define MAP_GROWSUP 0x0200      /* register stack-like segment */ -#define MAP_DENYWRITE   0x0800      /* ETXTBSY */ -#define MAP_EXECUTABLE  0x1000      /* mark it as an executable */ -#define MAP_LOCKED  0x2000      /* pages are locked */ -#define MAP_NORESERVE   0x4000      /* don't check for reservations */ -#define MAP_WRITECOMBINED 0x10000   /* write-combine the area */ -#define MAP_NONCACHED   0x20000     /* don't cache the memory */ - -#define MS_ASYNC    1       /* sync memory asynchronously */ -#define MS_INVALIDATE   2       /* invalidate the caches */ -#define MS_SYNC     4       /* synchronous memory sync */ - -#endif - -#endif - -/* compatibility flags */ -#define MAP_ANON	MAP_ANONYMOUS -#define MAP_FILE	0 - -#define MAP_FAILED      ((void *) -1) - -extern void *mmap (void *__addr, size_t __len, int __prot, -                   int __flags, int __fd, off_t __offset); - -extern int munmap (void *__addr, size_t __len) __THROW; -extern int mprotect (void *__addr, size_t __len, int __prot) __THROW; -extern int msync (void *__addr, size_t __len, int __flags) __THROW; -extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, -		     unsigned long __may_move) __THROW; -extern int mincore (void *__start, size_t __len, unsigned char *__vec); - -extern void *mmap64 (void *__addr, size_t __len, int __prot, -		     int __flags, int __fd, off64_t __offset) __THROW; - -int mlockall(int flags) __THROW; -int mlock(const void *addr, size_t len) __THROW; -int munlock(const void *addr, size_t len) __THROW; -int munlockall(void) __THROW; - -int madvise(void *start, size_t length, int advice) __THROW; - -#define _POSIX_MAPPED_FILES - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/mount.h b/mdk-stage1/dietlibc/include/sys/mount.h deleted file mode 100644 index a5170fda9..000000000 --- a/mdk-stage1/dietlibc/include/sys/mount.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _SYS_MOUNT_H -#define _SYS_MOUNT_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#define _LINUX_CONFIG_H - -#define BLOCK_SIZE	1024 -#define BLOCK_SIZE_BITS	10 - - -/* These are the fs-independent mount-flags: up to 16 flags are -   supported  */ -enum -{ -  MS_RDONLY = 1,		/* Mount read-only.  */ -#define MS_RDONLY	MS_RDONLY -  MS_NOSUID = 2,		/* Ignore suid and sgid bits.  */ -#define MS_NOSUID	MS_NOSUID -  MS_NODEV = 4,			/* Disallow access to device special files.  */ -#define MS_NODEV	MS_NODEV -  MS_NOEXEC = 8,		/* Disallow program execution.  */ -#define MS_NOEXEC	MS_NOEXEC -  MS_SYNCHRONOUS = 16,		/* Writes are synced at once.  */ -#define MS_SYNCHRONOUS	MS_SYNCHRONOUS -  MS_REMOUNT = 32,		/* Alter flags of a mounted FS.  */ -#define MS_REMOUNT	MS_REMOUNT -  MS_MANDLOCK = 64,		/* Allow mandatory locks on an FS.  */ -#define MS_MANDLOCK	MS_MANDLOCK -  S_WRITE = 128,		/* Write on file/directory/symlink.  */ -#define S_WRITE		S_WRITE -  S_APPEND = 256,		/* Append-only file.  */ -#define S_APPEND	S_APPEND -  S_IMMUTABLE = 512,		/* Immutable file.  */ -#define S_IMMUTABLE	S_IMMUTABLE -  MS_NOATIME = 1024,		/* Do not update access times.  */ -#define MS_NOATIME	MS_NOATIME -  MS_NODIRATIME = 2048,		/* Do not update directory access times.  */ -#define MS_NODIRATIME	MS_NODIRATIME -  MS_BIND = 4096,		/* Bind directory at different place.  */ -#define MS_BIND		MS_BIND -}; - -/* Flags that can be altered by MS_REMOUNT  */ -#define MS_RMT_MASK (MS_RDONLY | MS_MANDLOCK) - - -/* Magic mount flag number. Has to be or-ed to the flag values.  */ - -#define MS_MGC_VAL 0xc0ed0000	/* Magic flag number to indicate "new" flags */ -#define MS_MGC_MSK 0xffff0000	/* Magic flag number mask */ - - -/* The read-only stuff doesn't really belong here, but any other place -   is probably as bad and I don't want to create yet another include -   file.  */ - -#define BLKROSET   _IO(0x12, 93) /* Set device read-only (0 = read-write).  */ -#define BLKROGET   _IO(0x12, 94) /* Get read-only status (0 = read_write).  */ -#define BLKRRPART  _IO(0x12, 95) /* Re-read partition table.  */ -#define BLKGETSIZE _IO(0x12, 96) /* Return device size.  */ -#define BLKFLSBUF  _IO(0x12, 97) /* Flush buffer cache.  */ -#define BLKRASET   _IO(0x12, 98) /* Set read ahead for block device.  */ -#define BLKRAGET   _IO(0x12, 99) /* Get current read ahead setting.  */ - - -/* Possible value for FLAGS parameter of `umount2'.  */ -enum -{ -  MNT_FORCE = 1			/* Force unmounting.  */ -#define MNT_FORCE MNT_FORCE -}; - -int  mount(const char* specialfile, const char* dir, const char* filesystemtype, -	   unsigned long rwflag, const void * data) __THROW; - -int umount(const char *specialfile) __THROW; -int umount2(const char *specialfile, int mflag) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/msg.h b/mdk-stage1/dietlibc/include/sys/msg.h deleted file mode 100644 index 564fd9472..000000000 --- a/mdk-stage1/dietlibc/include/sys/msg.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef _SYS_MSG_H -#define _SYS_MSG_H - -#include <sys/ipc.h> - -/* ipcs ctl commands */ -#define MSG_STAT 11 -#define MSG_INFO 12 - -/* msgrcv options */ -#define MSG_NOERROR     010000  /* no error if message is too big */ -#define MSG_EXCEPT      020000  /* recv any msg except of specified type.*/ - -struct msqid_ds { -  struct ipc_perm msg_perm; -  struct msg *msg_first;	/* first message on queue,unused  */ -  struct msg *msg_last;		/* last message in queue,unused */ -  time_t msg_stime;		/* last msgsnd time */ -  time_t msg_rtime;		/* last msgrcv time */ -  time_t msg_ctime;		/* last change time */ -  unsigned long  msg_lcbytes;	/* Reuse junk fields for 32 bit */ -  unsigned long  msg_lqbytes;	/* ditto */ -  unsigned short msg_cbytes;	/* current number of bytes on queue */ -  unsigned short msg_qnum;	/* number of messages in queue */ -  unsigned short msg_qbytes;	/* max number of bytes on queue */ -  pid_t msg_lspid;		/* pid of last msgsnd */ -  pid_t msg_lrpid;		/* last receive pid */ -}; - -/* message buffer for msgsnd and msgrcv calls */ -struct msgbuf { -	long mtype;         /* type of message */ -	char mtext[1];      /* message text */ -}; - -/* buffer for msgctl calls IPC_INFO, MSG_INFO */ -struct msginfo { -	int msgpool; -	int msgmap; -	int msgmax; -	int msgmnb; -	int msgmni; -	int msgssz; -	int msgtql; -	unsigned short msgseg; -}; - -#define MSGMNI    16   /* <= IPCMNI */     /* max # of msg queue identifiers */ -#define MSGMAX  8192   /* <= INT_MAX */   /* max size of message (bytes) */ -#define MSGMNB 16384   /* <= INT_MAX */   /* default max size of a message queue */ - -extern int msgctl (int msqid, int cmd, struct msqid_ds *buf) __THROW; -extern int msgget (key_t key, int msgflg) __THROW; -extern int msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) __THROW; -extern int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/mtio.h b/mdk-stage1/dietlibc/include/sys/mtio.h deleted file mode 100644 index 08c735dcc..000000000 --- a/mdk-stage1/dietlibc/include/sys/mtio.h +++ /dev/null @@ -1,340 +0,0 @@ -#ifndef _SYS_MTIO_H -#define _SYS_MTIO_H - -#include <sys/ioctl.h> - -/* structure for MTIOCTOP - mag tape op command */ -struct mtop { -  short int mt_op;	/* operations defined below */ -  int mt_count;		/* how many of them */ -}; - -/* Magnetic Tape operations [Not all operations supported by all drivers]: */ -#define MTRESET 0	/* +reset drive in case of problems */ -#define MTFSF	1	/* forward space over FileMark, -			 * position at first record of next file  -			 */ -#define MTBSF	2	/* backward space FileMark (position before FM) */ -#define MTFSR	3	/* forward space record */ -#define MTBSR	4	/* backward space record */ -#define MTWEOF	5	/* write an end-of-file record (mark) */ -#define MTREW	6	/* rewind */ -#define MTOFFL	7	/* rewind and put the drive offline (eject?) */ -#define MTNOP	8	/* no op, set status only (read with MTIOCGET) */ -#define MTRETEN 9	/* retension tape */ -#define MTBSFM	10	/* +backward space FileMark, position at FM */ -#define MTFSFM  11	/* +forward space FileMark, position at FM */ -#define MTEOM	12	/* goto end of recorded media (for appending files). -			 * MTEOM positions after the last FM, ready for -			 * appending another file. -			 */ -#define MTERASE 13	/* erase tape -- be careful! */ - -#define MTRAS1  14	/* run self test 1 (nondestructive) */ -#define MTRAS2	15	/* run self test 2 (destructive) */ -#define MTRAS3  16	/* reserved for self test 3 */ - -#define MTSETBLK 20	/* set block length (SCSI) */ -#define MTSETDENSITY 21	/* set tape density (SCSI) */ -#define MTSEEK	22	/* seek to block (Tandberg, etc.) */ -#define MTTELL	23	/* tell block (Tandberg, etc.) */ -#define MTSETDRVBUFFER 24 /* set the drive buffering according to SCSI-2 */ -			/* ordinary buffered operation with code 1 */ -#define MTFSS	25	/* space forward over setmarks */ -#define MTBSS	26	/* space backward over setmarks */ -#define MTWSM	27	/* write setmarks */ - -#define MTLOCK  28	/* lock the drive door */ -#define MTUNLOCK 29	/* unlock the drive door */ -#define MTLOAD  30	/* execute the SCSI load command */ -#define MTUNLOAD 31	/* execute the SCSI unload command */ -#define MTCOMPRESSION 32/* control compression with SCSI mode page 15 */ -#define MTSETPART 33	/* Change the active tape partition */ -#define MTMKPART  34	/* Format the tape with one or two partitions */ - -/* structure for MTIOCGET - mag tape get status command */ - -typedef int daddr_t; - -struct mtget { -  long int mt_type;	/* type of magtape device */ -  long int mt_resid;	/* residual count: (not sure) -			    *	number of bytes ignored, or -			    *	number of files not skipped, or -			    *	number of records not skipped. -			    */ -  /* the following registers are device dependent */ -  long int mt_dsreg;	/* status register */ -  long int mt_gstat;	/* generic (device independent) status */ -  long int mt_erreg;	/* error register */ -  /* The next two fields are not always used */ -  daddr_t mt_fileno;	/* number of current file on tape */ -  daddr_t mt_blkno;	/* current block number */ -}; - -/* - * Constants for mt_type. Not all of these are supported, - * and these are not all of the ones that are supported. - */ -#define MT_ISUNKNOWN		0x01 -#define MT_ISQIC02		0x02	/* Generic QIC-02 tape streamer */ -#define MT_ISWT5150		0x03	/* Wangtek 5150EQ, QIC-150, QIC-02 */ -#define MT_ISARCHIVE_5945L2	0x04	/* Archive 5945L-2, QIC-24, QIC-02? */ -#define MT_ISCMSJ500		0x05	/* CMS Jumbo 500 (QIC-02?) */ -#define MT_ISTDC3610		0x06	/* Tandberg 6310, QIC-24 */ -#define MT_ISARCHIVE_VP60I	0x07	/* Archive VP60i, QIC-02 */ -#define MT_ISARCHIVE_2150L	0x08	/* Archive Viper 2150L */ -#define MT_ISARCHIVE_2060L	0x09	/* Archive Viper 2060L */ -#define MT_ISARCHIVESC499	0x0A	/* Archive SC-499 QIC-36 controller */ -#define MT_ISQIC02_ALL_FEATURES	0x0F	/* Generic QIC-02 with all features */ -#define MT_ISWT5099EEN24	0x11	/* Wangtek 5099-een24, 60MB, QIC-24 */ -#define MT_ISTEAC_MT2ST		0x12	/* Teac MT-2ST 155mb drive, Teac DC-1 card (Wangtek type) */ -#define MT_ISEVEREX_FT40A	0x32	/* Everex FT40A (QIC-40) */ -#define MT_ISDDS1		0x51	/* DDS device without partitions */ -#define MT_ISDDS2		0x52	/* DDS device with partitions */ -#define MT_ISONSTREAM_SC        0x61   /* OnStream SCSI tape drives (SC-x0) -					  and SCSI emulated (DI, DP, USB) */ -#define MT_ISSCSI1		0x71	/* Generic ANSI SCSI-1 tape unit */ -#define MT_ISSCSI2		0x72	/* Generic ANSI SCSI-2 tape unit */ - -/* QIC-40/80/3010/3020 ftape supported drives. - * 20bit vendor ID + 0x800000 (see ftape-vendors.h) - */ -#define MT_ISFTAPE_UNKNOWN	0x800000 /* obsolete */ -#define MT_ISFTAPE_FLAG	0x800000 - -struct mt_tape_info { -  long int t_type;	/* device type id (mt_type) */ -  char* t_name;		/* descriptive name */ -}; - -#define MT_TAPE_INFO	{ \ -	{MT_ISUNKNOWN,		"Unknown type of tape device"}, \ -	{MT_ISQIC02,		"Generic QIC-02 tape streamer"}, \ -	{MT_ISWT5150,		"Wangtek 5150, QIC-150"}, \ -	{MT_ISARCHIVE_5945L2,	"Archive 5945L-2"}, \ -	{MT_ISCMSJ500,		"CMS Jumbo 500"}, \ -	{MT_ISTDC3610,		"Tandberg TDC 3610, QIC-24"}, \ -	{MT_ISARCHIVE_VP60I,	"Archive VP60i, QIC-02"}, \ -	{MT_ISARCHIVE_2150L,	"Archive Viper 2150L"}, \ -	{MT_ISARCHIVE_2060L,	"Archive Viper 2060L"}, \ -	{MT_ISARCHIVESC499,	"Archive SC-499 QIC-36 controller"}, \ -	{MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \ -	{MT_ISWT5099EEN24,	"Wangtek 5099-een24, 60MB"}, \ -	{MT_ISTEAC_MT2ST,	"Teac MT-2ST 155mb data cassette drive"}, \ -	{MT_ISEVEREX_FT40A,	"Everex FT40A, QIC-40"}, \ -	{MT_ISONSTREAM_SC,      "OnStream SC-, DI-, DP-, or USB tape drive"}, \ -	{MT_ISSCSI1,		"Generic SCSI-1 tape"}, \ -	{MT_ISSCSI2,		"Generic SCSI-2 tape"}, \ -	{0, NULL} \ -} - - -/* structure for MTIOCPOS - mag tape get position command */ - -struct mtpos { -  long int mt_blkno;	/* current block number */ -}; - - -/* structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended - * as an interim solution for QIC-02 until DDI is fully implemented. - */ -struct mtconfiginfo { -  long int mt_type;		/* drive type */ -  long int ifc_type;		/* interface card type */ -  unsigned short int irqnr;	/* IRQ number to use */ -  unsigned short int dmanr;	/* DMA channel to use */ -  unsigned short int port;	/* IO port base address */ - -  unsigned long int debug;	/* debugging flags */ - -  unsigned int have_dens:1; -  unsigned int have_bsf:1; -  unsigned int have_fsr:1; -  unsigned int have_bsr:1; -  unsigned int have_eod:1; -  unsigned int have_seek:1; -  unsigned int have_tell:1; -  unsigned int have_ras1:1; -  unsigned int have_ras2:1; -  unsigned int have_ras3:1; -  unsigned int have_qfa:1; - -  unsigned int pad1:5; -  char reserved[10]; -}; - -/*  structure for MTIOCVOLINFO, query information about the volume - *  currently positioned at (zftape) - */ -struct mtvolinfo { -  unsigned int mt_volno;   /* vol-number */ -  unsigned int mt_blksz;   /* blocksize used when recording */ -  unsigned int mt_rawsize; /* raw tape space consumed, in kb */ -  unsigned int mt_size;    /* volume size after decompression, in kb */ -  unsigned int mt_cmpr:1;  /* this volume has been compressed */ -}; - -/* raw access to a floppy drive, read and write an arbitrary segment. - * For ftape/zftape to support formatting etc. - */ -#define MT_FT_RD_SINGLE  0 -#define MT_FT_RD_AHEAD   1 -#define MT_FT_WR_ASYNC   0 /* start tape only when all buffers are full     */ -#define MT_FT_WR_MULTI   1 /* start tape, continue until buffers are empty  */ -#define MT_FT_WR_SINGLE  2 /* write a single segment and stop afterwards    */ -#define MT_FT_WR_DELETE  3 /* write deleted data marks, one segment at time */ - -struct mtftseg { -  unsigned int mt_segno;	/* the segment to read or write */ -  unsigned int mt_mode;		/* modes for read/write (sync/async etc.) */ -  int mt_result;		/* result of r/w request, not of the ioctl */ -  void *mt_data;		/* User space buffer: must be 29kb */ -}; - -/* get tape capacity (ftape/zftape) - */ -struct mttapesize { -  unsigned long mt_capacity; /* entire, uncompressed capacity of a cartridge */ -  unsigned long mt_used;     /* what has been used so far, raw uncompressed amount */ -}; - -/*  possible values of the ftfmt_op field - */ -#define FTFMT_SET_PARMS		1 /* set software parms */ -#define FTFMT_GET_PARMS		2 /* get software parms */ -#define FTFMT_FORMAT_TRACK	3 /* start formatting a tape track   */ -#define FTFMT_STATUS		4 /* monitor formatting a tape track */ -#define FTFMT_VERIFY		5 /* verify the given segment        */ - -struct ftfmtparms { -  unsigned char  ft_qicstd;   /* QIC-40/QIC-80/QIC-3010/QIC-3020 */ -  unsigned char  ft_fmtcode;  /* Refer to the QIC specs */ -  unsigned char  ft_fhm;      /* floppy head max */ -  unsigned char  ft_ftm;      /* floppy track max */ -  unsigned short ft_spt;      /* segments per track */ -  unsigned short ft_tpc;      /* tracks per cartridge */ -}; - -struct ftfmttrack { -  unsigned int  ft_track;   /* track to format */ -  unsigned char ft_gap3;    /* size of gap3, for FORMAT_TRK */ -}; - -struct ftfmtstatus { -  unsigned int  ft_segment;  /* segment currently being formatted */ -}; - -struct ftfmtverify { -  unsigned int  ft_segment;   /* segment to verify */ -  unsigned long ft_bsm;       /* bsm as result of VERIFY cmd */ -}; - -struct mtftformat { -  unsigned int fmt_op;      /* operation to perform */ -  union fmt_arg { -    struct ftfmtparms  fmt_parms;  /* format parameters */ -    struct ftfmttrack  fmt_track;  /* ctrl while formatting */ -    struct ftfmtstatus fmt_status; -    struct ftfmtverify fmt_verify; /* for verifying */  -  } fmt_arg; -}; - -/* mag tape io control commands */ -#define MTIOCTOP	_IOW('m', 1, struct mtop)	/* do a mag tape op */ -#define MTIOCGET	_IOR('m', 2, struct mtget)	/* get tape status */ -#define MTIOCPOS	_IOR('m', 3, struct mtpos)	/* get tape position */ - -/* The next two are used by the QIC-02 driver for runtime reconfiguration. - * See tpqic02.h for struct mtconfiginfo. - */ -#define MTIOCGETCONFIG	_IOR('m', 4, struct mtconfiginfo) /* get tape config */ -#define MTIOCSETCONFIG	_IOW('m', 5, struct mtconfiginfo) /* set tape config */ - -/* the next six are used by the floppy ftape drivers and its frontends - * sorry, but MTIOCTOP commands are write only. - */ -#define MTIOCRDFTSEG    _IOWR('m', 6, struct mtftseg)  /* read a segment */ -#define MTIOCWRFTSEG    _IOWR('m', 7, struct mtftseg)   /* write a segment */ -#define MTIOCVOLINFO	_IOR('m',  8, struct mtvolinfo) /* info about volume */ -#define MTIOCGETSIZE    _IOR('m',  9, struct mttapesize)/* get cartridge size*/ -#define MTIOCFTFORMAT   _IOWR('m', 10, struct mtftformat) /* format ftape */ -#define MTIOCFTCMD	_IOWR('m', 11, struct mtftcmd) /* send QIC-117 cmd */ - -/* Generic Mag Tape (device independent) status macros for examining - * mt_gstat -- HP-UX compatible. - * There is room for more generic status bits here, but I don't - * know which of them are reserved. At least three or so should - * be added to make this really useful. - */ -#define GMT_EOF(x)              ((x) & 0x80000000) -#define GMT_BOT(x)              ((x) & 0x40000000) -#define GMT_EOT(x)              ((x) & 0x20000000) -#define GMT_SM(x)               ((x) & 0x10000000)  /* DDS setmark */ -#define GMT_EOD(x)              ((x) & 0x08000000)  /* DDS EOD */ -#define GMT_WR_PROT(x)          ((x) & 0x04000000) -/* #define GMT_ ? 		((x) & 0x02000000) */ -#define GMT_ONLINE(x)           ((x) & 0x01000000) -#define GMT_D_6250(x)           ((x) & 0x00800000) -#define GMT_D_1600(x)           ((x) & 0x00400000) -#define GMT_D_800(x)            ((x) & 0x00200000) -/* #define GMT_ ? 		((x) & 0x00100000) */ -/* #define GMT_ ? 		((x) & 0x00080000) */ -#define GMT_DR_OPEN(x)          ((x) & 0x00040000)  /* door open (no tape) */ -/* #define GMT_ ? 		((x) & 0x00020000) */ -#define GMT_IM_REP_EN(x)        ((x) & 0x00010000)  /* immediate report mode */ -/* 16 generic status bits unused */ - - -/* SCSI-tape specific definitions */ -/* Bitfield shifts in the status  */ -#define MT_ST_BLKSIZE_SHIFT	0 -#define MT_ST_BLKSIZE_MASK	0xffffff -#define MT_ST_DENSITY_SHIFT	24 -#define MT_ST_DENSITY_MASK	0xff000000 - -#define MT_ST_SOFTERR_SHIFT	0 -#define MT_ST_SOFTERR_MASK	0xffff - -/* Bitfields for the MTSETDRVBUFFER ioctl */ -#define MT_ST_OPTIONS		0xf0000000 -#define MT_ST_BOOLEANS		0x10000000 -#define MT_ST_SETBOOLEANS	0x30000000 -#define MT_ST_CLEARBOOLEANS	0x40000000 -#define MT_ST_WRITE_THRESHOLD	0x20000000 -#define MT_ST_DEF_BLKSIZE	0x50000000 -#define MT_ST_DEF_OPTIONS	0x60000000 -#define MT_ST_TIMEOUTS		0x70000000 -#define MT_ST_SET_TIMEOUT	(MT_ST_TIMEOUTS | 0x000000) -#define MT_ST_SET_LONG_TIMEOUT	(MT_ST_TIMEOUTS | 0x100000) - -#define MT_ST_BUFFER_WRITES	0x1 -#define MT_ST_ASYNC_WRITES	0x2 -#define MT_ST_READ_AHEAD	0x4 -#define MT_ST_DEBUGGING		0x8 -#define MT_ST_TWO_FM		0x10 -#define MT_ST_FAST_MTEOM	0x20 -#define MT_ST_AUTO_LOCK		0x40 -#define MT_ST_DEF_WRITES	0x80 -#define MT_ST_CAN_BSR		0x100 -#define MT_ST_NO_BLKLIMS	0x200 -#define MT_ST_CAN_PARTITIONS    0x400 -#define MT_ST_SCSI2LOGICAL      0x800 -#define MT_ST_SYSV              0x1000 - -/* The mode parameters to be controlled. Parameter chosen with bits 20-28 */ -#define MT_ST_CLEAR_DEFAULT	0xfffff -#define MT_ST_DEF_DENSITY	(MT_ST_DEF_OPTIONS | 0x100000) -#define MT_ST_DEF_COMPRESSION	(MT_ST_DEF_OPTIONS | 0x200000) -#define MT_ST_DEF_DRVBUFFER	(MT_ST_DEF_OPTIONS | 0x300000) - -/* The offset for the arguments for the special HP changer load command. */ -#define MT_ST_HPLOADER_OFFSET 10000 - -/* Specify default tape device.  */ -#ifndef DEFTAPE -#define DEFTAPE "/dev/tape/0" -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/param.h b/mdk-stage1/dietlibc/include/sys/param.h deleted file mode 100644 index 0744dccdb..000000000 --- a/mdk-stage1/dietlibc/include/sys/param.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H - -#include <limits.h> - -#define MAXPATHLEN	PATH_MAX -#define MAXHOSTNAMELEN	64 -#define NGROUPS		32 -#define NOGROUP		(-1) - -#undef MIN -#undef MAX -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -#ifdef __alpha__ -#define HZ 1024 -#else -#define HZ 100 -#endif - -#ifndef howmany -# define howmany(x, y)  (((x)+((y)-1))/(y)) -#endif -#define roundup(x, y)   ((((x)+((y)-1))/(y))*(y)) -#define powerof2(x)     ((((x)-1)&(x))==0) - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/poll.h b/mdk-stage1/dietlibc/include/sys/poll.h deleted file mode 100644 index fe36df79d..000000000 --- a/mdk-stage1/dietlibc/include/sys/poll.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _SYS_POLL_H -#define _SYS_POLL_H - -#include <sys/cdefs.h> - -enum { -  POLLIN	= 0x0001, -#define POLLIN		POLLIN -  POLLPRI	= 0x0002, -#define POLLPRI		POLLPRI -  POLLOUT	= 0x0004, -#define POLLOUT		POLLOUT -  POLLERR	= 0x0008, -#define POLLERR		POLLERR -  POLLHUP	= 0x0010, -#define POLLHUP		POLLHUP -  POLLNVAL	= 0x0020, -#define POLLNVAL	POLLNVAL -  POLLRDNORM	= 0x0040, -#define POLLRDNORM	POLLRDNORM -  POLLRDBAND	= 0x0080, -#define POLLRDBAND	POLLRDBAND -  POLLWRBAND	= 0x0200, -#define POLLWRBAND	POLLWRBAND -  POLLMSG	= 0x0400, -#define POLLMSG		POLLMSG -/* POLLREMOVE is for /dev/epoll (/dev/misc/eventpoll), - * a new event notification mechanism for 2.6 */ -  POLLREMOVE	= 0x1000, -#define POLLREMOVE	POLLREMOVE -}; - -#if defined(__sparc__) || defined (__mips__) -#define POLLWRNORM	POLLOUT -#else -#define POLLWRNORM	0x0100 -#endif - -struct pollfd { -  int fd; -  short events; -  short revents; -}; - -extern int poll(struct pollfd *ufds, unsigned int nfds, int timeout) __THROW; - -#endif	/* _SYS_POLL_H */ diff --git a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h b/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h deleted file mode 100644 index c3de6d254..000000000 --- a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h +++ /dev/null @@ -1,164 +0,0 @@ - -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	13 -#define _IOC_DIRBITS	3 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit. - * And this turns out useful to catch old ioctl numbers in header - * files for us. - */ -#define _IOC_NONE	1U -#define _IOC_READ	2U -#define _IOC_WRITE	4U - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode them.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* various drivers, such as the pcmcia stuff, need these... */ -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -#define FIOCLEX		_IO('f', 1) -#define FIONCLEX	_IO('f', 2) -#define FIOASYNC	_IOW('f', 125, int) -#define FIONBIO		_IOW('f', 126, int) -#define FIONREAD	_IOR('f', 127, int) -#define TIOCINQ		FIONREAD -#define FIOQSIZE	_IOR('f', 128, loff_t) - -#define TIOCGETP	_IOR('t', 8, struct sgttyb) -#define TIOCSETP	_IOW('t', 9, struct sgttyb) -#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */ - -#define TIOCSETC	_IOW('t', 17, struct tchars) -#define TIOCGETC	_IOR('t', 18, struct tchars) -#define TCGETS		_IOR('t', 19, struct termios) -#define TCSETS		_IOW('t', 20, struct termios) -#define TCSETSW		_IOW('t', 21, struct termios) -#define TCSETSF		_IOW('t', 22, struct termios) - -#define TCGETA		_IOR('t', 23, struct termio) -#define TCSETA		_IOW('t', 24, struct termio) -#define TCSETAW		_IOW('t', 25, struct termio) -#define TCSETAF		_IOW('t', 28, struct termio) - -#define TCSBRK		_IO('t', 29) -#define TCXONC		_IO('t', 30) -#define TCFLSH		_IO('t', 31) - -#define TIOCSWINSZ	_IOW('t', 103, struct winsize) -#define TIOCGWINSZ	_IOR('t', 104, struct winsize) -#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */ -#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */ -#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */ - -#define TIOCGLTC	_IOR('t', 116, struct ltchars) -#define TIOCSLTC	_IOW('t', 117, struct ltchars) -#define TIOCSPGRP	_IOW('t', 118, int) -#define TIOCGPGRP	_IOR('t', 119, int) - -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E - -#define TIOCSTI		0x5412 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -# define TIOCM_LE	0x001 -# define TIOCM_DTR	0x002 -# define TIOCM_RTS	0x004 -# define TIOCM_ST	0x008 -# define TIOCM_SR	0x010 -# define TIOCM_CTS	0x020 -# define TIOCM_CAR	0x040 -# define TIOCM_RNG	0x080 -# define TIOCM_DSR	0x100 -# define TIOCM_CD	TIOCM_CAR -# define TIOCM_RI	TIOCM_RNG - -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -# define TIOCPKT_DATA		 0 -# define TIOCPKT_FLUSHREAD	 1 -# define TIOCPKT_FLUSHWRITE	 2 -# define TIOCPKT_STOP		 4 -# define TIOCPKT_START		 8 -# define TIOCPKT_NOSTOP		16 -# define TIOCPKT_DOSTOP		32 - - -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x5429  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ -# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ - -#if 0 /* These are defined this way on Alpha - maybe later. */ -/* Socket-level I/O control calls. */ - -#define FIOGETOWN	_IOR('f', 123, int) -#define FIOSETOWN 	_IOW('f', 124, int) - -#define SIOCATMARK	_IOR('s', 7, int) -#define SIOCSPGRP	_IOW('s', 8, pid_t) -#define SIOCGPGRP	_IOR('s', 9, pid_t) - -#define SIOCGSTAMP	0x8906		/* Get stamp - linux-specific */ -#endif diff --git a/mdk-stage1/dietlibc/include/sys/prctl.h b/mdk-stage1/dietlibc/include/sys/prctl.h deleted file mode 100644 index 26749cbd4..000000000 --- a/mdk-stage1/dietlibc/include/sys/prctl.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _SYS_PRCTL_H -#define _SYS_PRCTL_H - -#include <sys/cdefs.h> - -int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/ptrace.h b/mdk-stage1/dietlibc/include/sys/ptrace.h deleted file mode 100644 index b09d3ac3a..000000000 --- a/mdk-stage1/dietlibc/include/sys/ptrace.h +++ /dev/null @@ -1,846 +0,0 @@ -#ifndef _SYS_PTRACE_H -#define _SYS_PTRACE_H - -#include <sys/cdefs.h> - -#define PTRACE_TRACEME		   0 -#define PTRACE_PEEKTEXT		   1 -#define PTRACE_PEEKDATA		   2 -#define PTRACE_PEEKUSR		   3 -#define PTRACE_PEEKUSER		   PTRACE_PEEKUSR -#define PTRACE_POKETEXT		   4 -#define PTRACE_POKEDATA		   5 -#define PTRACE_POKEUSR		   6 -#define PTRACE_POKEUSER		   PTRACE_POKEUSR -#define PTRACE_CONT		   7 -#define PTRACE_KILL		   8 -#define PTRACE_SINGLESTEP	   9 - -#define PTRACE_ATTACH		0x10 -#define PTRACE_DETACH		0x11 - -#define PTRACE_SYSCALL		  24 - -#define PT_TRACE_ME		PTRACE_TRACEME -#define PT_READ_I		PTRACE_PEEKTEXT -#define PT_READ_D		PTRACE_PEEKDATA -#define PT_READ_U		PTRACE_READ_U -#define PT_WRITE_I		PTRACE_POKETEXT -#define PT_WRITE_D		PTRACE_POKEDATA -#define PT_WRITE_U		PTRACE_POKEUSER -#define PT_CONTINUE		PTRACE_CONT -#define PT_KILL			PTRACE_KILL -#define PT_STEP			PTRACE_SINGLESTEP -#define PT_GETREGS		PTRACE_GETREGS -#define PT_SETREGS		PTRACE_SETREGS -#define PT_GETFPREGS		PTRACE_GETFPREGS -#define PT_SETFPREGS		PTRACE_SETFPREGS -#define PT_ATTACH		PTRACE_ATTACH -#define PT_DETACH		PTRACE_DETACH - -#if defined(__i386__) -#define EBX 0 -#define ECX 1 -#define EDX 2 -#define ESI 3 -#define EDI 4 -#define EBP 5 -#define EAX 6 -#define DS 7 -#define ES 8 -#define FS 9 -#define GS 10 -#define ORIG_EAX 11 -#define EIP 12 -#define CS  13 -#define EFL 14 -#define UESP 15 -#define SS   16 -#define FRAME_SIZE 17 - -/* this struct defines the way the registers are stored on the  -   stack during a system call. */ - -struct pt_regs { -  long ebx; -  long ecx; -  long edx; -  long esi; -  long edi; -  long ebp; -  long eax; -  int  xds; -  int  xes; -  long orig_eax; -  long eip; -  int  xcs; -  long eflags; -  long esp; -  int  xss; -}; - -/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ -#define PTRACE_GETREGS            12 -#define PTRACE_SETREGS            13 -#define PTRACE_GETFPREGS          14 -#define PTRACE_SETFPREGS          15 -#define PTRACE_GETFPXREGS         18 -#define PTRACE_SETFPXREGS         19 - -#define PTRACE_SETOPTIONS         21 - -/* options set using PTRACE_SETOPTIONS */ -#define PTRACE_O_TRACESYSGOOD     0x00000001 - -#elif defined(__s390__) - -#define PT_PSWMASK  0x00 -#define PT_PSWADDR  0x04 -#define PT_GPR0     0x08 -#define PT_GPR1     0x0C -#define PT_GPR2     0x10 -#define PT_GPR3     0x14 -#define PT_GPR4     0x18 -#define PT_GPR5     0x1C -#define PT_GPR6     0x20 -#define PT_GPR7     0x24 -#define PT_GPR8     0x28 -#define PT_GPR9     0x2C -#define PT_GPR10    0x30 -#define PT_GPR11    0x34 -#define PT_GPR12    0x38 -#define PT_GPR13    0x3C -#define PT_GPR14    0x40 -#define PT_GPR15    0x44 -#define PT_ACR0     0x48 -#define PT_ACR1     0x4C -#define PT_ACR2     0x50 -#define PT_ACR3     0x54 -#define PT_ACR4	    0x58 -#define PT_ACR5	    0x5C -#define PT_ACR6	    0x60 -#define PT_ACR7	    0x64 -#define PT_ACR8	    0x68 -#define PT_ACR9	    0x6C -#define PT_ACR10    0x70 -#define PT_ACR11    0x74 -#define PT_ACR12    0x78 -#define PT_ACR13    0x7C -#define PT_ACR14    0x80 -#define PT_ACR15    0x84 -#define PT_ORIGGPR2 0x88 -#define PT_FPC	    0x90 -#define PT_FPR0_HI  0x98 -#define PT_FPR0_LO  0x9C -#define PT_FPR1_HI  0xA0 -#define PT_FPR1_LO  0xA4 -#define PT_FPR2_HI  0xA8 -#define PT_FPR2_LO  0xAC -#define PT_FPR3_HI  0xB0 -#define PT_FPR3_LO  0xB4 -#define PT_FPR4_HI  0xB8 -#define PT_FPR4_LO  0xBC -#define PT_FPR5_HI  0xC0 -#define PT_FPR5_LO  0xC4 -#define PT_FPR6_HI  0xC8 -#define PT_FPR6_LO  0xCC -#define PT_FPR7_HI  0xD0 -#define PT_FPR7_LO  0xD4 -#define PT_FPR8_HI  0xD8 -#define PT_FPR8_LO  0XDC -#define PT_FPR9_HI  0xE0 -#define PT_FPR9_LO  0xE4 -#define PT_FPR10_HI 0xE8 -#define PT_FPR10_LO 0xEC -#define PT_FPR11_HI 0xF0 -#define PT_FPR11_LO 0xF4 -#define PT_FPR12_HI 0xF8 -#define PT_FPR12_LO 0xFC -#define PT_FPR13_HI 0x100 -#define PT_FPR13_LO 0x104 -#define PT_FPR14_HI 0x108 -#define PT_FPR14_LO 0x10C -#define PT_FPR15_HI 0x110 -#define PT_FPR15_LO 0x114 -#define PT_CR_9	    0x118 -#define PT_CR_10    0x11C -#define PT_CR_11    0x120 -#define PT_IEEE_IP  0x13C -#define PT_LASTOFF  PT_IEEE_IP -#define PT_ENDREGS  0x140-1 - -#define NUM_GPRS	16 -#define NUM_FPRS	16 -#define NUM_CRS		16 -#define NUM_ACRS	16 -#define GPR_SIZE	4 -#define FPR_SIZE	8 -#define FPC_SIZE	4 -#define FPC_PAD_SIZE	4 /* gcc insists on aligning the fpregs */ -#define CR_SIZE		4 -#define ACR_SIZE	4 - -#define STACK_FRAME_OVERHEAD	96	/* size of minimum stack frame */ - -#include <inttypes.h> - -/* this typedef defines how a Program Status Word looks like */ -typedef struct { -        uint32_t   mask; -        uint32_t   addr; -} psw_t __attribute__ ((aligned(8))); - -typedef union -{ -	float   f; -	double  d; -        uint64_t   ui; -	struct -	{ -		uint32_t hi; -		uint32_t lo; -	} fp; -} freg_t; - -typedef struct -{ -	uint32_t   fpc; -	freg_t  fprs[NUM_FPRS];               -} s390_fp_regs; - -#define FPC_EXCEPTION_MASK      0xF8000000 -#define FPC_FLAGS_MASK          0x00F80000 -#define FPC_DXC_MASK            0x0000FF00 -#define FPC_RM_MASK             0x00000003 -#define FPC_VALID_MASK          0xF8F8FF03 - -typedef struct -{ -	psw_t psw; -	uint32_t gprs[NUM_GPRS]; -	uint32_t acrs[NUM_ACRS]; -	uint32_t orig_gpr2; -} s390_regs; - -struct pt_regs  -{ -	psw_t psw; -	uint32_t gprs[NUM_GPRS]; -	uint32_t acrs[NUM_ACRS]; -	uint32_t orig_gpr2; -	uint32_t trap; -        uint32_t old_ilc; -}; - -typedef struct -{ -	uint32_t cr[3]; -} per_cr_words  __attribute__((packed)); - -#define PER_EM_MASK 0xE8000000 - -typedef uint32_t addr_t; - -typedef	struct -{ -	unsigned em_branching          : 1; -	unsigned em_instruction_fetch  : 1; -	/* -	 * Switching on storage alteration automatically fixes -	 * the storage alteration event bit in the users std. -	 */ -	unsigned em_storage_alteration : 1; -	unsigned em_gpr_alt_unused     : 1; -	unsigned em_store_real_address : 1; -	unsigned                       : 3; -	unsigned branch_addr_ctl       : 1; -	unsigned                       : 1; -	unsigned storage_alt_space_ctl : 1; -	unsigned                       : 21; -	addr_t   starting_addr; -	addr_t   ending_addr; -} per_cr_bits  __attribute__((packed)); - -typedef struct -{ -	uint16_t          perc_atmid;          /* 0x096 */ -	uint32_t          address;             /* 0x098 */ -	uint8_t           access_id;           /* 0x0a1 */ -} per_lowcore_words  __attribute__((packed)); - -typedef struct -{ -	unsigned perc_branching          : 1; /* 0x096 */ -	unsigned perc_instruction_fetch  : 1; -	unsigned perc_storage_alteration : 1; -	unsigned perc_gpr_alt_unused     : 1; -	unsigned perc_store_real_address : 1; -	unsigned                         : 4; -	unsigned atmid_validity_bit      : 1; -	unsigned atmid_psw_bit_32        : 1; -	unsigned atmid_psw_bit_5         : 1; -	unsigned atmid_psw_bit_16        : 1; -	unsigned atmid_psw_bit_17        : 1; -	unsigned si                      : 2; -	addr_t   address;                     /* 0x098 */ -	unsigned                         : 4; /* 0x0a1 */ -	unsigned access_id               : 4; -} per_lowcore_bits __attribute__((packed)); - -typedef struct -{ -	union { -		per_cr_words   words; -		per_cr_bits    bits; -	} control_regs  __attribute__((packed)); -	/* -	 * Use these flags instead of setting em_instruction_fetch -	 * directly they are used so that single stepping can be -	 * switched on & off while not affecting other tracing -	 */ -	unsigned  single_step       : 1; -	unsigned  instruction_fetch : 1; -	unsigned                    : 30; -	/* -	 * These addresses are copied into cr10 & cr11 if single -	 * stepping is switched off -	 */ -	uint32_t     starting_addr; -	uint32_t     ending_addr; -	union { -		per_lowcore_words words; -		per_lowcore_bits  bits; -	} lowcore;  -} per_struct __attribute__((packed)); - -typedef struct -{ -	uint32_t  len; -	addr_t kernel_addr; -	addr_t process_addr; -} ptrace_area; - -/* - * S/390 specific non posix ptrace requests. I chose unusual values so - * they are unlikely to clash with future ptrace definitions. - */ -#define PTRACE_PEEKUSR_AREA           0x5000 -#define PTRACE_POKEUSR_AREA           0x5001 -#define PTRACE_PEEKTEXT_AREA	      0x5002 -#define PTRACE_PEEKDATA_AREA	      0x5003 -#define PTRACE_POKETEXT_AREA	      0x5004 -#define PTRACE_POKEDATA_AREA 	      0x5005 -/* - * PT_PROT definition is loosely based on hppa bsd definition in - * gdb/hppab-nat.c - */ -#define PTRACE_PROT                       21 - -typedef enum -{ -	ptprot_set_access_watchpoint, -	ptprot_set_write_watchpoint, -	ptprot_disable_watchpoint -} ptprot_flags; - -typedef struct -{ -	addr_t           lowaddr; -	addr_t           hiaddr; -	ptprot_flags     prot; -} ptprot_area;                      - -/* Sequence of bytes for breakpoint illegal instruction.  */ -#define S390_BREAKPOINT     {0x0,0x1} -#define S390_BREAKPOINT_U16 ((uint16_t)0x0001) -#define S390_SYSCALL_OPCODE ((uint16_t)0x0a00) -#define S390_SYSCALL_SIZE   2 - -/* - * The user_regs_struct defines the way the user registers are - * store on the stack for signal handling. - */ -struct user_regs_struct -{ -	psw_t psw; -	uint32_t gprs[NUM_GPRS]; -	uint32_t acrs[NUM_ACRS]; -	uint32_t orig_gpr2; -	s390_fp_regs fp_regs; -	/* -	 * These per registers are in here so that gdb can modify them -	 * itself as there is no "official" ptrace interface for hardware -	 * watchpoints. This is the way intel does it. -	 */ -	per_struct per_info; -	addr_t  ieee_instruction_pointer;  -	/* Used to give failing instruction back to user for ieee exceptions */ -}; - -#elif defined(__arm__) - -/* this assumes armv */ -#define USR26_MODE	0x00 -#define FIQ26_MODE	0x01 -#define IRQ26_MODE	0x02 -#define SVC26_MODE	0x03 -#define USR_MODE	0x10 -#define FIQ_MODE	0x11 -#define IRQ_MODE	0x12 -#define SVC_MODE	0x13 -#define ABT_MODE	0x17 -#define UND_MODE	0x1b -#define SYSTEM_MODE	0x1f -#define MODE_MASK	0x1f -#define T_BIT		0x20 -#define F_BIT		0x40 -#define I_BIT		0x80 -#define CC_V_BIT	(1 << 28) -#define CC_C_BIT	(1 << 29) -#define CC_Z_BIT	(1 << 30) -#define CC_N_BIT	(1 << 31) -#define PCMASK		0 - -struct pt_regs { -	long uregs[18]; -}; - -#define ARM_cpsr	uregs[16] -#define ARM_pc		uregs[15] -#define ARM_lr		uregs[14] -#define ARM_sp		uregs[13] -#define ARM_ip		uregs[12] -#define ARM_fp		uregs[11] -#define ARM_r10		uregs[10] -#define ARM_r9		uregs[9] -#define ARM_r8		uregs[8] -#define ARM_r7		uregs[7] -#define ARM_r6		uregs[6] -#define ARM_r5		uregs[5] -#define ARM_r4		uregs[4] -#define ARM_r3		uregs[3] -#define ARM_r2		uregs[2] -#define ARM_r1		uregs[1] -#define ARM_r0		uregs[0] -#define ARM_ORIG_r0	uregs[17] - -#elif defined(__alpha__) - -struct pt_regs { -  unsigned long r0; -  unsigned long r1; -  unsigned long r2; -  unsigned long r3; -  unsigned long r4; -  unsigned long r5; -  unsigned long r6; -  unsigned long r7; -  unsigned long r8; -  unsigned long r19; -  unsigned long r20; -  unsigned long r21; -  unsigned long r22; -  unsigned long r23; -  unsigned long r24; -  unsigned long r25; -  unsigned long r26; -  unsigned long r27; -  unsigned long r28; -  unsigned long hae; -/* JRP - These are the values provided to a0-a2 by PALcode */ -  unsigned long trap_a0; -  unsigned long trap_a1; -  unsigned long trap_a2; -/* These are saved by PAL-code: */ -  unsigned long ps; -  unsigned long pc; -  unsigned long gp; -  unsigned long r16; -  unsigned long r17; -  unsigned long r18; -}; - -struct switch_stack { -  unsigned long r9; -  unsigned long r10; -  unsigned long r11; -  unsigned long r12; -  unsigned long r13; -  unsigned long r14; -  unsigned long r15; -  unsigned long r26; -  unsigned long fp[32];	/* fp[31] is fpcr */ -}; - -#elif defined(__mips__) - -/* 0 - 31 are integer registers, 32 - 63 are fp registers.  */ -#define FPR_BASE	32 -#define PC		64 -#define CAUSE		65 -#define BADVADDR	66 -#define MMHI		67 -#define MMLO		68 -#define FPC_CSR		69 -#define FPC_EIR		70 - -struct pt_regs { -  /* Pad bytes for argument save space on the stack. */ -  unsigned long pad0[6]; -  /* Saved main processor registers. */ -  unsigned long regs[32]; -  /* Other saved registers. */ -  unsigned long lo; -  unsigned long hi; -  /* saved cp0 registers */ -  unsigned long cp0_epc; -  unsigned long cp0_badvaddr; -  unsigned long cp0_status; -  unsigned long cp0_cause; -}; - -#elif defined(__sparc__) - -struct pt_regs { -  unsigned long psr; -  unsigned long pc; -  unsigned long npc; -  unsigned long y; -  unsigned long u_regs[16]; /* globals and ins */ -}; - -#define UREG_G0        0 -#define UREG_G1        1 -#define UREG_G2        2 -#define UREG_G3        3 -#define UREG_G4        4 -#define UREG_G5        5 -#define UREG_G6        6 -#define UREG_G7        7 -#define UREG_I0        8 -#define UREG_I1        9 -#define UREG_I2        10 -#define UREG_I3        11 -#define UREG_I4        12 -#define UREG_I5        13 -#define UREG_I6        14 -#define UREG_I7        15 -#define UREG_WIM       UREG_G0 -#define UREG_FADDR     UREG_G0 -#define UREG_FP        UREG_I6 -#define UREG_RETPC     UREG_I7 - -/* A register window */ -struct reg_window { -  unsigned long locals[8]; -  unsigned long ins[8]; -}; - -/* A Sparc stack frame */ -struct sparc_stackf { -  unsigned long locals[8]; -  unsigned long ins[6]; -  struct sparc_stackf *fp; -  unsigned long callers_pc; -  char *structptr; -  unsigned long xargs[6]; -  unsigned long xxargs[1]; -}; - -#define TRACEREG_SZ   sizeof(struct pt_regs) -#define STACKFRAME_SZ sizeof(struct sparc_stackf) -#define REGWIN_SZ     sizeof(struct reg_window) - -/* These are for pt_regs. */ -#define PT_PSR    0x0 -#define PT_PC     0x4 -#define PT_NPC    0x8 -#define PT_Y      0xc -#define PT_G0     0x10 -#define PT_WIM    PT_G0 -#define PT_G1     0x14 -#define PT_G2     0x18 -#define PT_G3     0x1c -#define PT_G4     0x20 -#define PT_G5     0x24 -#define PT_G6     0x28 -#define PT_G7     0x2c -#define PT_I0     0x30 -#define PT_I1     0x34 -#define PT_I2     0x38 -#define PT_I3     0x3c -#define PT_I4     0x40 -#define PT_I5     0x44 -#define PT_I6     0x48 -#define PT_FP     PT_I6 -#define PT_I7     0x4c - -/* Reg_window offsets */ -#define RW_L0     0x00 -#define RW_L1     0x04 -#define RW_L2     0x08 -#define RW_L3     0x0c -#define RW_L4     0x10 -#define RW_L5     0x14 -#define RW_L6     0x18 -#define RW_L7     0x1c -#define RW_I0     0x20 -#define RW_I1     0x24 -#define RW_I2     0x28 -#define RW_I3     0x2c -#define RW_I4     0x30 -#define RW_I5     0x34 -#define RW_I6     0x38 -#define RW_I7     0x3c - -/* Stack_frame offsets */ -#define SF_L0     0x00 -#define SF_L1     0x04 -#define SF_L2     0x08 -#define SF_L3     0x0c -#define SF_L4     0x10 -#define SF_L5     0x14 -#define SF_L6     0x18 -#define SF_L7     0x1c -#define SF_I0     0x20 -#define SF_I1     0x24 -#define SF_I2     0x28 -#define SF_I3     0x2c -#define SF_I4     0x30 -#define SF_I5     0x34 -#define SF_FP     0x38 -#define SF_PC     0x3c -#define SF_RETP   0x40 -#define SF_XARG0  0x44 -#define SF_XARG1  0x48 -#define SF_XARG2  0x4c -#define SF_XARG3  0x50 -#define SF_XARG4  0x54 -#define SF_XARG5  0x58 -#define SF_XXARG  0x5c - -/* Stuff for the ptrace system call */ -#define PTRACE_SUNATTACH	  10 -#define PTRACE_SUNDETACH	  11 -#define PTRACE_GETREGS            12 -#define PTRACE_SETREGS            13 -#define PTRACE_GETFPREGS          14 -#define PTRACE_SETFPREGS          15 -#define PTRACE_READDATA           16 -#define PTRACE_WRITEDATA          17 -#define PTRACE_READTEXT           18 -#define PTRACE_WRITETEXT          19 -#define PTRACE_GETFPAREGS         20 -#define PTRACE_SETFPAREGS         21 - -#define PTRACE_GETUCODE           29  /* stupid bsd-ism */ - -#elif defined(__powerpc__) - -struct pt_regs { -  unsigned long gpr[32]; -  unsigned long nip; -  unsigned long msr; -  unsigned long orig_gpr3;	/* Used for restarting system calls */ -  unsigned long ctr; -  unsigned long link; -  unsigned long xer; -  unsigned long ccr; -  unsigned long mq;		/* 601 only (not used at present) */ -				/* Used on APUS to hold IPL value. */ -  unsigned long trap;		/* Reason for being here */ -  unsigned long dar;		/* Fault registers */ -  unsigned long dsisr; -  unsigned long result;		/* Result of a system call */ -}; - -/* - * Offsets used by 'ptrace' system call interface. - * These can't be changed without breaking binary compatibility - * with MkLinux, etc. - */ -#define PT_R0	0 -#define PT_R1	1 -#define PT_R2	2 -#define PT_R3	3 -#define PT_R4	4 -#define PT_R5	5 -#define PT_R6	6 -#define PT_R7	7 -#define PT_R8	8 -#define PT_R9	9 -#define PT_R10	10 -#define PT_R11	11 -#define PT_R12	12 -#define PT_R13	13 -#define PT_R14	14 -#define PT_R15	15 -#define PT_R16	16 -#define PT_R17	17 -#define PT_R18	18 -#define PT_R19	19 -#define PT_R20	20 -#define PT_R21	21 -#define PT_R22	22 -#define PT_R23	23 -#define PT_R24	24 -#define PT_R25	25 -#define PT_R26	26 -#define PT_R27	27 -#define PT_R28	28 -#define PT_R29	29 -#define PT_R30	30 -#define PT_R31	31 - -#define PT_NIP	32 -#define PT_MSR	33 -#define PT_CTR	35 -#define PT_LNK	36 -#define PT_XER	37 -#define PT_CCR	38 -#define PT_MQ	39 - -#define PT_FPR0	48	/* each FP reg occupies 2 slots in this space */ -#define PT_FPR31 (PT_FPR0 + 2*31) -#define PT_FPSCR (PT_FPR0 + 2*32 + 1) - -#elif defined(__hppa__) - -#include <inttypes.h> - -struct pt_regs { -	unsigned long gr[32];	/* PSW is in gr[0] */ -	uint64_t fr[32]; -	unsigned long sr[ 8]; -	unsigned long iasq[2]; -	unsigned long iaoq[2]; -	unsigned long cr27; -	unsigned long pad0;     /* available for other uses */ -	unsigned long orig_r28; -	unsigned long ksp; -	unsigned long kpc; -	unsigned long sar;	/* CR11 */ -	unsigned long iir;	/* CR19 */ -	unsigned long isr;	/* CR20 */ -	unsigned long ior;	/* CR21 */ -	unsigned long ipsw;	/* CR22 */ -}; - -#define PTRACE_SINGLEBLOCK	12	/* resume execution until next branch */ -#define PTRACE_GETSIGINFO	13	/* get child's siginfo structure */ -#define PTRACE_SETSIGINFO	14	/* set child's siginfo structure */ - -#elif defined(__ia64__) - -struct ia64_fpreg { -  union { -    unsigned long bits[2]; -  } u; -} __attribute__ ((aligned (16))); - -struct pt_regs { -	unsigned long cr_ipsr;		/* interrupted task's psr */ -	unsigned long cr_iip;		/* interrupted task's instruction pointer */ -	unsigned long cr_ifs;		/* interrupted task's function state */ -	unsigned long ar_unat;		/* interrupted task's NaT register (preserved) */  -	unsigned long ar_pfs;		/* prev function state  */ -	unsigned long ar_rsc;		/* RSE configuration */ -	unsigned long ar_rnat;		/* RSE NaT */  -	unsigned long ar_bspstore;	/* RSE bspstore */ -	unsigned long pr;		/* 64 predicate registers (1 bit each) */ -	unsigned long b6;		/* scratch */ -	unsigned long loadrs;		/* size of dirty partition << 16 */ -	unsigned long r1;		/* the gp pointer */ -	unsigned long r2;		/* scratch */ -	unsigned long r3;		/* scratch */ -	unsigned long r12;		/* interrupted task's memory stack pointer */ -	unsigned long r13;		/* thread pointer */ -	unsigned long r14;		/* scratch */ -	unsigned long r15;		/* scratch */ -	unsigned long r8;		/* scratch (return value register 0) */ -	unsigned long r9;		/* scratch (return value register 1) */ -	unsigned long r10;		/* scratch (return value register 2) */ -	unsigned long r11;		/* scratch (return value register 3) */ -	unsigned long r16;		/* scratch */ -	unsigned long r17;		/* scratch */ -	unsigned long r18;		/* scratch */ -	unsigned long r19;		/* scratch */ -	unsigned long r20;		/* scratch */ -	unsigned long r21;		/* scratch */ -	unsigned long r22;		/* scratch */ -	unsigned long r23;		/* scratch */ -	unsigned long r24;		/* scratch */ -	unsigned long r25;		/* scratch */ -	unsigned long r26;		/* scratch */ -	unsigned long r27;		/* scratch */ -	unsigned long r28;		/* scratch */ -	unsigned long r29;		/* scratch */ -	unsigned long r30;		/* scratch */ -	unsigned long r31;		/* scratch */ -	unsigned long ar_ccv;		/* compare/exchange value (scratch) */ -	unsigned long ar_fpsr;		/* floating point status (preserved) */ -	unsigned long b0;		/* return pointer (bp) */ -	unsigned long b7;		/* scratch */ -	struct ia64_fpreg f6;		/* scratch */ -	struct ia64_fpreg f7;		/* scratch */ -	struct ia64_fpreg f8;		/* scratch */ -	struct ia64_fpreg f9;		/* scratch */ -}; - -struct switch_stack { -	unsigned long caller_unat;	/* user NaT collection register (preserved) */  -	unsigned long ar_fpsr;		/* floating-point status register */ - -	struct ia64_fpreg f2;		/* preserved */ -	struct ia64_fpreg f3;		/* preserved */ -	struct ia64_fpreg f4;		/* preserved */ -	struct ia64_fpreg f5;		/* preserved */ - -	struct ia64_fpreg f10;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f11;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f12;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f13;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f14;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f15;		/* scratch, but untouched by kernel */ -	struct ia64_fpreg f16;		/* preserved */ -	struct ia64_fpreg f17;		/* preserved */ -	struct ia64_fpreg f18;		/* preserved */ -	struct ia64_fpreg f19;		/* preserved */ -	struct ia64_fpreg f20;		/* preserved */ -	struct ia64_fpreg f21;		/* preserved */ -	struct ia64_fpreg f22;		/* preserved */ -	struct ia64_fpreg f23;		/* preserved */ -	struct ia64_fpreg f24;		/* preserved */ -	struct ia64_fpreg f25;		/* preserved */ -	struct ia64_fpreg f26;		/* preserved */ -	struct ia64_fpreg f27;		/* preserved */ -	struct ia64_fpreg f28;		/* preserved */ -	struct ia64_fpreg f29;		/* preserved */ -	struct ia64_fpreg f30;		/* preserved */ -	struct ia64_fpreg f31;		/* preserved */ - -	unsigned long r4;		/* preserved */ -	unsigned long r5;		/* preserved */ -	unsigned long r6;		/* preserved */ -	unsigned long r7;		/* preserved */ - -	unsigned long b0;		/* so we can force a direct return in copy_thread */ -	unsigned long b1; -	unsigned long b2; -	unsigned long b3; -	unsigned long b4; -	unsigned long b5; - -	unsigned long ar_pfs;		/* previous function state */ -	unsigned long ar_lc;		/* loop counter (preserved) */ -	unsigned long ar_unat;		/* NaT bits for r4-r7 */ -	unsigned long ar_rnat;		/* RSE NaT collection register */  -	unsigned long ar_bspstore;	/* RSE dirty base (preserved) */ -	unsigned long pr;		/* 64 predicate registers (1 bit each) */ -}; - -#endif - -extern long int ptrace(int request, ...) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/reboot.h b/mdk-stage1/dietlibc/include/sys/reboot.h deleted file mode 100644 index b17a556e5..000000000 --- a/mdk-stage1/dietlibc/include/sys/reboot.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _SYS_REBOOT_H -#define _SYS_REBOOT_H - -#define	LINUX_REBOOT_MAGIC1	0xfee1dead -#define	LINUX_REBOOT_MAGIC2	672274793 -#define	LINUX_REBOOT_MAGIC2A	85072278 -#define	LINUX_REBOOT_MAGIC2B	369367448 - -#define	LINUX_REBOOT_CMD_RESTART	0x01234567 -#define	LINUX_REBOOT_CMD_HALT		0xCDEF0123 -#define	LINUX_REBOOT_CMD_CAD_ON		0x89ABCDEF -#define	LINUX_REBOOT_CMD_CAD_OFF	0x00000000 -#define	LINUX_REBOOT_CMD_POWER_OFF	0x4321FEDC -#define	LINUX_REBOOT_CMD_RESTART2	0xA1B2C3D4 - -/* Reboot or halt the system.  */ -int reboot (int flag); - -/* the glibc people changed their macro names :-/ */ -#define RB_AUTOBOOT	0x01234567 -#define RB_HALT_SYSTEM	0xcdef0123 -#define RB_ENABLE_CAD	0x89abcdef -#define RB_DISABLE_CAD	0 -#define RB_POWER_OFF	0x4321fedc - -#endif	/* _SYS_REBOOT_H */ diff --git a/mdk-stage1/dietlibc/include/sys/resource.h b/mdk-stage1/dietlibc/include/sys/resource.h deleted file mode 100644 index df31b82ab..000000000 --- a/mdk-stage1/dietlibc/include/sys/resource.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef _SYS_RESOURCE_H -#define _SYS_RESOURCE_H - -#include <time.h> -#include <sys/cdefs.h> - -#define RUSAGE_SELF	0 -#define RUSAGE_CHILDREN	(-1) -#define RUSAGE_BOTH	(-2)		/* sys_wait4() uses this */ - -struct	rusage { -  struct timeval ru_utime;	/* user time used */ -  struct timeval ru_stime;	/* system time used */ -  long	ru_maxrss;		/* maximum resident set size */ -  long	ru_ixrss;		/* integral shared memory size */ -  long	ru_idrss;		/* integral unshared data size */ -  long	ru_isrss;		/* integral unshared stack size */ -  long	ru_minflt;		/* page reclaims */ -  long	ru_majflt;		/* page faults */ -  long	ru_nswap;		/* swaps */ -  long	ru_inblock;		/* block input operations */ -  long	ru_oublock;		/* block output operations */ -  long	ru_msgsnd;		/* messages sent */ -  long	ru_msgrcv;		/* messages received */ -  long	ru_nsignals;		/* signals received */ -  long	ru_nvcsw;		/* voluntary context switches */ -  long	ru_nivcsw;		/* involuntary " */ -}; - -struct rlimit { -  unsigned long	rlim_cur; -  unsigned long	rlim_max; -}; - -#define PRIO_MIN	(-20) -#define PRIO_MAX	20 - -#define PRIO_PROCESS	0 -#define PRIO_PGRP	1 -#define PRIO_USER	2 - -#define RLIMIT_CPU	0		/* CPU time in ms */ -#define RLIMIT_FSIZE	1		/* Maximum filesize */ -#define RLIMIT_DATA	2		/* max data size */ -#define RLIMIT_STACK	3		/* max stack size */ -#define RLIMIT_CORE	4		/* max core file size */ -#define RLIMIT_RSS	5		/* max resident set size */ -#define RLIMIT_NPROC	6		/* max number of processes */ -#define RLIMIT_NOFILE	7		/* max number of open files */ -#define RLIMIT_MEMLOCK	8		/* max locked-in-memory address space */ -#define RLIMIT_AS	9		/* address space limit */ -#define RLIMIT_LOCKS	10		/* maximum file locks held */ - -#define RLIM_NLIMITS	11 - -#define RLIM_INFINITY ((long)(~0UL>>1)) - -int getpriority(int which, int who) __THROW; -int setpriority(int which, int who, int prio) __THROW; - -int getrlimit (int resource, struct rlimit *rlim); -int getrusage (int who, struct rusage *usage); -int setrlimit (int resource, const struct rlimit *rlim); - -typedef unsigned long rlim_t; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/s390-ioctl.h b/mdk-stage1/dietlibc/include/sys/s390-ioctl.h deleted file mode 100644 index 4682a0fda..000000000 --- a/mdk-stage1/dietlibc/include/sys/s390-ioctl.h +++ /dev/null @@ -1,141 +0,0 @@ - -/* ioctl command encoding: 32 bits total, command in lower 16 bits, - * size of the parameter structure in the lower 14 bits of the - * upper 16 bits. - * Encoding the size of the parameter structure in the ioctl request - * is useful for catching programs compiled with old versions - * and to avoid overwriting user space outside the user buffer area. - * The highest 2 bits are reserved for indicating the ``access mode''. - * NOTE: This limits the max parameter size to 16kB -1 ! - */ - -/* - * The following is for compatibility across the various Linux - * platforms.  The i386 ioctl numbering scheme doesn't really enforce - * a type field.  De facto, however, the top 8 bits of the lower 16 - * bits are indeed used as a type field, so we might just as well make - * this explicit here.  Please be sure to use the decoding macros - * below from now on. - */ -#define _IOC_NRBITS	8 -#define _IOC_TYPEBITS	8 -#define _IOC_SIZEBITS	14 -#define _IOC_DIRBITS	2 - -#define _IOC_NRMASK	((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK	((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK	((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT	0 -#define _IOC_TYPESHIFT	(_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT	(_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* - * Direction bits. - */ -#define _IOC_NONE	0U -#define _IOC_WRITE	1U -#define _IOC_READ	2U - -#define _IOC(dir,type,nr,size) \ -	(((dir)  << _IOC_DIRSHIFT) | \ -	 ((type) << _IOC_TYPESHIFT) | \ -	 ((nr)   << _IOC_NRSHIFT) | \ -	 ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO(type,nr)		_IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)	_IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)	_IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size)	_IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR(nr)		(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)		(((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)		(((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)		(((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN		(_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT		(_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT	((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK	(_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT	(_IOC_SIZESHIFT) - -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS		0x5401 -#define TCSETS		0x5402 -#define TCSETSW		0x5403 -#define TCSETSF		0x5404 -#define TCGETA		0x5405 -#define TCSETA		0x5406 -#define TCSETAW		0x5407 -#define TCSETAF		0x5408 -#define TCSBRK		0x5409 -#define TCXONC		0x540A -#define TCFLSH		0x540B -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E -#define TIOCGPGRP	0x540F -#define TIOCSPGRP	0x5410 -#define TIOCOUTQ	0x5411 -#define TIOCSTI		0x5412 -#define TIOCGWINSZ	0x5413 -#define TIOCSWINSZ	0x5414 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define FIONREAD	0x541B -#define TIOCINQ		FIONREAD -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -#define FIONBIO		0x5421 -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */ -#define TIOCSBRK	0x5427  /* BSD compatibility */ -#define TIOCCBRK	0x5428  /* BSD compatibility */ -#define TIOCGSID	0x5429  /* Return the session ID of FD */ -#define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ -#define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */ - -#define FIONCLEX	0x5450  /* these numbers need to be adjusted. */ -#define FIOCLEX		0x5451 -#define FIOASYNC	0x5452 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */ -#define FIOQSIZE	0x545E - -/* Used for packet mode */ -#define TIOCPKT_DATA		 0 -#define TIOCPKT_FLUSHREAD	 1 -#define TIOCPKT_FLUSHWRITE	 2 -#define TIOCPKT_STOP		 4 -#define TIOCPKT_START		 8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */ diff --git a/mdk-stage1/dietlibc/include/sys/select.h b/mdk-stage1/dietlibc/include/sys/select.h deleted file mode 100644 index ce67b8bee..000000000 --- a/mdk-stage1/dietlibc/include/sys/select.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _SYS_SELECT_H -#define _SYS_SELECT_H - -typedef long int fd_mask; - -#define NFDBITS	(8 * sizeof(unsigned long)) -#define FD_SETSIZE	1024 -#define __FDSET_LONGS	(FD_SETSIZE/NFDBITS) -#define __FDELT(d)	((d) / NFDBITS) -#define __FDMASK(d)	(1UL << ((d) % NFDBITS)) - -typedef struct { -  unsigned long fds_bits [__FDSET_LONGS]; -} fd_set; - -#define FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) -#define FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) -#define FD_ISSET(d, set)	(((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) -#define FD_ZERO(set)	\ -  ((void) memset ((void*) (set), 0, sizeof (fd_set))) - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/sem.h b/mdk-stage1/dietlibc/include/sys/sem.h deleted file mode 100644 index ad16b5f53..000000000 --- a/mdk-stage1/dietlibc/include/sys/sem.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _SYS_SEM_H -#define _SYS_SEM_H - -#include <sys/ipc.h> - -/* semop flags */ -#define SEM_UNDO        0x1000  /* undo the operation on exit */ - -/* semctl Command Definitions. */ -#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 */ - -/* ipcs ctl cmds */ -#define SEM_STAT 18 -#define SEM_INFO 19 - -struct semid_ds { -  struct ipc_perm	sem_perm;		/* permissions .. see ipc.h */ -  time_t		sem_otime;		/* last semop time */ -  time_t		sem_ctime;		/* last change time */ -  struct sem		*sem_base;		/* ptr to first semaphore in array */ -  struct sem_queue	*sem_pending;		/* pending operations to be processed */ -  struct sem_queue	**sem_pending_last;	/* last pending operation */ -  struct sem_undo	*undo;			/* undo requests on this array */ -  unsigned short	sem_nsems;		/* no. of semaphores in array */ -}; - -/* semop system calls takes an array of these. */ -struct sembuf { -  unsigned short  sem_num;	/* semaphore index in array */ -  short		sem_op;		/* semaphore operation */ -  short		sem_flg;	/* operation flags */ -}; - -/* please complain to the glibc goons for the following misbehaviour */ -#if 0 -/* arg for semctl system calls. */ -union semun { -  int val;			/* value for SETVAL */ -  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */ -  unsigned short *array;		/* array for GETALL & SETALL */ -  struct seminfo *__buf;		/* buffer for IPC_INFO */ -  void *__pad; -}; -#endif -#define _SEM_SEMUN_UNDEFINED - -struct  seminfo { -  int semmap; -  int semmni; -  int semmns; -  int semmnu; -  int semmsl; -  int semopm; -  int semume; -  int semusz; -  int semvmx; -  int semaem; -}; - -#define SEMMNI  128		/* <= IPCMNI  max # of semaphore identifiers */ -#define SEMMSL  250		/* <= 8 000 max num of semaphores per id */ -#define SEMMNS  (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */ -#define SEMOPM  32		/* <= 1 000 max num of ops per semop call */ -#define SEMVMX  32767		/* <= 32767 semaphore maximum value */ - -extern int semget( key_t key, int nsems, int semflg) __THROW; - -/* The prototype really is: - * extern int semctl(int semid, int semnum, int cmd, union semun arg) __THROW; - * glibc bug compatibility forces us to write it like this: */ -extern int semctl(int semid, int semnum, int cmd, ...) __THROW; - -extern int semop(int semid, struct sembuf *sops, unsigned nsops) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/sendfile.h b/mdk-stage1/dietlibc/include/sys/sendfile.h deleted file mode 100644 index ce6630676..000000000 --- a/mdk-stage1/dietlibc/include/sys/sendfile.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef _SYS_SENDFILE_H -#define _SYS_SENDFILE_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -extern ssize_t sendfile (int out_fd, int in_fd, off_t* offset, -			 size_t count) __THROW; - -extern ssize_t sendfile64 (int out_fd, int in_fd, loff_t* offset, -			   size_t count) __THROW; - -#endif	/* sys/sendfile.h */ diff --git a/mdk-stage1/dietlibc/include/sys/shm.h b/mdk-stage1/dietlibc/include/sys/shm.h deleted file mode 100644 index 879a8786e..000000000 --- a/mdk-stage1/dietlibc/include/sys/shm.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef _SYS_SHM_H -#define _SYS_SHM_H - -#include <sys/ipc.h> - -#define SHMMAX 0x2000000		 /* max shared seg size (bytes) */ -#define SHMMIN 1			 /* min shared seg size (bytes) */ -#define SHMMNI 4096			 /* max num of segs system wide */ -#define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) /* max shm system wide (pages) */ -#define SHMSEG SHMMNI			 /* max shared segs per process */ - -struct shmid_ds { -  struct ipc_perm	shm_perm;	/* operation perms */ -  int			shm_segsz;	/* size of segment (bytes) */ -  time_t		shm_atime;	/* last attach time */ -  time_t		shm_dtime;	/* last detach time */ -  time_t		shm_ctime;	/* last change time */ -  pid_t			shm_cpid;	/* pid of creator */ -  pid_t			shm_lpid;	/* pid of last operator */ -  unsigned short	shm_nattch;	/* no. of current attaches */ -  unsigned short 	shm_unused;	/* compatibility */ -  void 			*shm_unused2;	/* ditto - used by DIPC */ -  void			*shm_unused3;	/* unused */ -}; - -/* 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> */ - -/* mode for attach */ -#define	SHM_RDONLY	010000	/* read-only access */ -#define	SHM_RND		020000	/* round attach address to SHMLBA boundary */ -#define	SHM_REMAP	040000	/* take-over region on attach */ - -/* super user shmctl commands */ -#define SHM_LOCK 	11 -#define SHM_UNLOCK 	12 - -/* ipcs ctl commands */ -#define SHM_STAT 	13 -#define SHM_INFO 	14 - -/* Obsolete, used only for backwards compatibility */ -struct	shminfo { -  int shmmax; -  int shmmin; -  int shmmni; -  int shmseg; -  int shmall; -}; - -struct shm_info { -  int used_ids; -  unsigned long shm_tot;	/* total allocated shm */ -  unsigned long shm_rss;	/* total resident shm */ -  unsigned long shm_swp;	/* total swapped shm */ -  unsigned long swap_attempts; -  unsigned long swap_successes; -}; - -#if defined(__i386__) || defined(__mips__) || defined(__arm__) || defined(__powerpc__) || defined(__s390__) || defined(__hppa__) || defined(__x86_64__) || defined(__ia64__) -#define PAGE_SIZE 4096UL -#define PAGE_SHIFT 12 -#elif defined(__alpha__) || defined(__sparc__) -/* sun4* has 4k except sun4 architecture, sparc64 has 8k */ -#define PAGE_SIZE 8192UL -#define PAGE_SHIFT 13 -#endif - -extern int shmget(key_t key, int size, int shmflg) __THROW; -extern void *shmat(int shmid, const void *shmaddr, int shmflg) __THROW; -extern int shmdt (const void *shmaddr) __THROW; -extern int shmctl(int shmid, int cmd, struct shmid_ds *buf) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/signal.h b/mdk-stage1/dietlibc/include/sys/signal.h deleted file mode 100644 index 2e602dad8..000000000 --- a/mdk-stage1/dietlibc/include/sys/signal.h +++ /dev/null @@ -1 +0,0 @@ -#include <signal.h> diff --git a/mdk-stage1/dietlibc/include/sys/socket.h b/mdk-stage1/dietlibc/include/sys/socket.h deleted file mode 100644 index a1130c4f6..000000000 --- a/mdk-stage1/dietlibc/include/sys/socket.h +++ /dev/null @@ -1,526 +0,0 @@ -#ifndef _SYS_SOCKET_H -#define _SYS_SOCKET_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* For setsockoptions(2) */ -#if defined(__alpha__) || defined(__mips__) -#define SOL_SOCKET	0xffff - -#define SO_DEBUG	0x0001 -#define SO_REUSEADDR	0x0004 -#define SO_TYPE		0x1008 -#define SO_ERROR	0x1007 -#define SO_DONTROUTE	0x0010 -#define SO_BROADCAST	0x0020 -#define SO_SNDBUF	0x1001 -#define SO_RCVBUF	0x1002 -#define SO_KEEPALIVE	0x0008 -#define SO_OOBINLINE	0x0100 -#define SO_NO_CHECK	11 -#define SO_PRIORITY	12 -#define SO_LINGER	0x0080 -#define SO_BSDCOMPAT	14 -/* To add :#define SO_REUSEPORT 15 */ -#define SO_PASSCRED	17 -#define SO_PEERCRED	18 -#define SO_RCVLOWAT	0x1004 -#define SO_SNDLOWAT	0x1003 -#define SO_RCVTIMEO	0x1006 -#define SO_SNDTIMEO	0x1005 -#define SO_ACCEPTCONN	0x1009 - -#define SO_STYLE	SO_TYPE /* Synonym */ - -#elif defined(__hppa__) -#define SOL_SOCKET	0xffff - -#define SO_DEBUG	0x0001 -#define SO_REUSEADDR	0x0004 -#define SO_KEEPALIVE	0x0008 -#define SO_DONTROUTE	0x0010 -#define SO_BROADCAST	0x0020 -#define SO_LINGER	0x0080 -#define SO_OOBINLINE	0x0100 -/* To add :#define SO_REUSEPORT 0x0200 */ -#define SO_SNDBUF	0x1001 -#define SO_RCVBUF	0x1002 -#define SO_SNDLOWAT	0x1003 -#define SO_RCVLOWAT	0x1004 -#define SO_SNDTIMEO	0x1005 -#define SO_RCVTIMEO	0x1006 -#define SO_ERROR	0x1007 -#define SO_TYPE	0x1008 -#define SO_PEERNAME	0x2000 - -#define SO_NO_CHECK	0x400b -#define SO_PRIORITY	0x400c -#define SO_BSDCOMPAT	0x400e -#define SO_PASSCRED	0x4010 -#define SO_PEERCRED	0x4011 -#define SO_TIMESTAMP	0x4012 -#define SCM_TIMESTAMP   SO_TIMESTAMP - -/* Security levels - as per NRL IPv6 - don't actually do anything */ -#define SO_SECURITY_AUTHENTICATION	0x4016 -#define SO_SECURITY_ENCRYPTION_TRANSPORT	0x4017 -#define SO_SECURITY_ENCRYPTION_NETWORK	0x4018 - -#define SO_BINDTODEVICE	0x4019 - -/* Socket filtering */ -#define SO_ATTACH_FILTER	0x401a -#define SO_DETACH_FILTER	0x401b - -#define SO_ACCEPTCONN	0x401c - -#elif defined(__sparc__) -#define SOL_SOCKET	0xffff - -#define SO_DEBUG	0x0001 -#define SO_PASSCRED	0x0002 -#define SO_REUSEADDR	0x0004 -#define SO_KEEPALIVE	0x0008 -#define SO_DONTROUTE	0x0010 -#define SO_BROADCAST	0x0020 -#define SO_PEERCRED	0x0040 -#define SO_LINGER	0x0080 -#define SO_OOBINLINE	0x0100 -/* To add :#define SO_REUSEPORT 0x0200 */ -#define SO_BSDCOMPAT	0x0400 -#define SO_RCVLOWAT	0x0800 -#define SO_SNDLOWAT	0x1000 -#define SO_RCVTIMEO	0x2000 -#define SO_SNDTIMEO	0x4000 -#define SO_ACCEPTCONN	0x8000 - -#define SO_DONTLINGER	(~SO_LINGER)  /* Older SunOS compat. hack */ - -#define SO_SNDBUF	0x1001 -#define SO_RCVBUF	0x1002 -#define SO_ERROR	0x1007 -#define SO_TYPE		0x1008 - -#define SO_ATTACH_FILTER	0x001a -#define SO_DETACH_FILTER	0x001b - -#define SO_PEERNAME	0x001c -#define SO_TIMESTAMP	0x001d -#define SCM_TIMESTAMP	SO_TIMESTAMP - -/* Security levels - as per NRL IPv6 - don't actually do anything */ -#define SO_SECURITY_AUTHENTICATION              0x5001 -#define SO_SECURITY_ENCRYPTION_TRANSPORT        0x5002 -#define SO_SECURITY_ENCRYPTION_NETWORK          0x5004 - -#else - -#define SOL_SOCKET	1 - -#define SO_DEBUG	1 -#define SO_REUSEADDR	2 -#define SO_TYPE		3 -#define SO_ERROR	4 -#define SO_DONTROUTE	5 -#define SO_BROADCAST	6 -#define SO_SNDBUF	7 -#define SO_RCVBUF	8 -#define SO_KEEPALIVE	9 -#define SO_OOBINLINE	10 -#define SO_NO_CHECK	11 -#define SO_PRIORITY	12 -#define SO_LINGER	13 -#define SO_BSDCOMPAT	14 -/* To add :#define SO_REUSEPORT 15 */ -#define SO_PASSCRED	16 -#define SO_PEERCRED	17 -#define SO_RCVLOWAT	18 -#define SO_SNDLOWAT	19 -#define SO_RCVTIMEO	20 -#define SO_SNDTIMEO	21 -#define SO_ACCEPTCONN		30 - -#endif - -#if !defined(__hppa__) && !defined(__sparc__) -/* Security levels - as per NRL IPv6 - don't actually do anything */ -#define SO_SECURITY_AUTHENTICATION		22 -#define SO_SECURITY_ENCRYPTION_TRANSPORT	23 -#define SO_SECURITY_ENCRYPTION_NETWORK		24 - -#define SO_BINDTODEVICE	25 - -/* Socket filtering */ -#define SO_ATTACH_FILTER        26 -#define SO_DETACH_FILTER        27 - -#define SO_PEERNAME		28 -#define SO_TIMESTAMP		29 -#define SCM_TIMESTAMP		SO_TIMESTAMP -#endif - -/* Socket types. */ -#ifdef __mips__ -#define SOCK_DGRAM	1		/* datagram (conn.less) socket	*/ -#define SOCK_STREAM	2		/* stream (connection) socket	*/ -#else -#define SOCK_STREAM	1		/* stream (connection) socket	*/ -#define SOCK_DGRAM	2		/* datagram (conn.less) socket	*/ -#endif -#define SOCK_RAW	3		/* raw socket			*/ -#define SOCK_RDM	4		/* reliably-delivered message	*/ -#define SOCK_SEQPACKET	5		/* sequential packet socket	*/ -#define SOCK_PACKET	10		/* linux specific way of	*/ -					/* getting packets at the dev	*/ -					/* level.  For writing rarp and	*/ -					/* other similar things on the	*/ -					/* user level.			*/ - -struct sockaddr { -  sa_family_t sa_family; -  char sa_data[14]; -}; - -struct linger { -  int l_onoff; -  int l_linger; -}; - -struct iovec { -  void* iov_base;	/* BSD uses caddr_t (1003.1g requires void *) */ -  size_t iov_len;	/* Must be size_t (1003.1g) */ -}; - -struct msghdr { -  void* msg_name;		/* Socket name */ -  int msg_namelen;		/* Length of name */ -  struct iovec* msg_iov;	/* Data blocks */ -  size_t msg_iovlen;		/* Number of blocks */ -  void* msg_control;		/* Per protocol magic (eg BSD file descriptor passing) */ -  size_t msg_controllen;	/* Length of cmsg list */ -  unsigned msg_flags; -}; - -struct cmsghdr { -  size_t cmsg_len;	/* data byte count, including hdr */ -  int cmsg_level;	/* originating protocol */ -  int cmsg_type;	/* protocol-specific type */ -}; - -#define UIO_FASTIOV	8 -#define UIO_MAXIOV	1024 - -/* "Socket"-level control message types: */ - -#define SCM_RIGHTS	0x01	/* rw: access rights (array of int) */ -#define SCM_CREDENTIALS	0x02	/* rw: struct ucred             */ -#define SCM_CONNECT	0x03	/* rw: struct scm_connect       */ - -struct ucred { -  unsigned int pid; -  unsigned int uid; -  unsigned int gid; -}; - -/* Supported address families. */ -#define AF_UNSPEC	0 -#define AF_UNIX		1	/* Unix domain sockets 		*/ -#define AF_LOCAL	1	/* POSIX name for AF_UNIX	*/ -#define AF_INET		2	/* Internet IP Protocol 	*/ -#define AF_AX25		3	/* Amateur Radio AX.25 		*/ -#define AF_IPX		4	/* Novell IPX 			*/ -#define AF_APPLETALK	5	/* AppleTalk DDP 		*/ -#define AF_NETROM	6	/* Amateur Radio NET/ROM 	*/ -#define AF_BRIDGE	7	/* Multiprotocol bridge 	*/ -#define AF_ATMPVC	8	/* ATM PVCs			*/ -#define AF_X25		9	/* Reserved for X.25 project 	*/ -#define AF_INET6	10	/* IP version 6			*/ -#define AF_ROSE		11	/* Amateur Radio X.25 PLP	*/ -#define AF_DECnet	12	/* Reserved for DECnet project	*/ -#define AF_NETBEUI	13	/* Reserved for 802.2LLC project*/ -#define AF_SECURITY	14	/* Security callback pseudo AF */ -#define AF_KEY		15      /* PF_KEY key management API */ -#define AF_NETLINK	16 -#define AF_ROUTE	AF_NETLINK /* Alias to emulate 4.4BSD */ -#define AF_PACKET	17	/* Packet family		*/ -#define AF_ASH		18	/* Ash				*/ -#define AF_ECONET	19	/* Acorn Econet			*/ -#define AF_ATMSVC	20	/* ATM SVCs			*/ -#define AF_SNA		22	/* Linux SNA Project (nutters!) */ -#define AF_IRDA		23	/* IRDA sockets			*/ -#define AF_PPPOX	24	/* PPPoX sockets		*/ -#define AF_WANPIPE	25	/* Wanpipe API Sockets */ -#define AF_MAX		32	/* For now.. */ - -/* Protocol families, same as address families. */ -#define PF_UNSPEC	AF_UNSPEC -#define PF_UNIX		AF_UNIX -#define PF_LOCAL	AF_LOCAL -#define PF_INET		AF_INET -#define PF_AX25		AF_AX25 -#define PF_IPX		AF_IPX -#define PF_APPLETALK	AF_APPLETALK -#define	PF_NETROM	AF_NETROM -#define PF_BRIDGE	AF_BRIDGE -#define PF_ATMPVC	AF_ATMPVC -#define PF_X25		AF_X25 -#define PF_INET6	AF_INET6 -#define PF_ROSE		AF_ROSE -#define PF_DECnet	AF_DECnet -#define PF_NETBEUI	AF_NETBEUI -#define PF_SECURITY	AF_SECURITY -#define PF_KEY		AF_KEY -#define PF_NETLINK	AF_NETLINK -#define PF_ROUTE	AF_ROUTE -#define PF_PACKET	AF_PACKET -#define PF_ASH		AF_ASH -#define PF_ECONET	AF_ECONET -#define PF_ATMSVC	AF_ATMSVC -#define PF_SNA		AF_SNA -#define PF_IRDA		AF_IRDA -#define PF_PPPOX	AF_PPPOX -#define PF_WANPIPE	AF_WANPIPE -#define PF_MAX		AF_MAX - -/* Maximum queue length specifiable by listen.  */ -#define SOMAXCONN	128 - -/* Flags we can use with send/ and recv. -   Added those for 1003.1g not all are supported yet */ -#define MSG_OOB		1 -#define MSG_PEEK	2 -#define MSG_DONTROUTE	4 -#define MSG_TRYHARD     4       /* Synonym for MSG_DONTROUTE for DECnet */ -#define MSG_CTRUNC	8 -#define MSG_PROBE	0x10	/* Do not send. Only probe path f.e. for MTU */ -#define MSG_TRUNC	0x20 -#define MSG_DONTWAIT	0x40	/* Nonblocking io		 */ -#define MSG_EOR         0x80	/* End of record */ -#define MSG_WAITALL	0x100	/* Wait for a full request */ -#define MSG_FIN         0x200 -#define MSG_EOF         MSG_FIN -#define MSG_SYN		0x400 -#define MSG_CONFIRM	0x800	/* Confirm path validity */ -#define MSG_RST		0x1000 -#define MSG_ERRQUEUE	0x2000	/* Fetch message from error queue */ -#define MSG_NOSIGNAL	0x4000	/* Do not generate SIGPIPE */ -#define MSG_MORE	0x8000	/* Sender will send more */ - -/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */ -#define SOL_IP		0 -/* #define SOL_ICMP	1	No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 */ -#define SOL_TCP		6 -#define SOL_UDP		17 -#define SOL_IPV6	41 -#define SOL_ICMPV6	58 -#define SOL_RAW		255 -#define SOL_IPX		256 -#define SOL_AX25	257 -#define SOL_ATALK	258 -#define SOL_NETROM	259 -#define SOL_ROSE	260 -#define SOL_DECNET	261 -#define	SOL_X25		262 -#define SOL_PACKET	263 -#define SOL_ATM		264	/* ATM layer (cell level) */ -#define SOL_AAL		265	/* ATM Adaption Layer (packet level) */ -#define SOL_IRDA        266 - -/* IPX options */ -#define IPX_TYPE	1 - -#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) -#define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg)) -#define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) - -static inline struct cmsghdr* __cmsg_nxthdr(void *__ctl, size_t __size, struct cmsghdr *__cmsg) -{ -  struct cmsghdr * __ptr; -  __ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) +  CMSG_ALIGN(__cmsg->cmsg_len)); -  if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size) -    return (struct cmsghdr *)0; -  return __ptr; -} - -static inline struct cmsghdr* cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg) -{ -  return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg); -} - -#define CMSG_DATA(cmsg)	((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) -#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) -#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) - -#define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? \ -				  (struct cmsghdr *)(ctl) : \ -				  (struct cmsghdr *)NULL) -#define CMSG_FIRSTHDR(msg)	__CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) - -struct sockaddr_storage { -  sa_family_t  ss_family; -  uint32_t  __ss_align; -  char __ss_padding[(128  - (2 * sizeof (uint32_t ))) ]; -}; - -#ifndef SOCK_DGRAM -/* the Linux kernel headers suck really badly on non-x86 */ -#define SOCK_STREAM	1		/* stream (connection) socket	*/ -#define SOCK_DGRAM	2		/* datagram (conn.less) socket	*/ -#define SOCK_RAW	3		/* raw socket			*/ -#define SOCK_RDM	4		/* reliably-delivered message	*/ -#define SOCK_SEQPACKET	5		/* sequential packet socket	*/ -#define SOCK_PACKET	10		/* linux specific way of	*/ -#endif - -int socket(int domain, int type, int protocol) __THROW; -int accept(int s, struct sockaddr *addr, socklen_t *addrlen) __THROW; -int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) __THROW; -int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen) __THROW; -int recv(int s, void *buf, size_t len, int flags) __THROW; -int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) __THROW; -int recvmsg(int s, struct msghdr *msg, int flags) __THROW; -int send(int s, const void *msg, size_t len, int flags) __THROW; -int sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) __THROW; -int sendmsg(int s, const struct msghdr *msg, int flags) __THROW; - -int getpeername(int s, struct sockaddr *name, socklen_t *namelen) __THROW; -int getsockname(int  s , struct sockaddr * name , socklen_t * namelen) __THROW; - -int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen) __THROW; -int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen) __THROW; - -int listen(int s, int backlog) __THROW; - -#define SHUT_RD 0 -#define SHUT_WR 1 -#define SHUT_RDWR 2 -int shutdown(int s, int how) __THROW; - -int socketpair(int d, int type, int protocol, int sv[2]); - -/* currently not supported: */ -#define NI_NOFQDN 1 - -#define NI_NUMERICHOST 2 -#define NI_NAMEREQD 4 -#define NI_NUMERICSERV 8 -#define NI_DGRAM 16 - -struct addrinfo { -  int     ai_flags; -  int     ai_family; -  int     ai_socktype; -  int     ai_protocol; -  size_t  ai_addrlen; -  struct sockaddr *ai_addr; -  char   *ai_canonname; -  struct addrinfo *ai_next; -}; - -int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, -		size_t hostlen, char *serv, size_t servlen, int flags) __THROW; -int getaddrinfo(const char *node, const char *service, const struct -		addrinfo *hints, struct addrinfo **res) __THROW; -void freeaddrinfo(struct addrinfo *res) __THROW; -const char *gai_strerror(int errcode) __THROW; - -#define EAI_FAMILY -1 -#define EAI_SOCKTYPE -2 -#define EAI_BADFLAGS -3 -#define EAI_NONAME -4 -#define EAI_SERVICE -5 -#define EAI_ADDRFAMILY -6 -#define EAI_NODATA -7 -#define EAI_MEMORY -8 -#define EAI_FAIL -9 -#define EAI_AGAIN -10 -#define EAI_SYSTEM -11 - -#define AI_NUMERICHOST 1 -#define AI_CANONNAME 2 -#define AI_PASSIVE 4 - -/* Linux-specific socket ioctls */ -#define SIOCINQ		FIONREAD -#define SIOCOUTQ	TIOCOUTQ - -/* Routing table calls. */ -#define SIOCADDRT	0x890B		/* add routing table entry	*/ -#define SIOCDELRT	0x890C		/* delete routing table entry	*/ -#define SIOCRTMSG	0x890D		/* call to routing system	*/ - -/* Socket configuration controls. */ -#define SIOCGIFNAME	0x8910		/* get iface name		*/ -#define SIOCSIFLINK	0x8911		/* set iface channel		*/ -#define SIOCGIFCONF	0x8912		/* get iface list		*/ -#define SIOCGIFFLAGS	0x8913		/* get flags			*/ -#define SIOCSIFFLAGS	0x8914		/* set flags			*/ -#define SIOCGIFADDR	0x8915		/* get PA address		*/ -#define SIOCSIFADDR	0x8916		/* set PA address		*/ -#define SIOCGIFDSTADDR	0x8917		/* get remote PA address	*/ -#define SIOCSIFDSTADDR	0x8918		/* set remote PA address	*/ -#define SIOCGIFBRDADDR	0x8919		/* get broadcast PA address	*/ -#define SIOCSIFBRDADDR	0x891a		/* set broadcast PA address	*/ -#define SIOCGIFNETMASK	0x891b		/* get network PA mask		*/ -#define SIOCSIFNETMASK	0x891c		/* set network PA mask		*/ -#define SIOCGIFMETRIC	0x891d		/* get metric			*/ -#define SIOCSIFMETRIC	0x891e		/* set metric			*/ -#define SIOCGIFMEM	0x891f		/* get memory address (BSD)	*/ -#define SIOCSIFMEM	0x8920		/* set memory address (BSD)	*/ -#define SIOCGIFMTU	0x8921		/* get MTU size			*/ -#define SIOCSIFMTU	0x8922		/* set MTU size			*/ -#define SIOCSIFNAME	0x8923		/* set interface name */ -#define SIOCSIFHWADDR	0x8924		/* set hardware address 	*/ -#define SIOCGIFENCAP	0x8925		/* get/set encapsulations       */ -#define SIOCSIFENCAP	0x8926		 -#define SIOCGIFHWADDR	0x8927		/* Get hardware address		*/ -#define SIOCGIFSLAVE	0x8929		/* Driver slaving support	*/ -#define SIOCSIFSLAVE	0x8930 -#define SIOCADDMULTI	0x8931		/* Multicast address lists	*/ -#define SIOCDELMULTI	0x8932 -#define SIOCGIFINDEX	0x8933		/* name -> if_index mapping	*/ -#define SIOGIFINDEX	SIOCGIFINDEX	/* misprint compatibility :-)	*/ -#define SIOCSIFPFLAGS	0x8934		/* set/get extended flags set	*/ -#define SIOCGIFPFLAGS	0x8935 -#define SIOCDIFADDR	0x8936		/* delete PA address		*/ -#define SIOCSIFHWBROADCAST	0x8937	/* set hardware broadcast addr	*/ -#define SIOCGIFCOUNT	0x8938		/* get number of devices */ - -#define SIOCGIFBR	0x8940		/* Bridging support		*/ -#define SIOCSIFBR	0x8941		/* Set bridging options 	*/ - -#define SIOCGIFTXQLEN	0x8942		/* Get the tx queue length	*/ -#define SIOCSIFTXQLEN	0x8943		/* Set the tx queue length 	*/ - -#define SIOCGIFDIVERT	0x8944		/* Frame diversion support */ -#define SIOCSIFDIVERT	0x8945		/* Set frame diversion options */ - -#define SIOCETHTOOL	0x8946		/* Ethtool interface		*/ - -/* ARP cache control calls. */ -		    /*  0x8950 - 0x8952  * obsolete calls, don't re-use */ -#define SIOCDARP	0x8953		/* delete ARP table entry	*/ -#define SIOCGARP	0x8954		/* get ARP table entry		*/ -#define SIOCSARP	0x8955		/* set ARP table entry		*/ - -/* RARP cache control calls. */ -#define SIOCDRARP	0x8960		/* delete RARP table entry	*/ -#define SIOCGRARP	0x8961		/* get RARP table entry		*/ -#define SIOCSRARP	0x8962		/* set RARP table entry		*/ - -/* Driver configuration calls */ - -#define SIOCGIFMAP	0x8970		/* Get device parameters	*/ -#define SIOCSIFMAP	0x8971		/* Set device parameters	*/ - -/* DLCI configuration calls */ - -#define SIOCADDDLCI	0x8980		/* Create new DLCI device	*/ -#define SIOCDELDLCI	0x8981		/* Delete DLCI device		*/ - -#define SIOCDEVPRIVATE	0x89F0		/* to 89FF */ - -#define _LINUX_SOCKET_H - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/soundcard.h b/mdk-stage1/dietlibc/include/sys/soundcard.h deleted file mode 100644 index e8766499a..000000000 --- a/mdk-stage1/dietlibc/include/sys/soundcard.h +++ /dev/null @@ -1,1300 +0,0 @@ -#ifndef _SYS_SOUNDCARD_H -#define _SYS_SOUNDCARD_H - -/* - * Copyright by Hannu Savolainen 1993-1997 - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. 2. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - - -/* - * OSS interface version. With versions earlier than 3.6 this value is - * an integer with value less than 361. In versions 3.6 and later - * it's a six digit hexadecimal value. For example value - * of 0x030600 represents OSS version 3.6.0. - * Use ioctl(fd, OSS_GETVERSION, &int) to get the version number of - * the currently active driver. - */ -#define SOUND_VERSION	0x030802 -#define OPEN_SOUND_SYSTEM - -/* In Linux we need to be prepared for cross compiling */ -#include <sys/ioctl.h> - -/* - *	Supported card ID numbers (Should be somewhere else?) - */ - -#define SNDCARD_ADLIB		1 -#define SNDCARD_SB		2 -#define SNDCARD_PAS		3 -#define SNDCARD_GUS		4 -#define SNDCARD_MPU401		5 -#define SNDCARD_SB16		6 -#define SNDCARD_SB16MIDI	7 -#define SNDCARD_UART6850	8 -#define SNDCARD_GUS16		9 -#define SNDCARD_MSS		10 -#define SNDCARD_PSS     	11 -#define SNDCARD_SSCAPE		12 -#define SNDCARD_PSS_MPU 	13 -#define SNDCARD_PSS_MSS 	14 -#define SNDCARD_SSCAPE_MSS	15 -#define SNDCARD_TRXPRO		16 -#define SNDCARD_TRXPRO_SB	17 -#define SNDCARD_TRXPRO_MPU	18 -#define SNDCARD_MAD16		19 -#define SNDCARD_MAD16_MPU	20 -#define SNDCARD_CS4232		21 -#define SNDCARD_CS4232_MPU	22 -#define SNDCARD_MAUI		23 -#define SNDCARD_PSEUDO_MSS	24 -#define SNDCARD_GUSPNP		25 -#define SNDCARD_UART401		26 -/* Sound card numbers 27 to N are reserved. Don't add more numbers here. */ - -/*********************************** - * IOCTL Commands for /dev/sequencer - */ - -#ifndef _SIOWR -#if defined(_IOWR) && (defined(_AIX) || (!defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__))) -/* Use already defined ioctl defines if they exist (except with Sun or Sparc) */ -#define	SIOCPARM_MASK	IOCPARM_MASK -#define	SIOC_VOID	IOC_VOID -#define	SIOC_OUT	IOC_OUT -#define	SIOC_IN		IOC_IN -#define	SIOC_INOUT	IOC_INOUT -#define _SIOC_SIZE	_IOC_SIZE -#define _SIOC_DIR	_IOC_DIR -#define _SIOC_NONE	_IOC_NONE -#define _SIOC_READ	_IOC_READ -#define _SIOC_WRITE	_IOC_WRITE -#define	_SIO		_IO -#define	_SIOR		_IOR -#define	_SIOW		_IOW -#define	_SIOWR		_IOWR -#else - -/* Ioctl's have the command encoded in the lower word, - * and the size of any in or out parameters in the upper - * word.  The high 2 bits of the upper word are used - * to encode the in/out status of the parameter; for now - * we restrict parameters to at most 8191 bytes. - */ -/* #define	SIOCTYPE		(0xff<<8) */ -#define	SIOCPARM_MASK	0x1fff		/* parameters must be < 8192 bytes */ -#define	SIOC_VOID	0x00000000	/* no parameters */ -#define	SIOC_OUT	0x20000000	/* copy out parameters */ -#define	SIOC_IN		0x40000000	/* copy in parameters */ -#define	SIOC_INOUT	(SIOC_IN|SIOC_OUT) -/* the 0x20000000 is so we can distinguish new ioctl's from old */ -#define	_SIO(x,y)	((int)(SIOC_VOID|(x<<8)|y)) -#define	_SIOR(x,y,t)	((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) -#define	_SIOW(x,y,t)	((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) -/* this should be _SIORW, but stdio got there first */ -#define	_SIOWR(x,y,t)	((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y)) -#define _SIOC_SIZE(x)	((x>>16)&SIOCPARM_MASK)	 -#define _SIOC_DIR(x)	(x & 0xf0000000) -#define _SIOC_NONE	SIOC_VOID -#define _SIOC_READ	SIOC_OUT -#define _SIOC_WRITE	SIOC_IN -#  endif /* _IOWR */ -#endif  /* !_SIOWR */ - -#define SNDCTL_SEQ_RESET		_SIO  ('Q', 0) -#define SNDCTL_SEQ_SYNC			_SIO  ('Q', 1) -#define SNDCTL_SYNTH_INFO		_SIOWR('Q', 2, struct synth_info) -#define SNDCTL_SEQ_CTRLRATE		_SIOWR('Q', 3, int)	/* Set/get timer resolution (HZ) */ -#define SNDCTL_SEQ_GETOUTCOUNT		_SIOR ('Q', 4, int) -#define SNDCTL_SEQ_GETINCOUNT		_SIOR ('Q', 5, int) -#define SNDCTL_SEQ_PERCMODE		_SIOW ('Q', 6, int) -#define SNDCTL_FM_LOAD_INSTR		_SIOW ('Q', 7, struct sbi_instrument)	/* Obsolete. Don't use!!!!!! */ -#define SNDCTL_SEQ_TESTMIDI		_SIOW ('Q', 8, int) -#define SNDCTL_SEQ_RESETSAMPLES		_SIOW ('Q', 9, int) -#define SNDCTL_SEQ_NRSYNTHS		_SIOR ('Q',10, int) -#define SNDCTL_SEQ_NRMIDIS		_SIOR ('Q',11, int) -#define SNDCTL_MIDI_INFO		_SIOWR('Q',12, struct midi_info) -#define SNDCTL_SEQ_THRESHOLD		_SIOW ('Q',13, int) -#define SNDCTL_SYNTH_MEMAVL		_SIOWR('Q',14, int)	/* in=dev#, out=memsize */ -#define SNDCTL_FM_4OP_ENABLE		_SIOW ('Q',15, int)	/* in=dev# */ -#define SNDCTL_SEQ_PANIC		_SIO  ('Q',17) -#define SNDCTL_SEQ_OUTOFBAND		_SIOW ('Q',18, struct seq_event_rec) -#define SNDCTL_SEQ_GETTIME		_SIOR ('Q',19, int) -#define SNDCTL_SYNTH_ID			_SIOWR('Q',20, struct synth_info) -#define SNDCTL_SYNTH_CONTROL		_SIOWR('Q',21, struct synth_control) -#define SNDCTL_SYNTH_REMOVESAMPLE	_SIOWR('Q',22, struct remove_sample) - -typedef struct synth_control -{ -	int devno;	/* Synthesizer # */ -	char data[4000]; /* Device spesific command/data record */ -}synth_control; - -typedef struct remove_sample -{ -	int devno;	/* Synthesizer # */ -	int bankno;	/* MIDI bank # (0=General MIDI) */ -	int instrno;	/* MIDI instrument number */ -} remove_sample; - -typedef struct seq_event_rec { -		unsigned char arr[8]; -} seq_event_rec; - -#define SNDCTL_TMR_TIMEBASE		_SIOWR('T', 1, int) -#define SNDCTL_TMR_START		_SIO  ('T', 2) -#define SNDCTL_TMR_STOP			_SIO  ('T', 3) -#define SNDCTL_TMR_CONTINUE		_SIO  ('T', 4) -#define SNDCTL_TMR_TEMPO		_SIOWR('T', 5, int) -#define SNDCTL_TMR_SOURCE		_SIOWR('T', 6, int) -#	define TMR_INTERNAL		0x00000001 -#	define TMR_EXTERNAL		0x00000002 -#		define TMR_MODE_MIDI	0x00000010 -#		define TMR_MODE_FSK	0x00000020 -#		define TMR_MODE_CLS	0x00000040 -#		define TMR_MODE_SMPTE	0x00000080 -#define SNDCTL_TMR_METRONOME		_SIOW ('T', 7, int) -#define SNDCTL_TMR_SELECT		_SIOW ('T', 8, int) - -/* - * Some big endian/little endian handling macros - */ - -#if defined(_AIX) || defined(AIX) || defined(sparc) || defined(__sparc__) || defined(HPPA) || defined(PPC) -/* Big endian machines */ -#  define _PATCHKEY(id) (0xfd00|id) -#  define AFMT_S16_NE AFMT_S16_BE -#else -#  define _PATCHKEY(id) ((id<<8)|0xfd) -#  define AFMT_S16_NE AFMT_S16_LE -#endif - -/* - *	Sample loading mechanism for internal synthesizers (/dev/sequencer) - *	The following patch_info structure has been designed to support - *	Gravis UltraSound. It tries to be universal format for uploading - *	sample based patches but is probably too limited. - * - *      (PBD) As Hannu guessed, the GUS structure is too limited for  - *      the WaveFront, but this is the right place for a constant definition. - */ - -struct patch_info { -		unsigned short key;		/* Use WAVE_PATCH here */ -#define WAVE_PATCH	   _PATCHKEY(0x04) -#define GUS_PATCH	   WAVE_PATCH -#define WAVEFRONT_PATCH    _PATCHKEY(0x06) - -		short device_no;	/* Synthesizer number */ -		short instr_no;		/* Midi pgm# */ - -		unsigned int mode; -/* - * The least significant byte has the same format than the GUS .PAT - * files - */ -#define WAVE_16_BITS	0x01	/* bit 0 = 8 or 16 bit wave data. */ -#define WAVE_UNSIGNED	0x02	/* bit 1 = Signed - Unsigned data. */ -#define WAVE_LOOPING	0x04	/* bit 2 = looping enabled-1. */ -#define WAVE_BIDIR_LOOP	0x08	/* bit 3 = Set is bidirectional looping. */ -#define WAVE_LOOP_BACK	0x10	/* bit 4 = Set is looping backward. */ -#define WAVE_SUSTAIN_ON	0x20	/* bit 5 = Turn sustaining on. (Env. pts. 3)*/ -#define WAVE_ENVELOPES	0x40	/* bit 6 = Enable envelopes - 1 */ -#define WAVE_FAST_RELEASE 0x80	/* bit 7 = Shut off immediately after note off */ -				/* 	(use the env_rate/env_offs fields). */ -/* Linux specific bits */ -#define WAVE_VIBRATO	0x00010000	/* The vibrato info is valid */ -#define WAVE_TREMOLO	0x00020000	/* The tremolo info is valid */ -#define WAVE_SCALE	0x00040000	/* The scaling info is valid */ -#define WAVE_FRACTIONS	0x00080000	/* Fraction information is valid */ -/* Reserved bits */ -#define WAVE_ROM	0x40000000	/* For future use */ -#define WAVE_MULAW	0x20000000	/* For future use */ -/* Other bits must be zeroed */ - -		int len;	/* Size of the wave data in bytes */ -		int loop_start, loop_end; /* Byte offsets from the beginning */ - -/*  - * The base_freq and base_note fields are used when computing the - * playback speed for a note. The base_note defines the tone frequency - * which is heard if the sample is played using the base_freq as the - * playback speed. - * - * The low_note and high_note fields define the minimum and maximum note - * frequencies for which this sample is valid. It is possible to define - * more than one samples for an instrument number at the same time. The - * low_note and high_note fields are used to select the most suitable one. - * - * The fields base_note, high_note and low_note should contain - * the note frequency multiplied by 1000. For example value for the - * middle A is 440*1000. - */ - -		unsigned int base_freq; -		unsigned int base_note; -		unsigned int high_note; -		unsigned int low_note; -		int panning;	/* -128=left, 127=right */ -		int detuning; - -/*	New fields introduced in version 1.99.5	*/ - -       /* Envelope. Enabled by mode bit WAVE_ENVELOPES	*/ -		unsigned char	env_rate[ 6 ];	 /* GUS HW ramping rate */ -		unsigned char	env_offset[ 6 ]; /* 255 == 100% */ - -	/*  -	 * The tremolo, vibrato and scale info are not supported yet. -	 * Enable by setting the mode bits WAVE_TREMOLO, WAVE_VIBRATO or -	 * WAVE_SCALE -	 */ - -		unsigned char	tremolo_sweep; -		unsigned char	tremolo_rate; -		unsigned char	tremolo_depth; -	 -		unsigned char	vibrato_sweep; -		unsigned char	vibrato_rate; -		unsigned char	vibrato_depth; - -		int		scale_frequency; -		unsigned int	scale_factor;		/* from 0 to 2048 or 0 to 2 */ -	 -	        int		volume; -		int		fractions; -		int		reserved1; -	        int		spare[2]; -		char data[1];	/* The waveform data starts here */ -	}; - -struct sysex_info { -		short key;		/* Use SYSEX_PATCH or MAUI_PATCH here */ -#define SYSEX_PATCH	_PATCHKEY(0x05) -#define MAUI_PATCH	_PATCHKEY(0x06) -		short device_no;	/* Synthesizer number */ -		int len;	/* Size of the sysex data in bytes */ -		unsigned char data[1];	/* Sysex data starts here */ -	}; - -/* - * /dev/sequencer input events. - * - * The data written to the /dev/sequencer is a stream of events. Events - * are records of 4 or 8 bytes. The first byte defines the size.  - * Any number of events can be written with a write call. There - * is a set of macros for sending these events. Use these macros if you - * want to maximize portability of your program. - * - * Events SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO. Are also input events. - * (All input events are currently 4 bytes long. Be prepared to support - * 8 byte events also. If you receive any event having first byte >= 128, - * it's a 8 byte event. - * - * The events are documented at the end of this file. - * - * Normal events (4 bytes) - * There is also a 8 byte version of most of the 4 byte events. The - * 8 byte one is recommended. - */ -#define SEQ_NOTEOFF		0 -#define SEQ_FMNOTEOFF		SEQ_NOTEOFF	/* Just old name */ -#define SEQ_NOTEON		1 -#define	SEQ_FMNOTEON		SEQ_NOTEON -#define SEQ_WAIT		TMR_WAIT_ABS -#define SEQ_PGMCHANGE		3 -#define SEQ_FMPGMCHANGE		SEQ_PGMCHANGE -#define SEQ_SYNCTIMER		TMR_START -#define SEQ_MIDIPUTC		5 -#define SEQ_DRUMON		6	/*** OBSOLETE ***/ -#define SEQ_DRUMOFF		7	/*** OBSOLETE ***/ -#define SEQ_ECHO		TMR_ECHO	/* For synching programs with output */ -#define SEQ_AFTERTOUCH		9 -#define SEQ_CONTROLLER		10 - -/******************************************* - *	Midi controller numbers - ******************************************* - * Controllers 0 to 31 (0x00 to 0x1f) and - * 32 to 63 (0x20 to 0x3f) are continuous - * controllers. - * In the MIDI 1.0 these controllers are sent using - * two messages. Controller numbers 0 to 31 are used - * to send the MSB and the controller numbers 32 to 63 - * are for the LSB. Note that just 7 bits are used in MIDI bytes. - */ - -#define	   CTL_BANK_SELECT		0x00 -#define	   CTL_MODWHEEL			0x01 -#define    CTL_BREATH			0x02 -/*		undefined		0x03 */ -#define    CTL_FOOT			0x04 -#define    CTL_PORTAMENTO_TIME		0x05 -#define    CTL_DATA_ENTRY		0x06 -#define    CTL_MAIN_VOLUME		0x07 -#define    CTL_BALANCE			0x08 -/*		undefined		0x09 */ -#define    CTL_PAN			0x0a -#define    CTL_EXPRESSION		0x0b -/*		undefined		0x0c */ -/*		undefined		0x0d */ -/*		undefined		0x0e */ -/*		undefined		0x0f */ -#define    CTL_GENERAL_PURPOSE1	0x10 -#define    CTL_GENERAL_PURPOSE2	0x11 -#define    CTL_GENERAL_PURPOSE3	0x12 -#define    CTL_GENERAL_PURPOSE4	0x13 -/*		undefined		0x14 - 0x1f */ - -/*		undefined		0x20 */ -/* The controller numbers 0x21 to 0x3f are reserved for the */ -/* least significant bytes of the controllers 0x00 to 0x1f. */ -/* These controllers are not recognised by the driver. */ - -/* Controllers 64 to 69 (0x40 to 0x45) are on/off switches. */ -/* 0=OFF and 127=ON (intermediate values are possible) */ -#define    CTL_DAMPER_PEDAL		0x40 -#define    CTL_SUSTAIN			0x40	/* Alias */ -#define    CTL_HOLD			0x40	/* Alias */ -#define    CTL_PORTAMENTO		0x41 -#define    CTL_SOSTENUTO		0x42 -#define    CTL_SOFT_PEDAL		0x43 -/*		undefined		0x44 */ -#define    CTL_HOLD2			0x45 -/*		undefined		0x46 - 0x4f */ - -#define    CTL_GENERAL_PURPOSE5	0x50 -#define    CTL_GENERAL_PURPOSE6	0x51 -#define    CTL_GENERAL_PURPOSE7	0x52 -#define    CTL_GENERAL_PURPOSE8	0x53 -/*		undefined		0x54 - 0x5a */ -#define    CTL_EXT_EFF_DEPTH		0x5b -#define    CTL_TREMOLO_DEPTH		0x5c -#define    CTL_CHORUS_DEPTH		0x5d -#define    CTL_DETUNE_DEPTH		0x5e -#define    CTL_CELESTE_DEPTH		0x5e	/* Alias for the above one */ -#define    CTL_PHASER_DEPTH		0x5f -#define    CTL_DATA_INCREMENT		0x60 -#define    CTL_DATA_DECREMENT		0x61 -#define    CTL_NONREG_PARM_NUM_LSB	0x62 -#define    CTL_NONREG_PARM_NUM_MSB	0x63 -#define    CTL_REGIST_PARM_NUM_LSB	0x64 -#define    CTL_REGIST_PARM_NUM_MSB	0x65 -/*		undefined		0x66 - 0x78 */ -/*		reserved		0x79 - 0x7f */ - -/* Pseudo controllers (not midi compatible) */ -#define    CTRL_PITCH_BENDER		255 -#define    CTRL_PITCH_BENDER_RANGE	254 -#define    CTRL_EXPRESSION		253	/* Obsolete */ -#define    CTRL_MAIN_VOLUME		252	/* Obsolete */ -#define SEQ_BALANCE		11 -#define SEQ_VOLMODE             12 - -/* - * Volume mode decides how volumes are used - */ - -#define VOL_METHOD_ADAGIO	1 -#define VOL_METHOD_LINEAR	2 - -/* - * Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as - *	 input events. - */ - -/* - * Event codes 0xf0 to 0xfc are reserved for future extensions. - */ - -#define SEQ_FULLSIZE		0xfd	/* Long events */ -/* - *	SEQ_FULLSIZE events are used for loading patches/samples to the - *	synthesizer devices. These events are passed directly to the driver - *	of the associated synthesizer device. There is no limit to the size - *	of the extended events. These events are not queued but executed - *	immediately when the write() is called (execution can take several - *	seconds of time).  - * - *	When a SEQ_FULLSIZE message is written to the device, it must - *	be written using exactly one write() call. Other events cannot - *	be mixed to the same write. - *	 - *	For FM synths (YM3812/OPL3) use struct sbi_instrument and write it to the  - *	/dev/sequencer. Don't write other data together with the instrument structure - *	Set the key field of the structure to FM_PATCH. The device field is used to - *	route the patch to the corresponding device. - * - *	For wave table use struct patch_info. Initialize the key field - *      to WAVE_PATCH. - */ -#define SEQ_PRIVATE		0xfe	/* Low level HW dependent events (8 bytes) */ -#define SEQ_EXTENDED		0xff	/* Extended events (8 bytes) OBSOLETE */ - -/* - * Record for FM patches - */ - -typedef unsigned char sbi_instr_data[32]; - -struct sbi_instrument { -		unsigned short	key;	/* FM_PATCH or OPL3_PATCH */ -#define FM_PATCH	_PATCHKEY(0x01) -#define OPL3_PATCH	_PATCHKEY(0x03) -		short		device;		/*	Synth# (0-4)	*/ -		int 		channel;	/*	Program# to be initialized 	*/ -		sbi_instr_data	operators;	/*	Register settings for operator cells (.SBI format)	*/ -	}; - -struct synth_info {	/* Read only */ -		char	name[30]; -		int	device;		/* 0-N. INITIALIZE BEFORE CALLING */ -		int	synth_type; -#define SYNTH_TYPE_FM			0 -#define SYNTH_TYPE_SAMPLE		1 -#define SYNTH_TYPE_MIDI			2	/* Midi interface */ - -		int	synth_subtype; -#define FM_TYPE_ADLIB			0x00 -#define FM_TYPE_OPL3			0x01 -#define MIDI_TYPE_MPU401		0x401 - -#define SAMPLE_TYPE_BASIC		0x10 -#define SAMPLE_TYPE_GUS			SAMPLE_TYPE_BASIC -#define SAMPLE_TYPE_WAVEFRONT           0x11 - -		int	perc_mode;	/* No longer supported */ -		int	nr_voices; -		int	nr_drums;	/* Obsolete field */ -		int	instr_bank_size; -		unsigned int	capabilities;	 -#define SYNTH_CAP_PERCMODE		0x00000001 /* No longer used */ -#define SYNTH_CAP_OPL3			0x00000002 /* Set if OPL3 supported */ -#define SYNTH_CAP_INPUT			0x00000004 /* Input (MIDI) device */ -		int	dummies[19];	/* Reserve space */ -	}; - -struct sound_timer_info { -		char name[32]; -		int caps; -	}; - -#define MIDI_CAP_MPU401		1		/* MPU-401 intelligent mode */ - -struct midi_info { -		char		name[30]; -		int		device;		/* 0-N. INITIALIZE BEFORE CALLING */ -		unsigned int	capabilities;	/* To be defined later */ -		int		dev_type; -		int		dummies[18];	/* Reserve space */ -	}; - -/******************************************** - * ioctl commands for the /dev/midi## - */ -typedef struct { -		unsigned char cmd; -		char nr_args, nr_returns; -		unsigned char data[30]; -	} mpu_command_rec; - -#define SNDCTL_MIDI_PRETIME		_SIOWR('m', 0, int) -#define SNDCTL_MIDI_MPUMODE		_SIOWR('m', 1, int) -#define SNDCTL_MIDI_MPUCMD		_SIOWR('m', 2, mpu_command_rec) - -/******************************************** - * IOCTL commands for /dev/dsp and /dev/audio - */ - -#define SNDCTL_DSP_RESET		_SIO  ('P', 0) -#define SNDCTL_DSP_SYNC			_SIO  ('P', 1) -#define SNDCTL_DSP_SPEED		_SIOWR('P', 2, int) -#define SNDCTL_DSP_STEREO		_SIOWR('P', 3, int) -#define SNDCTL_DSP_GETBLKSIZE		_SIOWR('P', 4, int) -#define SNDCTL_DSP_SAMPLESIZE		SNDCTL_DSP_SETFMT -#define SNDCTL_DSP_CHANNELS		_SIOWR('P', 6, int) -#define SOUND_PCM_WRITE_CHANNELS	SNDCTL_DSP_CHANNELS -#define SOUND_PCM_WRITE_FILTER		_SIOWR('P', 7, int) -#define SNDCTL_DSP_POST			_SIO  ('P', 8) -#define SNDCTL_DSP_SUBDIVIDE		_SIOWR('P', 9, int) -#define SNDCTL_DSP_SETFRAGMENT		_SIOWR('P',10, int) - -/*	Audio data formats (Note! U8=8 and S16_LE=16 for compatibility) */ -#define SNDCTL_DSP_GETFMTS		_SIOR ('P',11, int) /* Returns a mask */ -#define SNDCTL_DSP_SETFMT		_SIOWR('P',5, int) /* Selects ONE fmt*/ -#	define AFMT_QUERY		0x00000000	/* Return current fmt */ -#	define AFMT_MU_LAW		0x00000001 -#	define AFMT_A_LAW		0x00000002 -#	define AFMT_IMA_ADPCM		0x00000004 -#	define AFMT_U8			0x00000008 -#	define AFMT_S16_LE		0x00000010	/* Little endian signed 16*/ -#	define AFMT_S16_BE		0x00000020	/* Big endian signed 16 */ -#	define AFMT_S8			0x00000040 -#	define AFMT_U16_LE		0x00000080	/* Little endian U16 */ -#	define AFMT_U16_BE		0x00000100	/* Big endian U16 */ -#	define AFMT_MPEG		0x00000200	/* MPEG (2) audio */ -#	define AFMT_AC3		0x00000400	/* Dolby Digital AC3 */ - -/* - * Buffer status queries. - */ -typedef struct audio_buf_info { -			int fragments;	/* # of available fragments (partially usend ones not counted) */ -			int fragstotal;	/* Total # of fragments allocated */ -			int fragsize;	/* Size of a fragment in bytes */ - -			int bytes;	/* Available space in bytes (includes partially used fragments) */ -			/* Note! 'bytes' could be more than fragments*fragsize */ -		} audio_buf_info; - -#define SNDCTL_DSP_GETOSPACE		_SIOR ('P',12, audio_buf_info) -#define SNDCTL_DSP_GETISPACE		_SIOR ('P',13, audio_buf_info) -#define SNDCTL_DSP_NONBLOCK		_SIO  ('P',14) -#define SNDCTL_DSP_GETCAPS		_SIOR ('P',15, int) -#	define DSP_CAP_REVISION		0x000000ff	/* Bits for revision level (0 to 255) */ -#	define DSP_CAP_DUPLEX		0x00000100	/* Full duplex record/playback */ -#	define DSP_CAP_REALTIME		0x00000200	/* Real time capability */ -#	define DSP_CAP_BATCH		0x00000400	/* Device has some kind of */ -							/* internal buffers which may */ -							/* cause some delays and */ -							/* decrease precision of timing */ -#	define DSP_CAP_COPROC		0x00000800	/* Has a coprocessor */ -							/* Sometimes it's a DSP */ -							/* but usually not */ -#	define DSP_CAP_TRIGGER		0x00001000	/* Supports SETTRIGGER */ -#	define DSP_CAP_MMAP		0x00002000	/* Supports mmap() */ -#	define DSP_CAP_MULTI		0x00004000	/* support multiple open */ -#	define DSP_CAP_BIND		0x00008000	/* channel binding to front/rear/cneter/lfe */ - - -#define SNDCTL_DSP_GETTRIGGER		_SIOR ('P',16, int) -#define SNDCTL_DSP_SETTRIGGER		_SIOW ('P',16, int) -#	define PCM_ENABLE_INPUT		0x00000001 -#	define PCM_ENABLE_OUTPUT		0x00000002 - -typedef struct count_info { -		int bytes;	/* Total # of bytes processed */ -		int blocks;	/* # of fragment transitions since last time */ -		int ptr;	/* Current DMA pointer value */ -	} count_info; - -#define SNDCTL_DSP_GETIPTR		_SIOR ('P',17, count_info) -#define SNDCTL_DSP_GETOPTR		_SIOR ('P',18, count_info) - -typedef struct buffmem_desc { -		unsigned *buffer; -		int size; -	} buffmem_desc; -#define SNDCTL_DSP_MAPINBUF		_SIOR ('P', 19, buffmem_desc) -#define SNDCTL_DSP_MAPOUTBUF		_SIOR ('P', 20, buffmem_desc) -#define SNDCTL_DSP_SETSYNCRO		_SIO  ('P', 21) -#define SNDCTL_DSP_SETDUPLEX		_SIO  ('P', 22) -#define SNDCTL_DSP_GETODELAY		_SIOR ('P', 23, int) - -#define SNDCTL_DSP_GETCHANNELMASK		_SIOWR('P', 64, int) -#define SNDCTL_DSP_BIND_CHANNEL		_SIOWR('P', 65, int) -#	define DSP_BIND_QUERY		0x00000000 -#	define DSP_BIND_FRONT		0x00000001 -#	define DSP_BIND_SURR		0x00000002 -#	define DSP_BIND_CENTER_LFE	0x00000004 -#	define DSP_BIND_HANDSET		0x00000008 -#	define DSP_BIND_MIC		0x00000010 -#	define DSP_BIND_MODEM1		0x00000020 -#	define DSP_BIND_MODEM2		0x00000040 -#	define DSP_BIND_I2S		0x00000080 -#	define DSP_BIND_SPDIF		0x00000100 - -#define SNDCTL_DSP_SETSPDIF		_SIOW ('P', 66, int) -#define SNDCTL_DSP_GETSPDIF		_SIOR ('P', 67, int) -#	define SPDIF_PRO	0x0001 -#	define SPDIF_N_AUD	0x0002 -#	define SPDIF_COPY	0x0004 -#	define SPDIF_PRE	0x0008 -#	define SPDIF_CC		0x07f0 -#	define SPDIF_L		0x0800 -#	define SPDIF_DRS	0x4000 -#	define SPDIF_V		0x8000 - -/* - * Application's profile defines the way how playback underrun situations should be handled. - *  - *	APF_NORMAL (the default) and APF_NETWORK make the driver to cleanup the - *	playback buffer whenever an underrun occurs. This consumes some time - *	prevents looping the existing buffer. - *	APF_CPUINTENS is intended to be set by CPU intensive applications which - *	are likely to run out of time occasionally. In this mode the buffer cleanup is - *	disabled which saves CPU time but also let's the previous buffer content to - *	be played during the "pause" after the underrun. - */ -#define SNDCTL_DSP_PROFILE		_SIOW ('P', 23, int) -#define	  APF_NORMAL	0	/* Normal applications */ -#define	  APF_NETWORK	1	/* Underruns probably caused by an "external" delay */ -#define   APF_CPUINTENS 2	/* Underruns probably caused by "overheating" the CPU */ - -#define SOUND_PCM_READ_RATE		_SIOR ('P', 2, int) -#define SOUND_PCM_READ_CHANNELS		_SIOR ('P', 6, int) -#define SOUND_PCM_READ_BITS		_SIOR ('P', 5, int) -#define SOUND_PCM_READ_FILTER		_SIOR ('P', 7, int) - -/* Some alias names */ -#define SOUND_PCM_WRITE_BITS		SNDCTL_DSP_SETFMT -#define SOUND_PCM_WRITE_RATE		SNDCTL_DSP_SPEED -#define SOUND_PCM_POST			SNDCTL_DSP_POST -#define SOUND_PCM_RESET			SNDCTL_DSP_RESET -#define SOUND_PCM_SYNC			SNDCTL_DSP_SYNC -#define SOUND_PCM_SUBDIVIDE		SNDCTL_DSP_SUBDIVIDE -#define SOUND_PCM_SETFRAGMENT		SNDCTL_DSP_SETFRAGMENT -#define SOUND_PCM_GETFMTS		SNDCTL_DSP_GETFMTS -#define SOUND_PCM_SETFMT		SNDCTL_DSP_SETFMT -#define SOUND_PCM_GETOSPACE		SNDCTL_DSP_GETOSPACE -#define SOUND_PCM_GETISPACE		SNDCTL_DSP_GETISPACE -#define SOUND_PCM_NONBLOCK		SNDCTL_DSP_NONBLOCK -#define SOUND_PCM_GETCAPS		SNDCTL_DSP_GETCAPS -#define SOUND_PCM_GETTRIGGER		SNDCTL_DSP_GETTRIGGER -#define SOUND_PCM_SETTRIGGER		SNDCTL_DSP_SETTRIGGER -#define SOUND_PCM_SETSYNCRO		SNDCTL_DSP_SETSYNCRO -#define SOUND_PCM_GETIPTR		SNDCTL_DSP_GETIPTR -#define SOUND_PCM_GETOPTR		SNDCTL_DSP_GETOPTR -#define SOUND_PCM_MAPINBUF		SNDCTL_DSP_MAPINBUF -#define SOUND_PCM_MAPOUTBUF		SNDCTL_DSP_MAPOUTBUF - -/* - * ioctl calls to be used in communication with coprocessors and - * DSP chips. - */ - -typedef struct copr_buffer { -		int command;	/* Set to 0 if not used */ -		int flags; -#define CPF_NONE		0x0000 -#define CPF_FIRST		0x0001	/* First block */ -#define CPF_LAST		0x0002	/* Last block */ -		int len; -		int offs;	/* If required by the device (0 if not used) */ - -		unsigned char data[4000]; /* NOTE! 4000 is not 4k */ -	} copr_buffer; - -typedef struct copr_debug_buf { -		int command;	/* Used internally. Set to 0 */ -		int parm1; -		int parm2; -		int flags;	 -		int len;	/* Length of data in bytes */ -	} copr_debug_buf; - -typedef struct copr_msg { -		int len; -		unsigned char data[4000]; -	} copr_msg; - -#define SNDCTL_COPR_RESET             _SIO  ('C',  0) -#define SNDCTL_COPR_LOAD	      _SIOWR('C',  1, copr_buffer) -#define SNDCTL_COPR_RDATA	      _SIOWR('C',  2, copr_debug_buf) -#define SNDCTL_COPR_RCODE	      _SIOWR('C',  3, copr_debug_buf) -#define SNDCTL_COPR_WDATA	      _SIOW ('C',  4, copr_debug_buf) -#define SNDCTL_COPR_WCODE	      _SIOW ('C',  5, copr_debug_buf) -#define SNDCTL_COPR_RUN		      _SIOWR('C',  6, copr_debug_buf) -#define SNDCTL_COPR_HALT	      _SIOWR('C',  7, copr_debug_buf) -#define SNDCTL_COPR_SENDMSG	      _SIOWR('C',  8, copr_msg) -#define SNDCTL_COPR_RCVMSG	      _SIOR ('C',  9, copr_msg) - -/********************************************* - * IOCTL commands for /dev/mixer - */ -	 -/*  - * Mixer devices - * - * There can be up to 20 different analog mixer channels. The - * SOUND_MIXER_NRDEVICES gives the currently supported maximum.  - * The SOUND_MIXER_READ_DEVMASK returns a bitmask which tells - * the devices supported by the particular mixer. - */ - -#define SOUND_MIXER_NRDEVICES	25 -#define SOUND_MIXER_VOLUME	0 -#define SOUND_MIXER_BASS	1 -#define SOUND_MIXER_TREBLE	2 -#define SOUND_MIXER_SYNTH	3 -#define SOUND_MIXER_PCM		4 -#define SOUND_MIXER_SPEAKER	5 -#define SOUND_MIXER_LINE	6 -#define SOUND_MIXER_MIC		7 -#define SOUND_MIXER_CD		8 -#define SOUND_MIXER_IMIX	9	/*  Recording monitor  */ -#define SOUND_MIXER_ALTPCM	10 -#define SOUND_MIXER_RECLEV	11	/* Recording level */ -#define SOUND_MIXER_IGAIN	12	/* Input gain */ -#define SOUND_MIXER_OGAIN	13	/* Output gain */ -/*  - * The AD1848 codec and compatibles have three line level inputs - * (line, aux1 and aux2). Since each card manufacturer have assigned - * different meanings to these inputs, it's inpractical to assign - * specific meanings (line, cd, synth etc.) to them. - */ -#define SOUND_MIXER_LINE1	14	/* Input source 1  (aux1) */ -#define SOUND_MIXER_LINE2	15	/* Input source 2  (aux2) */ -#define SOUND_MIXER_LINE3	16	/* Input source 3  (line) */ -#define SOUND_MIXER_DIGITAL1	17	/* Digital (input) 1 */ -#define SOUND_MIXER_DIGITAL2	18	/* Digital (input) 2 */ -#define SOUND_MIXER_DIGITAL3	19	/* Digital (input) 3 */ -#define SOUND_MIXER_PHONEIN	20	/* Phone input */ -#define SOUND_MIXER_PHONEOUT	21	/* Phone output */ -#define SOUND_MIXER_VIDEO	22	/* Video/TV (audio) in */ -#define SOUND_MIXER_RADIO	23	/* Radio in */ -#define SOUND_MIXER_MONITOR	24	/* Monitor (usually mic) volume */ - -/* Some on/off settings (SOUND_SPECIAL_MIN - SOUND_SPECIAL_MAX) */ -/* Not counted to SOUND_MIXER_NRDEVICES, but use the same number space */ -#define SOUND_ONOFF_MIN		28 -#define SOUND_ONOFF_MAX		30 - -/* Note!	Number 31 cannot be used since the sign bit is reserved */ -#define SOUND_MIXER_NONE	31 - -/* - * The following unsupported macros are no longer functional. - * Use SOUND_MIXER_PRIVATE# macros in future. - */ -#define SOUND_MIXER_ENHANCE	SOUND_MIXER_NONE -#define SOUND_MIXER_MUTE	SOUND_MIXER_NONE -#define SOUND_MIXER_LOUD	SOUND_MIXER_NONE - - -#define SOUND_DEVICE_LABELS	{"Vol  ", "Bass ", "Trebl", "Synth", "Pcm  ", "Spkr ", "Line ", \ -				 "Mic  ", "CD   ", "Mix  ", "Pcm2 ", "Rec  ", "IGain", "OGain", \ -				 "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \ -				 "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"} - -#define SOUND_DEVICE_NAMES	{"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \ -				 "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \ -				 "line1", "line2", "line3", "dig1", "dig2", "dig3", \ -				 "phin", "phout", "video", "radio", "monitor"} - -/*	Device bitmask identifiers	*/ - -#define SOUND_MIXER_RECSRC	0xff	/* Arg contains a bit for each recording source */ -#define SOUND_MIXER_DEVMASK	0xfe	/* Arg contains a bit for each supported device */ -#define SOUND_MIXER_RECMASK	0xfd	/* Arg contains a bit for each supported recording source */ -#define SOUND_MIXER_CAPS	0xfc -#	define SOUND_CAP_EXCL_INPUT	0x00000001	/* Only one recording source at a time */ -#define SOUND_MIXER_STEREODEVS	0xfb	/* Mixer channels supporting stereo */ -#define SOUND_MIXER_OUTSRC	0xfa	/* Arg contains a bit for each input source to output */ -#define SOUND_MIXER_OUTMASK	0xf9	/* Arg contains a bit for each supported input source to output */ - -/*	Device mask bits	*/ - -#define SOUND_MASK_VOLUME	(1 << SOUND_MIXER_VOLUME) -#define SOUND_MASK_BASS		(1 << SOUND_MIXER_BASS) -#define SOUND_MASK_TREBLE	(1 << SOUND_MIXER_TREBLE) -#define SOUND_MASK_SYNTH	(1 << SOUND_MIXER_SYNTH) -#define SOUND_MASK_PCM		(1 << SOUND_MIXER_PCM) -#define SOUND_MASK_SPEAKER	(1 << SOUND_MIXER_SPEAKER) -#define SOUND_MASK_LINE		(1 << SOUND_MIXER_LINE) -#define SOUND_MASK_MIC		(1 << SOUND_MIXER_MIC) -#define SOUND_MASK_CD		(1 << SOUND_MIXER_CD) -#define SOUND_MASK_IMIX		(1 << SOUND_MIXER_IMIX) -#define SOUND_MASK_ALTPCM	(1 << SOUND_MIXER_ALTPCM) -#define SOUND_MASK_RECLEV	(1 << SOUND_MIXER_RECLEV) -#define SOUND_MASK_IGAIN	(1 << SOUND_MIXER_IGAIN) -#define SOUND_MASK_OGAIN	(1 << SOUND_MIXER_OGAIN) -#define SOUND_MASK_LINE1	(1 << SOUND_MIXER_LINE1) -#define SOUND_MASK_LINE2	(1 << SOUND_MIXER_LINE2) -#define SOUND_MASK_LINE3	(1 << SOUND_MIXER_LINE3) -#define SOUND_MASK_DIGITAL1	(1 << SOUND_MIXER_DIGITAL1) -#define SOUND_MASK_DIGITAL2	(1 << SOUND_MIXER_DIGITAL2) -#define SOUND_MASK_DIGITAL3	(1 << SOUND_MIXER_DIGITAL3) -#define SOUND_MASK_PHONEIN	(1 << SOUND_MIXER_PHONEIN) -#define SOUND_MASK_PHONEOUT	(1 << SOUND_MIXER_PHONEOUT) -#define SOUND_MASK_RADIO	(1 << SOUND_MIXER_RADIO) -#define SOUND_MASK_VIDEO	(1 << SOUND_MIXER_VIDEO) -#define SOUND_MASK_MONITOR	(1 << SOUND_MIXER_MONITOR) - -/* Obsolete macros */ -#define SOUND_MASK_MUTE		(1 << SOUND_MIXER_MUTE) -#define SOUND_MASK_ENHANCE	(1 << SOUND_MIXER_ENHANCE) -#define SOUND_MASK_LOUD		(1 << SOUND_MIXER_LOUD) - -#define MIXER_READ(dev)		_SIOR('M', dev, int) -#define SOUND_MIXER_READ_VOLUME		MIXER_READ(SOUND_MIXER_VOLUME) -#define SOUND_MIXER_READ_BASS		MIXER_READ(SOUND_MIXER_BASS) -#define SOUND_MIXER_READ_TREBLE		MIXER_READ(SOUND_MIXER_TREBLE) -#define SOUND_MIXER_READ_SYNTH		MIXER_READ(SOUND_MIXER_SYNTH) -#define SOUND_MIXER_READ_PCM		MIXER_READ(SOUND_MIXER_PCM) -#define SOUND_MIXER_READ_SPEAKER	MIXER_READ(SOUND_MIXER_SPEAKER) -#define SOUND_MIXER_READ_LINE		MIXER_READ(SOUND_MIXER_LINE) -#define SOUND_MIXER_READ_MIC		MIXER_READ(SOUND_MIXER_MIC) -#define SOUND_MIXER_READ_CD		MIXER_READ(SOUND_MIXER_CD) -#define SOUND_MIXER_READ_IMIX		MIXER_READ(SOUND_MIXER_IMIX) -#define SOUND_MIXER_READ_ALTPCM		MIXER_READ(SOUND_MIXER_ALTPCM) -#define SOUND_MIXER_READ_RECLEV		MIXER_READ(SOUND_MIXER_RECLEV) -#define SOUND_MIXER_READ_IGAIN		MIXER_READ(SOUND_MIXER_IGAIN) -#define SOUND_MIXER_READ_OGAIN		MIXER_READ(SOUND_MIXER_OGAIN) -#define SOUND_MIXER_READ_LINE1		MIXER_READ(SOUND_MIXER_LINE1) -#define SOUND_MIXER_READ_LINE2		MIXER_READ(SOUND_MIXER_LINE2) -#define SOUND_MIXER_READ_LINE3		MIXER_READ(SOUND_MIXER_LINE3) - -/* Obsolete macros */ -#define SOUND_MIXER_READ_MUTE		MIXER_READ(SOUND_MIXER_MUTE) -#define SOUND_MIXER_READ_ENHANCE	MIXER_READ(SOUND_MIXER_ENHANCE) -#define SOUND_MIXER_READ_LOUD		MIXER_READ(SOUND_MIXER_LOUD) - -#define SOUND_MIXER_READ_RECSRC		MIXER_READ(SOUND_MIXER_RECSRC) -#define SOUND_MIXER_READ_DEVMASK	MIXER_READ(SOUND_MIXER_DEVMASK) -#define SOUND_MIXER_READ_RECMASK	MIXER_READ(SOUND_MIXER_RECMASK) -#define SOUND_MIXER_READ_STEREODEVS	MIXER_READ(SOUND_MIXER_STEREODEVS) -#define SOUND_MIXER_READ_CAPS		MIXER_READ(SOUND_MIXER_CAPS) - -#define MIXER_WRITE(dev)		_SIOWR('M', dev, int) -#define SOUND_MIXER_WRITE_VOLUME	MIXER_WRITE(SOUND_MIXER_VOLUME) -#define SOUND_MIXER_WRITE_BASS		MIXER_WRITE(SOUND_MIXER_BASS) -#define SOUND_MIXER_WRITE_TREBLE	MIXER_WRITE(SOUND_MIXER_TREBLE) -#define SOUND_MIXER_WRITE_SYNTH		MIXER_WRITE(SOUND_MIXER_SYNTH) -#define SOUND_MIXER_WRITE_PCM		MIXER_WRITE(SOUND_MIXER_PCM) -#define SOUND_MIXER_WRITE_SPEAKER	MIXER_WRITE(SOUND_MIXER_SPEAKER) -#define SOUND_MIXER_WRITE_LINE		MIXER_WRITE(SOUND_MIXER_LINE) -#define SOUND_MIXER_WRITE_MIC		MIXER_WRITE(SOUND_MIXER_MIC) -#define SOUND_MIXER_WRITE_CD		MIXER_WRITE(SOUND_MIXER_CD) -#define SOUND_MIXER_WRITE_IMIX		MIXER_WRITE(SOUND_MIXER_IMIX) -#define SOUND_MIXER_WRITE_ALTPCM	MIXER_WRITE(SOUND_MIXER_ALTPCM) -#define SOUND_MIXER_WRITE_RECLEV	MIXER_WRITE(SOUND_MIXER_RECLEV) -#define SOUND_MIXER_WRITE_IGAIN		MIXER_WRITE(SOUND_MIXER_IGAIN) -#define SOUND_MIXER_WRITE_OGAIN		MIXER_WRITE(SOUND_MIXER_OGAIN) -#define SOUND_MIXER_WRITE_LINE1		MIXER_WRITE(SOUND_MIXER_LINE1) -#define SOUND_MIXER_WRITE_LINE2		MIXER_WRITE(SOUND_MIXER_LINE2) -#define SOUND_MIXER_WRITE_LINE3		MIXER_WRITE(SOUND_MIXER_LINE3) - -/* Obsolete macros */ -#define SOUND_MIXER_WRITE_MUTE		MIXER_WRITE(SOUND_MIXER_MUTE) -#define SOUND_MIXER_WRITE_ENHANCE	MIXER_WRITE(SOUND_MIXER_ENHANCE) -#define SOUND_MIXER_WRITE_LOUD		MIXER_WRITE(SOUND_MIXER_LOUD) - -#define SOUND_MIXER_WRITE_RECSRC	MIXER_WRITE(SOUND_MIXER_RECSRC) - -typedef struct mixer_info -{ -  char id[16]; -  char name[32]; -  int  modify_counter; -  int fillers[10]; -} mixer_info; - -typedef struct _old_mixer_info /* Obsolete */ -{ -  char id[16]; -  char name[32]; -} _old_mixer_info; - -#define SOUND_MIXER_INFO		_SIOR ('M', 101, mixer_info) -#define SOUND_OLD_MIXER_INFO		_SIOR ('M', 101, _old_mixer_info) - -/* - * A mechanism for accessing "proprietary" mixer features. This method - * permits passing 128 bytes of arbitrary data between a mixer application - * and the mixer driver. Interpretation of the record is defined by - * the particular mixer driver. - */ -typedef unsigned char mixer_record[128]; - -#define SOUND_MIXER_ACCESS		_SIOWR('M', 102, mixer_record) - -/* - * Two ioctls for special souncard function - */ -#define SOUND_MIXER_AGC  _SIOWR('M', 103, int) -#define SOUND_MIXER_3DSE  _SIOWR('M', 104, int) - -/* - * The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers. - * These features can be used when accessing device specific features. - */ -#define SOUND_MIXER_PRIVATE1		_SIOWR('M', 111, int) -#define SOUND_MIXER_PRIVATE2		_SIOWR('M', 112, int) -#define SOUND_MIXER_PRIVATE3		_SIOWR('M', 113, int) -#define SOUND_MIXER_PRIVATE4		_SIOWR('M', 114, int) -#define SOUND_MIXER_PRIVATE5		_SIOWR('M', 115, int) - -/* - * SOUND_MIXER_GETLEVELS and SOUND_MIXER_SETLEVELS calls can be used - * for querying current mixer settings from the driver and for loading - * default volume settings _prior_ activating the mixer (loading - * doesn't affect current state of the mixer hardware). These calls - * are for internal use only. - */ - -typedef struct mixer_vol_table { -  int num;	/* Index to volume table */ -  char name[32]; -  int levels[32]; -} mixer_vol_table; - -#define SOUND_MIXER_GETLEVELS		_SIOWR('M', 116, mixer_vol_table) -#define SOUND_MIXER_SETLEVELS		_SIOWR('M', 117, mixer_vol_table) - -/*  - * An ioctl for identifying the driver version. It will return value - * of the SOUND_VERSION macro used when compiling the driver. - * This call was introduced in OSS version 3.6 and it will not work - * with earlier versions (returns EINVAL). - */ -#define OSS_GETVERSION			_SIOR ('M', 118, int) - -/* - * Level 2 event types for /dev/sequencer - */ - -/* - * The 4 most significant bits of byte 0 specify the class of - * the event:  - * - *	0x8X = system level events, - *	0x9X = device/port specific events, event[1] = device/port, - *		The last 4 bits give the subtype: - *			0x02	= Channel event (event[3] = chn). - *			0x01	= note event (event[4] = note). - *			(0x01 is not used alone but always with bit 0x02). - *	       event[2] = MIDI message code (0x80=note off etc.) - * - */ - -#define EV_SEQ_LOCAL		0x80 -#define EV_TIMING		0x81 -#define EV_CHN_COMMON		0x92 -#define EV_CHN_VOICE		0x93 -#define EV_SYSEX		0x94 -/* - * Event types 200 to 220 are reserved for application use. - * These numbers will not be used by the driver. - */ - -/* - * Events for event type EV_CHN_VOICE - */ - -#define MIDI_NOTEOFF		0x80 -#define MIDI_NOTEON		0x90 -#define MIDI_KEY_PRESSURE	0xA0 - -/* - * Events for event type EV_CHN_COMMON - */ - -#define MIDI_CTL_CHANGE		0xB0 -#define MIDI_PGM_CHANGE		0xC0 -#define MIDI_CHN_PRESSURE	0xD0 -#define MIDI_PITCH_BEND		0xE0 - -#define MIDI_SYSTEM_PREFIX	0xF0 - -/* - * Timer event types - */ -#define TMR_WAIT_REL		1	/* Time relative to the prev time */ -#define TMR_WAIT_ABS		2	/* Absolute time since TMR_START */ -#define TMR_STOP		3 -#define TMR_START		4 -#define TMR_CONTINUE		5 -#define TMR_TEMPO		6 -#define TMR_ECHO		8 -#define TMR_CLOCK		9	/* MIDI clock */ -#define TMR_SPP			10	/* Song position pointer */ -#define TMR_TIMESIG		11	/* Time signature */ - -/* - *	Local event types - */ -#define LOCL_STARTAUDIO		1 - -#if (!defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL)) || defined(USE_SEQ_MACROS)  -/* - *	Some convenience macros to simplify programming of the - *	/dev/sequencer interface - * - *	These macros define the API which should be used when possible. - */ -#define SEQ_DECLAREBUF()		SEQ_USE_EXTBUF() - -void seqbuf_dump(void);	/* This function must be provided by programs */ - -extern int OSS_init(int seqfd, int buflen); -extern void OSS_seqbuf_dump(int fd, unsigned char *buf, int buflen); -extern void OSS_seq_advbuf(int len, int fd, unsigned char *buf, int buflen); -extern void OSS_seq_needbuf(int len, int fd, unsigned char *buf, int buflen); -extern void OSS_patch_caching(int dev, int chn, int patch, -			      int fd, unsigned char *buf, int buflen); -extern void OSS_drum_caching(int dev, int chn, int patch, -			      int fd, unsigned char *buf, int buflen); -extern void OSS_write_patch(int fd, unsigned char *buf, int len); -extern int OSS_write_patch2(int fd, unsigned char *buf, int len); - -#define SEQ_PM_DEFINES int __foo_bar___ -#ifdef OSSLIB -#  define SEQ_USE_EXTBUF() \ -		extern unsigned char *_seqbuf; \ -		extern int _seqbuflen;extern int _seqbufptr -#  define SEQ_DEFINEBUF(len) SEQ_USE_EXTBUF();static int _requested_seqbuflen=len -#  define _SEQ_ADVBUF(len) OSS_seq_advbuf(len, seqfd, _seqbuf, _seqbuflen) -#  define _SEQ_NEEDBUF(len) OSS_seq_needbuf(len, seqfd, _seqbuf, _seqbuflen) -#  define SEQ_DUMPBUF() OSS_seqbuf_dump(seqfd, _seqbuf, _seqbuflen) - -#  define SEQ_LOAD_GMINSTR(dev, instr) \ -		OSS_patch_caching(dev, -1, instr, seqfd, _seqbuf, _seqbuflen) -#  define SEQ_LOAD_GMDRUM(dev, drum) \ -		OSS_drum_caching(dev, -1, drum, seqfd, _seqbuf, _seqbuflen) -#else /* !OSSLIB */ - -#  define SEQ_LOAD_GMINSTR(dev, instr) -#  define SEQ_LOAD_GMDRUM(dev, drum) - -#  define SEQ_USE_EXTBUF() \ -		extern unsigned char _seqbuf[]; \ -		extern int _seqbuflen;extern int _seqbufptr - -#ifndef USE_SIMPLE_MACROS -/* Sample seqbuf_dump() implementation: - * - *	SEQ_DEFINEBUF (2048);	-- Defines a buffer for 2048 bytes - * - *	int seqfd;		-- The file descriptor for /dev/sequencer. - * - *	void - *	seqbuf_dump () - *	{ - *	  if (_seqbufptr) - *	    if (write (seqfd, _seqbuf, _seqbufptr) == -1) - *	      { - *		perror ("write /dev/sequencer"); - *		exit (-1); - *	      } - *	  _seqbufptr = 0; - *	} - */ - -#define SEQ_DEFINEBUF(len)		unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0 -#define _SEQ_NEEDBUF(len)		if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump() -#define _SEQ_ADVBUF(len)		_seqbufptr += len -#define SEQ_DUMPBUF			seqbuf_dump -#else -/* - * This variation of the sequencer macros is used just to format one event - * using fixed buffer. - *  - * The program using the macro library must define the following macros before - * using this library. - * - * #define _seqbuf 		 name of the buffer (unsigned char[])  - * #define _SEQ_ADVBUF(len)	 If the applic needs to know the exact - *				 size of the event, this macro can be used. - *				 Otherwise this must be defined as empty. - * #define _seqbufptr		 Define the name of index variable or 0 if - *				 not required.  - */ -#define _SEQ_NEEDBUF(len)	/* empty */ -#endif -#endif /* !OSSLIB */ - -#define SEQ_VOLUME_MODE(dev, mode)	{_SEQ_NEEDBUF(8);\ -					_seqbuf[_seqbufptr] = SEQ_EXTENDED;\ -					_seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\ -					_seqbuf[_seqbufptr+2] = (dev);\ -					_seqbuf[_seqbufptr+3] = (mode);\ -					_seqbuf[_seqbufptr+4] = 0;\ -					_seqbuf[_seqbufptr+5] = 0;\ -					_seqbuf[_seqbufptr+6] = 0;\ -					_seqbuf[_seqbufptr+7] = 0;\ -					_SEQ_ADVBUF(8);} - -/* - * Midi voice messages - */ - -#define _CHN_VOICE(dev, event, chn, note, parm) \ -					{_SEQ_NEEDBUF(8);\ -					_seqbuf[_seqbufptr] = EV_CHN_VOICE;\ -					_seqbuf[_seqbufptr+1] = (dev);\ -					_seqbuf[_seqbufptr+2] = (event);\ -					_seqbuf[_seqbufptr+3] = (chn);\ -					_seqbuf[_seqbufptr+4] = (note);\ -					_seqbuf[_seqbufptr+5] = (parm);\ -					_seqbuf[_seqbufptr+6] = (0);\ -					_seqbuf[_seqbufptr+7] = 0;\ -					_SEQ_ADVBUF(8);} - -#define SEQ_START_NOTE(dev, chn, note, vol) \ -		_CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol) - -#define SEQ_STOP_NOTE(dev, chn, note, vol) \ -		_CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol) - -#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) \ -		_CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure) - -/* - * Midi channel messages - */ - -#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \ -					{_SEQ_NEEDBUF(8);\ -					_seqbuf[_seqbufptr] = EV_CHN_COMMON;\ -					_seqbuf[_seqbufptr+1] = (dev);\ -					_seqbuf[_seqbufptr+2] = (event);\ -					_seqbuf[_seqbufptr+3] = (chn);\ -					_seqbuf[_seqbufptr+4] = (p1);\ -					_seqbuf[_seqbufptr+5] = (p2);\ -					*(short *)&_seqbuf[_seqbufptr+6] = (w14);\ -					_SEQ_ADVBUF(8);} -/* - * SEQ_SYSEX permits sending of sysex messages. (It may look that it permits - * sending any MIDI bytes but it's absolutely not possible. Trying to do - * so _will_ cause problems with MPU401 intelligent mode). - * - * Sysex messages are sent in blocks of 1 to 6 bytes. Longer messages must be  - * sent by calling SEQ_SYSEX() several times (there must be no other events - * between them). First sysex fragment must have 0xf0 in the first byte - * and the last byte (buf[len-1] of the last fragment must be 0xf7. No byte - * between these sysex start and end markers cannot be larger than 0x7f. Also - * lengths of each fragments (except the last one) must be 6. - * - * Breaking the above rules may work with some MIDI ports but is likely to - * cause fatal problems with some other devices (such as MPU401). - */ -#define SEQ_SYSEX(dev, buf, len) \ -					{int ii, ll=(len); \ -					 unsigned char *bufp=buf;\ -					 if (ll>6)ll=6;\ -					_SEQ_NEEDBUF(8);\ -					_seqbuf[_seqbufptr] = EV_SYSEX;\ -					_seqbuf[_seqbufptr+1] = (dev);\ -					for(ii=0;ii<ll;ii++)\ -					   _seqbuf[_seqbufptr+ii+2] = bufp[ii];\ -					for(ii=ll;ii<6;ii++)\ -					   _seqbuf[_seqbufptr+ii+2] = 0xff;\ -					_SEQ_ADVBUF(8);} - -#define SEQ_CHN_PRESSURE(dev, chn, pressure) \ -		_CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0) - -#define SEQ_SET_PATCH SEQ_PGM_CHANGE -#ifdef OSSLIB -#   define SEQ_PGM_CHANGE(dev, chn, patch) \ -		{OSS_patch_caching(dev, chn, patch, seqfd, _seqbuf, _seqbuflen); \ -		 _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0);} -#else -#   define SEQ_PGM_CHANGE(dev, chn, patch) \ -		_CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0) -#endif - -#define SEQ_CONTROL(dev, chn, controller, value) \ -		_CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value) - -#define SEQ_BENDER(dev, chn, value) \ -		_CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value) - - -#define SEQ_V2_X_CONTROL(dev, voice, controller, value)	{_SEQ_NEEDBUF(8);\ -					_seqbuf[_seqbufptr] = SEQ_EXTENDED;\ -					_seqbuf[_seqbufptr+1] = SEQ_CONTROLLER;\ -					_seqbuf[_seqbufptr+2] = (dev);\ -					_seqbuf[_seqbufptr+3] = (voice);\ -					_seqbuf[_seqbufptr+4] = (controller);\ -					_seqbuf[_seqbufptr+5] = ((value)&0xff);\ -					_seqbuf[_seqbufptr+6] = ((value>>8)&0xff);\ -					_seqbuf[_seqbufptr+7] = 0;\ -					_SEQ_ADVBUF(8);} -/* - * The following 5 macros are incorrectly implemented and obsolete. - * Use SEQ_BENDER and SEQ_CONTROL (with proper controller) instead. - */ -#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value) -#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value) -#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128) -#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100) -#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2) - -/* - * Timing and syncronization macros - */ - -#define _TIMER_EVENT(ev, parm)		{_SEQ_NEEDBUF(8);\ -				 	_seqbuf[_seqbufptr+0] = EV_TIMING; \ -				 	_seqbuf[_seqbufptr+1] = (ev); \ -					_seqbuf[_seqbufptr+2] = 0;\ -					_seqbuf[_seqbufptr+3] = 0;\ -				 	*(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \ -					_SEQ_ADVBUF(8);} - -#define SEQ_START_TIMER()		_TIMER_EVENT(TMR_START, 0) -#define SEQ_STOP_TIMER()		_TIMER_EVENT(TMR_STOP, 0) -#define SEQ_CONTINUE_TIMER()		_TIMER_EVENT(TMR_CONTINUE, 0) -#define SEQ_WAIT_TIME(ticks)		_TIMER_EVENT(TMR_WAIT_ABS, ticks) -#define SEQ_DELTA_TIME(ticks)		_TIMER_EVENT(TMR_WAIT_REL, ticks) -#define SEQ_ECHO_BACK(key)		_TIMER_EVENT(TMR_ECHO, key) -#define SEQ_SET_TEMPO(value)		_TIMER_EVENT(TMR_TEMPO, value) -#define SEQ_SONGPOS(pos)		_TIMER_EVENT(TMR_SPP, pos) -#define SEQ_TIME_SIGNATURE(sig)		_TIMER_EVENT(TMR_TIMESIG, sig) - -/* - * Local control events - */ - -#define _LOCAL_EVENT(ev, parm)		{_SEQ_NEEDBUF(8);\ -				 	_seqbuf[_seqbufptr+0] = EV_SEQ_LOCAL; \ -				 	_seqbuf[_seqbufptr+1] = (ev); \ -					_seqbuf[_seqbufptr+2] = 0;\ -					_seqbuf[_seqbufptr+3] = 0;\ -				 	*(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \ -					_SEQ_ADVBUF(8);} - -#define SEQ_PLAYAUDIO(devmask)		_LOCAL_EVENT(LOCL_STARTAUDIO, devmask) -/* - * Events for the level 1 interface only  - */ - -#define SEQ_MIDIOUT(device, byte)	{_SEQ_NEEDBUF(4);\ -					_seqbuf[_seqbufptr] = SEQ_MIDIPUTC;\ -					_seqbuf[_seqbufptr+1] = (byte);\ -					_seqbuf[_seqbufptr+2] = (device);\ -					_seqbuf[_seqbufptr+3] = 0;\ -					_SEQ_ADVBUF(4);} - -/* - * Patch loading. - */ -#ifdef OSSLIB -#   define SEQ_WRPATCH(patchx, len) \ -		OSS_write_patch(seqfd, (char*)(patchx), len) -#   define SEQ_WRPATCH2(patchx, len) \ -		OSS_write_patch2(seqfd, (char*)(patchx), len) -#else -#   define SEQ_WRPATCH(patchx, len) \ -		{if (_seqbufptr) SEQ_DUMPBUF();\ -		 if (write(seqfd, (char*)(patchx), len)==-1) \ -		    perror("Write patch: /dev/sequencer");} -#   define SEQ_WRPATCH2(patchx, len) \ -		(SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len)) -#endif - -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h b/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h deleted file mode 100644 index 07b502465..000000000 --- a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h +++ /dev/null @@ -1,172 +0,0 @@ -#define _IOC_NRBITS      8 -#define _IOC_TYPEBITS    8 -#define _IOC_SIZEBITS    8 -#define _IOC_RESVBITS    5 -#define _IOC_DIRBITS     3 - -#define _IOC_NRMASK      ((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK    ((1 << _IOC_TYPEBITS)-1) -#define _IOC_RESVMASK    ((1 << _IOC_RESVBITS)-1) -#define _IOC_SIZEMASK    ((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK     ((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT     0 -#define _IOC_TYPESHIFT   (_IOC_NRSHIFT + _IOC_NRBITS) -#define _IOC_SIZESHIFT   (_IOC_TYPESHIFT + _IOC_TYPEBITS) -#define _IOC_RESVSHIFT   (_IOC_SIZESHIFT + _IOC_SIZEBITS) -#define _IOC_DIRSHIFT    (_IOC_RESVSHIFT + _IOC_RESVBITS) - -#define _IOC_NONE        1U -#define _IOC_READ        2U -#define _IOC_WRITE       4U - -#define _IOC(dir,type,nr,size) \ -        (((dir)  << _IOC_DIRSHIFT) | \ -         ((type) << _IOC_TYPESHIFT) | \ -         ((nr)   << _IOC_NRSHIFT) | \ -         ((size) << _IOC_SIZESHIFT)) - -#define _IO(type,nr)        _IOC(_IOC_NONE,(type),(nr),0) -#define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -#define _IOC_DIR(nr)        (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE(nr)       (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR(nr)         (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr)       (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the PCMCIA... */ - -#define IOC_IN          (_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT         (_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT       ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK    (_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT   (_IOC_SIZESHIFT) - -/* Big T */ -#define TCGETA		_IOR('T', 1, struct termio) -#define TCSETA		_IOW('T', 2, struct termio) -#define TCSETAW		_IOW('T', 3, struct termio) -#define TCSETAF		_IOW('T', 4, struct termio) -#define TCSBRK		_IO('T', 5) -#define TCXONC		_IO('T', 6) -#define TCFLSH		_IO('T', 7) -#define TCGETS		_IOR('T', 8, struct termios) -#define TCSETS		_IOW('T', 9, struct termios) -#define TCSETSW		_IOW('T', 10, struct termios) -#define TCSETSF		_IOW('T', 11, struct termios) - -/* Note that all the ioctls that are not available in Linux have a  - * double underscore on the front to: a) avoid some programs to - * thing we support some ioctls under Linux (autoconfiguration stuff) - */ -/* Little t */ -#define TIOCGETD	_IOR('t', 0, int) -#define TIOCSETD	_IOW('t', 1, int) -#define __TIOCHPCL        _IO('t', 2) /* SunOS Specific */ -#define __TIOCMODG        _IOR('t', 3, int) /* SunOS Specific */ -#define __TIOCMODS        _IOW('t', 4, int) /* SunOS Specific */ -#define __TIOCGETP        _IOR('t', 8, struct sgttyb) /* SunOS Specific */ -#define __TIOCSETP        _IOW('t', 9, struct sgttyb) /* SunOS Specific */ -#define __TIOCSETN        _IOW('t', 10, struct sgttyb) /* SunOS Specific */ -#define TIOCEXCL	_IO('t', 13) -#define TIOCNXCL	_IO('t', 14) -#define __TIOCFLUSH       _IOW('t', 16, int) /* SunOS Specific */ -#define __TIOCSETC        _IOW('t', 17, struct tchars) /* SunOS Specific */ -#define __TIOCGETC        _IOR('t', 18, struct tchars) /* SunOS Specific */ -#define __TIOCTCNTL       _IOW('t', 32, int) /* SunOS Specific */ -#define __TIOCSIGNAL      _IOW('t', 33, int) /* SunOS Specific */ -#define __TIOCSETX        _IOW('t', 34, int) /* SunOS Specific */ -#define __TIOCGETX        _IOR('t', 35, int) /* SunOS Specific */ -#define TIOCCONS	_IO('t', 36) -#define __TIOCSSIZE     _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */ -#define __TIOCGSIZE     _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */ -#define TIOCGSOFTCAR	_IOR('t', 100, int) -#define TIOCSSOFTCAR	_IOW('t', 101, int) -#define __TIOCUCNTL       _IOW('t', 102, int) /* SunOS Specific */ -#define TIOCSWINSZ	_IOW('t', 103, struct winsize) -#define TIOCGWINSZ	_IOR('t', 104, struct winsize) -#define __TIOCREMOTE      _IOW('t', 105, int) /* SunOS Specific */ -#define TIOCMGET	_IOR('t', 106, int) -#define TIOCMBIC	_IOW('t', 107, int) -#define TIOCMBIS	_IOW('t', 108, int) -#define TIOCMSET	_IOW('t', 109, int) -#define __TIOCSTART       _IO('t', 110) /* SunOS Specific */ -#define __TIOCSTOP        _IO('t', 111) /* SunOS Specific */ -#define TIOCPKT		_IOW('t', 112, int) -#define TIOCNOTTY	_IO('t', 113) -#define TIOCSTI		_IOW('t', 114, char) -#define TIOCOUTQ	_IOR('t', 115, int) -#define __TIOCGLTC        _IOR('t', 116, struct ltchars) /* SunOS Specific */ -#define __TIOCSLTC        _IOW('t', 117, struct ltchars) /* SunOS Specific */ -/* 118 is the non-posix setpgrp tty ioctl */ -/* 119 is the non-posix getpgrp tty ioctl */ -#define __TIOCCDTR        _IO('t', 120) /* SunOS Specific */ -#define __TIOCSDTR        _IO('t', 121) /* SunOS Specific */ -#define TIOCCBRK        _IO('t', 122) -#define TIOCSBRK        _IO('t', 123) -#define __TIOCLGET        _IOW('t', 124, int) /* SunOS Specific */ -#define __TIOCLSET        _IOW('t', 125, int) /* SunOS Specific */ -#define __TIOCLBIC        _IOW('t', 126, int) /* SunOS Specific */ -#define __TIOCLBIS        _IOW('t', 127, int) /* SunOS Specific */ -#define __TIOCISPACE      _IOR('t', 128, int) /* SunOS Specific */ -#define __TIOCISIZE       _IOR('t', 129, int) /* SunOS Specific */ -#define TIOCSPGRP	_IOW('t', 130, int) -#define TIOCGPGRP	_IOR('t', 131, int) -#define TIOCSCTTY	_IO('t', 132) -#define TIOCGSID	_IOR('t', 133, int) -/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */ -#define TIOCGPTN	_IOR('t', 134, unsigned int) /* Get Pty Number */ -#define TIOCSPTLCK	_IOW('t', 135, int) /* Lock/unlock PTY */ - -/* Little f */ -#define FIOCLEX		_IO('f', 1) -#define FIONCLEX	_IO('f', 2) -#define FIOASYNC	_IOW('f', 125, int) -#define FIONBIO		_IOW('f', 126, int) -#define FIONREAD	_IOR('f', 127, int) -#define TIOCINQ		FIONREAD -#define FIOQSIZE	_IOR('f', 128, loff_t) - -/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it - * someday.  This is completely bogus, I know... - */ -#define __TCGETSTAT       _IO('T', 200) /* Rutgers specific */ -#define __TCSETSTAT       _IO('T', 201) /* Rutgers specific */ - -/* Linux specific, no SunOS equivalent. */ -#define TIOCLINUX	0x541C -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TCSBRKP		0x5425 -#define TIOCTTYGSTRUCT	0x5426 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR   0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config  */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ -#define TIOCMIWAIT	0x545C /* Wait input */ -#define TIOCGICOUNT	0x545D /* Read serial port inline interrupt counts */ - -/* Used for packet mode */ -#define TIOCPKT_DATA		 0 -#define TIOCPKT_FLUSHREAD	 1 -#define TIOCPKT_FLUSHWRITE	 2 -#define TIOCPKT_STOP		 4 -#define TIOCPKT_START		 8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -/* Socket-level I/O control calls. */ -#define FIOSETOWN 	0x8901 -#define SIOCSPGRP	0x8902 -#define FIOGETOWN	0x8903 -#define SIOCGPGRP	0x8904 -#define SIOCATMARK	0x8905 -#define SIOCGSTAMP	0x8906		/* Get stamp */ - diff --git a/mdk-stage1/dietlibc/include/sys/stat.h b/mdk-stage1/dietlibc/include/sys/stat.h deleted file mode 100644 index d31cbd1f2..000000000 --- a/mdk-stage1/dietlibc/include/sys/stat.h +++ /dev/null @@ -1,516 +0,0 @@ -#ifndef _SYS_STAT_H -#define _SYS_STAT_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <endian.h> - -#if defined(__i386__) -struct 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; -	  signed long	st_atime; -	unsigned long	__unused1; -	  signed long	st_mtime; -	unsigned long	__unused2; -	  signed long	st_ctime; -	unsigned long	__unused3; -	unsigned long	__unused4; -	unsigned long	__unused5; -}; - -struct stat64 { -	unsigned short	st_dev; -	unsigned char	__pad0[10]; - -#define STAT64_HAS_BROKEN_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]; - -__extension__	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 */ - -	unsigned long	st_atime; -	unsigned long	__pad5; - -	  signed long	st_mtime; -	unsigned long	__pad6; - -	unsigned long	st_ctime; -	unsigned long	__pad7;		/* will be high 32 bits of ctime someday */ - -__extension__	unsigned long long	st_ino; -}; -#elif defined(__sparc__) -struct stat { -	unsigned short	st_dev; -	unsigned long	st_ino; -	unsigned short	st_mode; -	short		st_nlink; -	unsigned short	st_uid; -	unsigned short	st_gid; -	unsigned short	st_rdev; -	long		st_size; -	long		st_atime; -	unsigned long	__unused1; -	long		st_mtime; -	unsigned long	__unused2; -	long		st_ctime; -	unsigned long	__unused3; -	long		st_blksize; -	long		st_blocks; -	unsigned long	__unused4[2]; -}; - -struct stat64 { -	unsigned char	__pad0[6]; -	unsigned short	st_dev; - -__extension__	unsigned long long	st_ino; - -	unsigned int	st_mode; -	unsigned int	st_nlink; - -	unsigned int	st_uid; -	unsigned int	st_gid; - -	unsigned char	__pad2[6]; -	unsigned short	st_rdev; - -	unsigned char	__pad3[8]; - -__extension__	long long	st_size; -	unsigned int	st_blksize; - -	unsigned char	__pad4[8]; -	unsigned int	st_blocks; - -	  signed int	st_atime; -	unsigned int	__unused1; - -	  signed int	st_mtime; -	unsigned int	__unused2; - -	  signed int	st_ctime; -	unsigned int	__unused3; - -	unsigned int	__unused4; -	unsigned int	__unused5; -}; -#elif defined(__alpha__) -struct stat { -	unsigned int	st_dev; -	unsigned int	st_ino; -	unsigned int	st_mode; -	unsigned int	st_nlink; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned int	st_rdev; -	long		st_size; -	  signed long	st_atime; -	  signed long	st_mtime; -	  signed long	st_ctime; -	unsigned int	st_blksize; -	int		st_blocks; -	unsigned int	st_flags; -	unsigned int	st_gen; -}; -#elif defined(__mips__) -struct stat { -	unsigned int	st_dev; -	long		st_pad1[3];		/* Reserved for network id */ -	ino_t		st_ino; -	unsigned int	st_mode; -	int		st_nlink; -	int		st_uid; -	int		st_gid; -	unsigned int	st_rdev; -	long		st_pad2[2]; -	long		st_size; -	long		st_pad3; -	/* -	 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime -	 * but we don't have it under Linux. -	 */ -	time_t		st_atime; -	long		reserved0; -	time_t		st_mtime; -	long		reserved1; -	time_t		st_ctime; -	long		reserved2; -	long		st_blksize; -	long		st_blocks; -	char		st_fstype[16];	/* Filesystem type name */ -	long		st_pad4[8]; -	/* Linux specific fields */ -	unsigned int	st_flags; -	unsigned int	st_gen; -}; - -struct stat64 { -	unsigned long	st_dev; -	unsigned long	st_pad0[3];	/* Reserved for st_dev expansion  */ -__extension__ unsigned long long	st_ino; -	unsigned int	st_mode; -	unsigned int	st_nlink; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned long	st_rdev; -	unsigned long	st_pad1[3];	/* Reserved for st_rdev expansion  */ -__extension__ long long	st_size; -	/* -	 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime -	 * but we don't have it under Linux. -	 */ -	time_t		st_atime; -	unsigned long	reserved0;	/* Reserved for st_atime expansion  */ -	time_t		st_mtime; -	unsigned long	reserved1;	/* Reserved for st_atime expansion  */ -	time_t		st_ctime; -	unsigned long	reserved2;	/* Reserved for st_atime expansion  */ -	unsigned long	st_blksize; -	unsigned long	st_pad2; -__extension__ long long	st_blocks; -}; -#elif defined(__powerpc__) -struct stat { -	dev_t		st_dev; -	ino_t		st_ino; -	mode_t		st_mode; -	nlink_t		st_nlink; -	uid_t		st_uid; -	gid_t		st_gid; -	dev_t		st_rdev; -	off_t		st_size; -	unsigned long	st_blksize; -	unsigned long	st_blocks; -	  signed long	st_atime; -	unsigned long	__unused1; -	  signed long	st_mtime; -	unsigned long	__unused2; -	  signed long	st_ctime; -	unsigned long	__unused3; -	unsigned long	__unused4; -	unsigned long	__unused5; -}; - -/* This matches struct stat64 in glibc2.1. - */ -struct stat64 { -__extension__	unsigned long long st_dev; 	/* Device.  */ -__extension__	unsigned long long st_ino;	/* File serial number.  */ -	unsigned int st_mode;		/* File mode.  */ -	unsigned int st_nlink;		/* Link count.  */ -	unsigned int st_uid;		/* User ID of the file's owner.  */ -	unsigned int st_gid;		/* Group ID of the file's group. */ -__extension__	unsigned long long st_rdev; 	/* Device number, if device.  */ -	unsigned short int __pad2; -__extension__	long long st_size;		/* Size of file, in bytes.  */ -	long st_blksize;		/* Optimal block size for I/O.  */ - -__extension__	long long st_blocks;		/* Number 512-byte blocks allocated. */ -	long st_atime;			/* Time of last access.  */ -	unsigned long int __unused1; -	long st_mtime;			/* Time of last modification.  */ -	unsigned long int __unused2; -	long st_ctime;			/* Time of last status change.  */ -	unsigned long int __unused3; -	unsigned long int __unused4; -	unsigned long int __unused5; -}; -#elif defined(__arm__) -struct 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; -	  signed long	st_atime; -	unsigned long	__unused1; -	  signed long	st_mtime; -	unsigned long	__unused2; -	  signed long	st_ctime; -	unsigned long	__unused3; -	unsigned long	__unused4; -	unsigned long	__unused5; -}; - -/* This matches struct stat64 in glibc2.1, hence the absolutely - * insane amounts of padding around dev_t's. - */ -struct stat64 { -	unsigned short	st_dev; -	unsigned char	__pad0[10]; - -#define STAT64_HAS_BROKEN_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]; - -__extension__	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 */ - -	  signed long	st_atime; -	unsigned long	__pad5; - -	  signed long	st_mtime; -	unsigned long	__pad6; - -	  signed long	st_ctime; -	unsigned long	__pad7;		/* will be high 32 bits of ctime someday */ - -__extension__	unsigned long long	st_ino; -}; -#elif defined(__s390__) -struct 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; -	unsigned long	st_atime; -	unsigned long	__unused1; -	unsigned long	st_mtime; -	unsigned long	__unused2; -	unsigned long	st_ctime; -	unsigned long	__unused3; -	unsigned long	__unused4; -	unsigned long	__unused5; -}; -struct stat64 { -	unsigned char	__pad0[6]; -	unsigned short	st_dev; -	unsigned int	__pad1; -#define STAT64_HAS_BROKEN_ST_INO	1 -	unsigned long	__st_ino; -	unsigned int	st_mode; -	unsigned int	st_nlink; -	unsigned long	st_uid; -	unsigned long	st_gid; -	unsigned char	__pad2[6]; -	unsigned short	st_rdev; -	unsigned int	__pad3; -__extension__	long long	st_size; -	unsigned long	st_blksize; -	unsigned char	__pad4[4]; -	unsigned long	__pad5; 	/* future possible st_blocks high bits */ -	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */ -	unsigned long	st_atime; -	unsigned long	__pad6; -	unsigned long	st_mtime; -	unsigned long	__pad7; -	unsigned long	st_ctime; -	unsigned long	__pad8; 	/* will be high 32 bits of ctime someday */ -__extension__	unsigned long long	st_ino; -}; - -#elif defined(__hppa__) - -struct stat { -	unsigned long long st_dev; -	unsigned short int _pad1; -	unsigned long st_ino; -	unsigned long st_mode; -	unsigned long st_nlink; -	unsigned long st_uid; -	unsigned long st_gid; -	unsigned long long st_rdev; -	unsigned short int _pad2; -	unsigned long st_size; -	unsigned long st_blksize; -	unsigned long st_blocks; -	unsigned long st_atime; -	unsigned long int unused1; -	unsigned long st_mtime; -	unsigned long int unused2; -	unsigned long st_ctime; -	unsigned long int unused3; -	unsigned long long unused4; -}; - -struct stat64 { -	unsigned long long st_dev; -	unsigned int __pad1; -#define STAT64_HAS_BROKEN_ST_INO	1 -	unsigned long __st_ino; -	unsigned long st_mode; -	unsigned long st_nlink; -	unsigned long st_uid; -	unsigned long st_gid; -	unsigned long long st_rdev; -	unsigned int __pad2; -	unsigned long long st_size; -	unsigned long long st_blksize; - -	unsigned long long st_blocks; - 	unsigned long st_atime; -	unsigned long int __unused1; -	unsigned long st_mtime; -	unsigned long int __unused2; -	unsigned long st_ctime; -	unsigned long int __unused3; -	unsigned long long st_ino; -}; - -#elif defined(__x86_64__) -struct stat { -	unsigned long	st_dev; -	unsigned long	st_ino; -	unsigned long	st_nlink; -	unsigned int	st_mode; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned int	__pad0; -	unsigned long	 st_rdev; -	unsigned long	st_size; -	unsigned long	st_blksize; -	unsigned long	st_blocks; -	unsigned long	st_atime; -	unsigned long	__reserved0; -	unsigned long	st_mtime; -	unsigned long	__reserved1; -	unsigned long	st_ctime; -	unsigned long	__reserved2; -	long		__unused[3]; -}; - -#elif defined(__ia64__) - -struct stat { -	unsigned long	st_dev; -	unsigned long	st_ino; -	unsigned long	st_nlink; -	unsigned int	st_mode; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned int	__pad; -	unsigned long	st_rdev; -	unsigned long	st_size; -	unsigned long	st_atime; -	unsigned long	reserved; -	unsigned long	st_mtime; -	unsigned long	reserved2; -	unsigned long	st_ctime; -	unsigned long	reserved3; -	unsigned long	st_blksize; -	long		st_blocks; -	unsigned long	pad[3]; -}; - -#endif - -#define S_IFMT  00170000 -#define S_IFSOCK 0140000 -#define S_IFLNK	 0120000 -#define S_IFREG  0100000 -#define S_IFBLK  0060000 -#define S_IFDIR  0040000 -#define S_IFCHR  0020000 -#define S_IFIFO  0010000 -#define S_ISUID  0004000 -#define S_ISGID  0002000 -#define S_ISVTX  0001000 - -#define S_ISLNK(m)	(((m) & S_IFMT) == S_IFLNK) -#define S_ISREG(m)	(((m) & S_IFMT) == S_IFREG) -#define S_ISDIR(m)	(((m) & S_IFMT) == S_IFDIR) -#define S_ISCHR(m)	(((m) & S_IFMT) == S_IFCHR) -#define S_ISBLK(m)	(((m) & S_IFMT) == S_IFBLK) -#define S_ISFIFO(m)	(((m) & S_IFMT) == S_IFIFO) -#define S_ISSOCK(m)	(((m) & S_IFMT) == S_IFSOCK) - -#define S_IRWXU 00700 -#define S_IRUSR 00400 -#define S_IWUSR 00200 -#define S_IXUSR 00100 - -#define S_IRWXG 00070 -#define S_IRGRP 00040 -#define S_IWGRP 00020 -#define S_IXGRP 00010 - -#define S_IRWXO 00007 -#define S_IROTH 00004 -#define S_IWOTH 00002 -#define S_IXOTH 00001 - -extern int stat(const char *__file, struct stat *__buf) __THROW; -extern int fstat(int __fd, struct stat *__buf) __THROW; -extern int lstat(const char *__file, struct stat *__buf) __THROW; - -#if __WORDSIZE == 64 -#define __NO_STAT64 -#else -extern int stat64(const char *__file, struct stat64 *__buf) __THROW; -extern int fstat64(int __fd, struct stat64 *__buf) __THROW; -extern int lstat64(const char *__file, struct stat64 *__buf) __THROW; - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -#define lstat lstat64 -#define fstat fstat64 -#define stat stat64 -#define pread pread64 -#define pwrite pwrite64 -#endif -#endif - -#define major(dev) (((dev)>>8) & 0xff) -#define minor(dev) ((dev) & 0xff) -#define makedev(major, minor) ((((unsigned int) (major)) << 8) | ((unsigned int) (minor))) - -extern int chmod (const char *__file, mode_t __mode) __THROW; -extern int fchmod (int __fd, mode_t __mode) __THROW; -extern mode_t umask (mode_t __mask) __THROW; -extern int mkdir (const char *__path, mode_t __mode) __THROW; -extern int mknod (const char *__path, mode_t __mode, dev_t __dev) __THROW; -extern int mkfifo (const char *__path, mode_t __mode) __THROW; - -#define S_IREAD S_IRUSR -#define S_IWRITE S_IWUSR -#define S_IEXEC S_IXUSR - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/syscall.h b/mdk-stage1/dietlibc/include/sys/syscall.h deleted file mode 100644 index 5d6b5a4ad..000000000 --- a/mdk-stage1/dietlibc/include/sys/syscall.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _SYSCALL_H -#define _SYSCALL_H - -#include <asm/unistd.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/sysinfo.h b/mdk-stage1/dietlibc/include/sys/sysinfo.h deleted file mode 100644 index cf88be34c..000000000 --- a/mdk-stage1/dietlibc/include/sys/sysinfo.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _SYS_SYSINFO_H -#define _SYS_SYSINFO_H - -#include <sys/cdefs.h> - -#define SI_LOAD_SHIFT	16 -struct sysinfo { -  long uptime;			/* Seconds since boot */ -  unsigned long loads[3];	/* 1, 5, and 15 minute load averages */ -  unsigned long totalram;	/* Total usable main memory size */ -  unsigned long freeram;	/* Available memory size */ -  unsigned long sharedram;	/* Amount of shared memory */ -  unsigned long bufferram;	/* Memory used by buffers */ -  unsigned long totalswap;	/* Total swap space size */ -  unsigned long freeswap;	/* swap space still available */ -  unsigned short procs;		/* Number of current processes */ -  unsigned short pad;		/* explicit padding */ -  unsigned long totalhigh;	/* Total high memory size */ -  unsigned long freehigh;	/* Available high memory size */ -  unsigned int mem_unit;	/* Memory unit size in bytes */ -  char _f[20-2*sizeof(long)-sizeof(int)];	/* Padding: libc5 uses this.. */ -}; - - -int sysinfo(struct sysinfo *info) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/syslog.h b/mdk-stage1/dietlibc/include/sys/syslog.h deleted file mode 100644 index 8722038a5..000000000 --- a/mdk-stage1/dietlibc/include/sys/syslog.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _SYS_SYSLOG_H -#define _SYS_SYSLOG_H 1 - -#include <sys/cdefs.h> -#include <stdarg.h> - -#define _PATH_LOG	"/dev/log" - -/* - * priorities/facilities are encoded into a single 32-bit quantity, where the - * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility - * (0-big number).  Both the priorities and the facilities map roughly - * one-to-one to strings in the syslogd(8) source code.  This mapping is - * included in this file. - * - * priorities (these are ordered) - */ -#define LOG_EMERG	0	/* system is unusable */ -#define LOG_ALERT	1	/* action must be taken immediately */ -#define LOG_CRIT	2	/* critical conditions */ -#define LOG_ERR		3	/* error conditions */ -#define LOG_WARNING	4	/* warning conditions */ -#define LOG_NOTICE	5	/* normal but significant condition */ -#define LOG_INFO	6	/* informational */ -#define LOG_DEBUG	7	/* debug-level messages */ - -#define LOG_PRIMASK	0x07	/* mask to extract priority part (internal) */ -				/* extract priority */ -#define LOG_PRI(p)	((p) & LOG_PRIMASK) -#define LOG_MAKEPRI(fac, pri)	(((fac) << 3) | (pri)) - -/* facility codes */ -#define LOG_KERN	(0<<3)	/* kernel messages */ -#define LOG_USER	(1<<3)	/* random user-level messages */ -#define LOG_MAIL	(2<<3)	/* mail system */ -#define LOG_DAEMON	(3<<3)	/* system daemons */ -#define LOG_AUTH	(4<<3)	/* security/authorization messages */ -#define LOG_SYSLOG	(5<<3)	/* messages generated internally by syslogd */ -#define LOG_LPR		(6<<3)	/* line printer subsystem */ -#define LOG_NEWS	(7<<3)	/* network news subsystem */ -#define LOG_UUCP	(8<<3)	/* UUCP subsystem */ -#define LOG_CRON	(9<<3)	/* clock daemon */ -#define LOG_AUTHPRIV	(10<<3)	/* security/authorization messages (private) */ -#define LOG_FTP		(11<<3)	/* ftp daemon */ - -	/* other codes through 15 reserved for system use */ -#define LOG_LOCAL0	(16<<3)	/* reserved for local use */ -#define LOG_LOCAL1	(17<<3)	/* reserved for local use */ -#define LOG_LOCAL2	(18<<3)	/* reserved for local use */ -#define LOG_LOCAL3	(19<<3)	/* reserved for local use */ -#define LOG_LOCAL4	(20<<3)	/* reserved for local use */ -#define LOG_LOCAL5	(21<<3)	/* reserved for local use */ -#define LOG_LOCAL6	(22<<3)	/* reserved for local use */ -#define LOG_LOCAL7	(23<<3)	/* reserved for local use */ - -#define LOG_NFACILITIES	24	/* current number of facilities */ -#define LOG_FACMASK	0x03f8	/* mask to extract facility part */ -				/* facility of pri */ -#define LOG_FAC(p)	(((p) & LOG_FACMASK) >> 3) - -/* - * arguments to setlogmask. - */ -#define LOG_MASK(pri)	(1 << (pri))		/* mask for one priority */ -#define LOG_UPTO(pri)	((1 << ((pri)+1)) - 1)	/* all priorities through pri */ - -/* - * Option flags for openlog. - * - * LOG_ODELAY no longer does anything. - * LOG_NDELAY is the inverse of what it used to be. - */ -#define LOG_PID		0x01	/* log the pid with each message */ -#define LOG_CONS	0x02	/* log on the console if errors in sending */ -#define LOG_ODELAY	0x04	/* delay open until first syslog() (default) */ -#define LOG_NDELAY	0x08	/* don't delay open */ -#define LOG_NOWAIT	0x10	/* don't wait for console forks: DEPRECATED */ -#define LOG_PERROR	0x20	/* log to stderr as well */ - -/* Open connection to system logger.  */ -/* against the glibc-routine ident has not to be const ! */ -/* instead ident is limited to 80 characters ! */ -void openlog (const char *ident, int option, int  facility); - -void closelog (void) __THROW; - -int setlogmask (int mask) __THROW; - -void syslog (int priority, const char *format, ...) __THROW; - -void vsyslog (int priority, const char *format, va_list arg_ptr) __THROW; - -/* yuck yuck yuck, only needed for syslogd. */ -typedef struct _code { -  const char *const c_name; -  int c_val; -} CODE; - -extern CODE prioritynames[]; -extern CODE facilitynames[]; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/sysmacros.h b/mdk-stage1/dietlibc/include/sys/sysmacros.h deleted file mode 100644 index 8a8124131..000000000 --- a/mdk-stage1/dietlibc/include/sys/sysmacros.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _SYSMACROS_H -#define _SYSMACROS_H - -#include <sys/stat.h> - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/time.h b/mdk-stage1/dietlibc/include/sys/time.h deleted file mode 100644 index 9fc40089f..000000000 --- a/mdk-stage1/dietlibc/include/sys/time.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _SYS_TIME_H -#define _SYS_TIME_H	1 - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/select.h> - -struct timespec { -  time_t tv_sec;	/* seconds */ -  long tv_nsec;		/* nanoseconds */ -}; - -struct timeval { -  time_t tv_sec;	/* seconds */ -  suseconds_t tv_usec;	/* microseconds */ -}; - -struct timezone { -  int tz_minuteswest;	/* minutes west of Greenwich */ -  int tz_dsttime;	/* type of dst correction */ -}; - -#define	ITIMER_REAL	0 -#define	ITIMER_VIRTUAL	1 -#define	ITIMER_PROF	2 - -struct itimerspec { -  struct timespec it_interval;	/* timer period */ -  struct timespec it_value;	/* timer expiration */ -}; - -struct itimerval { -  struct timeval it_interval;	/* timer interval */ -  struct timeval it_value;	/* current value */ -}; - -#if defined _GNU_SOURCE || defined _BSD_SOURCE -typedef struct timezone *__timezone_ptr_t; -#else -typedef void *__timezone_ptr_t; -#endif - -int getitimer(int which, struct itimerval *value) __THROW; -int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue) __THROW; - -int gettimeofday(struct timeval *tv, struct timezone *tz) __THROW; -int settimeofday(const struct timeval *tv , const struct timezone *tz) __THROW; - -extern int utimes (const char *__file, const struct timeval __tvp[2]) __THROW; - -extern int adjtime (const struct timeval *delta, struct timeval *olddelta) __THROW; - -struct tm { -  int tm_sec;			/* Seconds.	[0-60] (1 leap second) */ -  int tm_min;			/* Minutes.	[0-59] */ -  int tm_hour;			/* Hours.	[0-23] */ -  int tm_mday;			/* Day.		[1-31] */ -  int tm_mon;			/* Month.	[0-11] */ -  int tm_year;			/* Year - 1900. */ -  int tm_wday;			/* Day of week.	[0-6] */ -  int tm_yday;			/* Days in year.[0-365]	*/ -  int tm_isdst;			/* DST.		[-1/0/1]*/ - -  long int tm_gmtoff;		/* Seconds east of UTC.  */ -  const char *tm_zone;		/* Timezone abbreviation.  */ -}; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/timeb.h b/mdk-stage1/dietlibc/include/sys/timeb.h deleted file mode 100644 index ceed377e7..000000000 --- a/mdk-stage1/dietlibc/include/sys/timeb.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __SYS_TIMEB_H -#define __SYS_TIMEB_H 1 - -struct timeb { -  time_t   time; -  unsigned short millitm; -  short    timezone; -  short    dstflag; -}; - -int ftime(struct timeb *tp); - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/times.h b/mdk-stage1/dietlibc/include/sys/times.h deleted file mode 100644 index 27f75cdc5..000000000 --- a/mdk-stage1/dietlibc/include/sys/times.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _SYS_TIMES_H -#define _SYS_TIMES_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct tms { -	clock_t tms_utime; -	clock_t tms_stime; -	clock_t tms_cutime; -	clock_t tms_cstime; -}; - -clock_t times(struct tms *buf) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/timex.h b/mdk-stage1/dietlibc/include/sys/timex.h deleted file mode 100644 index cf024e009..000000000 --- a/mdk-stage1/dietlibc/include/sys/timex.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _SYS_TIMEX_H -#define _SYS_TIMEX_H - -struct timex { -  unsigned int modes;	/* mode selector */ -  long int offset;	/* time offset (usec) */ -  long int freq;	/* frequency offset (scaled ppm) */ -  long int maxerror;	/* maximum error (usec) */ -  long int esterror;	/* estimated error (usec) */ -  int status;		/* clock command/status */ -  long int constant;	/* pll time constant */ -  long int precision;	/* clock precision (usec) (read only) */ -  long int tolerance;	/* clock frequency tolerance (ppm) (read only) */ -  struct timeval time;	/* (read only) */ -  long int tick;	/* (modified) usecs between clock ticks */ - -  long int ppsfreq;	/* pps frequency (scaled ppm) (ro) */ -  long int jitter;	/* pps jitter (us) (ro) */ -  int shift;		/* interval duration (s) (shift) (ro) */ -  long int stabil;	/* pps stability (scaled ppm) (ro) */ -  long int jitcnt;	/* jitter limit exceeded (ro) */ -  long int calcnt;	/* calibration intervals (ro) */ -  long int errcnt;	/* calibration errors (ro) */ -  long int stbcnt;	/* stability limit exceeded (ro) */ - -  /* ??? */ -  int  :32; int  :32; int  :32; int  :32; -  int  :32; int  :32; int  :32; int  :32; -  int  :32; int  :32; int  :32; int  :32; -}; - -#define ADJ_OFFSET            0x0001 /* time offset */ -#define ADJ_FREQUENCY         0x0002 /* frequency offset */ -#define ADJ_MAXERROR          0x0004 /* maximum time error */ -#define ADJ_ESTERROR          0x0008 /* estimated time error */ -#define ADJ_STATUS            0x0010 /* clock status */ -#define ADJ_TIMECONST         0x0020 /* pll time constant */ -#define ADJ_TICK              0x4000 /* tick value */ -#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ - -#define TIME_OK   0 /* clock synchronized */ -#define TIME_INS  1 /* insert leap second */ -#define TIME_DEL  2 /* delete leap second */ -#define TIME_OOP  3 /* leap second in progress */ -#define TIME_WAIT 4 /* leap second has occurred */ -#define TIME_BAD  5 /* clock not synchronized */ - -int adjtimex(struct timex *buf); - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/types.h b/mdk-stage1/dietlibc/include/sys/types.h deleted file mode 100644 index a3d2bf4be..000000000 --- a/mdk-stage1/dietlibc/include/sys/types.h +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef _SYS_TYPES_H -#define _SYS_TYPES_H - -#include <inttypes.h> -#include <stddef.h> - -typedef unsigned long int blkcnt_t;	/* Used for file block counts */ -typedef unsigned long int blksize_t;	/* Used for block sizes */ -typedef unsigned long int clock_t;	/* Used for system times in -					   clock ticks or CLOCKS_PER_SEC -					   (see <time.h>). */ - -/* TODO: -     clockid_t -             Used for clock ID type in the clock and timer functions. -     fsblkcnt_t -             Used for file system block counts -     fsfilcnt_t -             Used for file system file counts -     pthread_attr_t -             Used to identify a thread attribute object. -     pthread_cond_t -             Used for condition variables. -     pthread_condattr_t -             Used to identify a condition attribute object. -     pthread_key_t -             Used for thread-specific data keys. -     pthread_mutex_t -             Used for mutexes. -     pthread_mutexattr_t -             Used to identify a mutex attribute object. -     pthread_once_t -             Used for dynamic package initialisation. -     pthread_rwlock_t -             Used for read-write locks. -     pthread_rwlockattr_t -             Used for read-write lock attributes. -     pthread_t -             Used to identify a thread. -     timer_t -             Used for timer ID returned by timer_create(). -*/ - -#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__hppa__) || defined(__sparc64__) \ - || defined(__x86_64__) || defined(__ia64__) -typedef unsigned int uid_t;		/* Used for user IDs. */ -typedef unsigned int gid_t;		/* Used for group IDs. */ -typedef unsigned int dev_t;		/* Used for device IDs. */ -#else -typedef unsigned short uid_t;		/* Used for user IDs. */ -typedef unsigned short gid_t;		/* Used for group IDs. */ -typedef unsigned short dev_t;		/* Used for device IDs. */ -#endif - -#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__sparc64__) \ - || defined(__x86_64__) || defined(__ia64__) -typedef unsigned int mode_t;		/* Used for some file attributes. */ -#else -typedef unsigned short mode_t;		/* Used for some file attributes. */ -#endif - -#if defined(__alpha__) || defined(__mips__) || defined(__sparc64__) \ - || defined(__x86_64__) || defined(__ia64__) -typedef unsigned int nlink_t;		/* Used for link counts. */ -#else -typedef unsigned short nlink_t;		/* Used for link counts. */ -#endif - -typedef signed int id_t;		/* Used as a general identifier; can be -					   used to contain at least a pid_t, -					   uid_t or a gid_t. */ -typedef unsigned long ino_t;		/* Used for file serial numbers. */ -typedef signed int key_t;		/* Used for interprocess communication. */ -typedef signed int pid_t;		/* Used for process IDs and process group IDs. */ -typedef signed long ssize_t;		/* Used for a count of bytes or an error indication. */ -typedef signed long suseconds_t;	/* Used for time in microseconds. */ -typedef signed long time_t;		/* Used for time in seconds. */ -typedef signed long useconds_t;		/* Used for time in microseconds. */ - -/* non-susv2 types: */ -__extension__ typedef signed long long loff_t;	/* 64-bit offset */ - -__extension__ typedef signed long long off64_t; -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -typedef off64_t off_t; -#else -typedef signed long off_t;             /* Used for file sizes. */ -#endif - -__extension__ typedef unsigned long long ino64_t; -__extension__ typedef signed long long blkcnt64_t; - -typedef uint32_t uid32_t; -typedef uint32_t gid32_t; - -typedef long int fpos_t; - -#define __socklen_t_defined -typedef unsigned int socklen_t; -typedef unsigned short sa_family_t; - -#ifdef _BSD_SOURCE -/* die, BSD, die! */ -typedef uint16_t nshort; -typedef uint32_t ntime; -typedef uint32_t nlong; -typedef uint32_t ulong; -typedef uint16_t n_short; -typedef uint32_t n_time; -typedef uint32_t n_long; -# ifndef __dietlibc_u_char_defined -typedef char* caddr_t; -typedef uint32_t u_long; -typedef unsigned char u_char; -typedef unsigned short u_short; -typedef unsigned int u_int; -# define __dietlibc_u_char_defined -# endif -typedef unsigned char uchar; -typedef unsigned short ushort; -typedef unsigned int uint; -#endif - -#ifdef _GNU_SOURCE -typedef uint8_t u_int8_t; -typedef uint16_t u_int16_t; -typedef uint32_t u_int32_t; -#ifndef __STRICT_ANSI__ -typedef uint64_t u_int64_t; -#endif -#endif - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/ucontext.h b/mdk-stage1/dietlibc/include/sys/ucontext.h deleted file mode 100644 index 573c6c7fb..000000000 --- a/mdk-stage1/dietlibc/include/sys/ucontext.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H - -#include <asm/sigcontext.h> -#include <signal.h> - -typedef struct sigcontext mcontext_t; - -#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__mips64__) || defined(__powerpc__) || defined(__hppa__) -struct ucontext { -  unsigned long		uc_flags; -  struct ucontext	*uc_link; -  stack_t		uc_stack; -  struct sigcontext	uc_mcontext; -  sigset_t		uc_sigmask;	/* mask last for extensibility */ -}; -#elif defined(__alpha__) -struct ucontext { -  unsigned long		uc_flags; -  struct ucontext	*uc_link; -  unsigned long		uc_osf_sigmask; -  stack_t		uc_stack; -  struct sigcontext	uc_mcontext; -  sigset_t		uc_sigmask;	/* mask last for extensibility */ -}; -#elif defined(__sparc__) || defined(__sparc64__) - -#define MC_TSTATE	0 -#define MC_PC		1 -#define MC_NPC		2 -#define MC_Y		3 -#define MC_G1		4 -#define MC_G2		5 -#define MC_G3		6 -#define MC_G4		7 -#define MC_G5		8 -#define MC_G6		9 -#define MC_G7		10 -#define MC_O0		11 -#define MC_O1		12 -#define MC_O2		13 -#define MC_O3		14 -#define MC_O4		15 -#define MC_O5		16 -#define MC_O6		17 -#define MC_O7		18 -#define MC_NGREG	19 - -typedef unsigned long mc_greg_t; -typedef mc_greg_t mc_gregset_t[MC_NGREG]; - -#define MC_MAXFPQ	16 -struct mc_fq { -  unsigned long		*mcfq_addr; -  unsigned int		mcfq_insn; -}; - -typedef struct mc_fpu { -  union { -    unsigned int	sregs[32]; -    unsigned long	dregs[32]; -    long double		qregs[16]; -  } mcfpu_fregs; -  unsigned long		mcfpu_fsr; -  unsigned long		mcfpu_fprs; -  unsigned long		mcfpu_gsr; -  struct mc_fq		*mcfpu_fq; -  unsigned char		mcfpu_qcnt; -  unsigned char		mcfpu_qentsz; -  unsigned char		mcfpu_enab; -} mc_fpu_t; - -typedef struct { -  mc_gregset_t	mc_gregs; -  mc_greg_t	mc_fp; -  mc_greg_t	mc_i7; -  mc_fpu_t	mc_fpregs; -} mcontext_t; - -struct ucontext { -  struct ucontext         *uc_link; -  unsigned long           uc_flags; -  sigset_t                uc_sigmask; -  mcontext_t              uc_mcontext; -}; -#elif defined(__s390__) -struct ucontext { -  unsigned long		uc_flags; -  struct ucontext	*uc_link; -  stack_t		uc_stack; -  _sigregs		uc_mcontext; -  sigset_t		uc_sigmask;	/* mask last for extensibility */ -}; -#elif defined(__ia64__) - -/* oh my god is this ugly!  --fefe*/ -struct ucontext { -  struct sigcontext uc_mcontext; -}; - -#define uc_link		uc_mcontext.sc_gr[0]	/* wrong type; nobody cares */ -#define uc_sigmask	uc_mcontext.sc_sigmask -#define uc_stack	uc_mcontext.sc_stack -#else -#error NEED TO PORT <sys/sigcontext.h>! -#endif - -typedef struct ucontext ucontext_t; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/uio.h b/mdk-stage1/dietlibc/include/sys/uio.h deleted file mode 100644 index 5edbdc8b2..000000000 --- a/mdk-stage1/dietlibc/include/sys/uio.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _SYS_UIO -#define _SYS_UIO 1 - -#include <sys/socket.h> - -int readv(int filedes, const struct iovec *vector, size_t count); -int writev(int filedes, const struct iovec *vector, size_t count); - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/un.h b/mdk-stage1/dietlibc/include/sys/un.h deleted file mode 100644 index 000a937c1..000000000 --- a/mdk-stage1/dietlibc/include/sys/un.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef	_SYS_UN_H -#define	_SYS_UN_H - -#include <sys/cdefs.h> - -#define UNIX_PATH_MAX	108 - -struct sockaddr_un { -	sa_family_t sun_family;	/* AF_UNIX */ -	char sun_path[UNIX_PATH_MAX];	/* pathname */ -}; - -#endif	/* sys/un.h  */ diff --git a/mdk-stage1/dietlibc/include/sys/utsname.h b/mdk-stage1/dietlibc/include/sys/utsname.h deleted file mode 100644 index 37bf6c811..000000000 --- a/mdk-stage1/dietlibc/include/sys/utsname.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef	_SYS_UTSNAME_H -#define	_SYS_UTSNAME_H	1 - -#include <sys/cdefs.h> - -/* Length of the entries in `struct utsname' is 65.  */ -#define _UTSNAME_LENGTH 65 -#define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH - -/* Linux provides as additional information in the `struct utsname' -   the name of the current domain.  Define _UTSNAME_DOMAIN_LENGTH -   to a value != 0 to activate this entry.  */ -#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH - -struct utsname { -  /* Name of the implementation of the operating system.  */ -  char sysname[_UTSNAME_LENGTH]; - -  /* Name of this node on the network.  */ -  char nodename[_UTSNAME_NODENAME_LENGTH]; - -  /* Current release level of this implementation.  */ -  char release[_UTSNAME_LENGTH]; -  /* Current version level of this release.  */ -  char version[_UTSNAME_LENGTH]; - -  /* Name of the hardware type the system is running on.  */ -  char machine[_UTSNAME_LENGTH]; - -  /* Name of the domain of this node on the network.  */ -  char domainname[_UTSNAME_DOMAIN_LENGTH]; -}; - -extern int uname (struct utsname *__name) __THROW; -#endif diff --git a/mdk-stage1/dietlibc/include/sys/vfs.h b/mdk-stage1/dietlibc/include/sys/vfs.h deleted file mode 100644 index 19b3242bb..000000000 --- a/mdk-stage1/dietlibc/include/sys/vfs.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _SYS_VFS_H -#define _SYS_VFS_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -typedef struct { -	int     __val[2]; -} __kernel_fsid_t; - -struct statfs { -	long f_type; -	long f_bsize; -#ifdef __mips__ -	long f_frsize; -#endif -	long f_blocks; -	long f_bfree; -#ifndef __mips__ -	long f_bavail; -#endif -	long f_files; -	long f_ffree; -#ifdef __mips__ -	long f_bavail; -#endif -	__kernel_fsid_t f_fsid; -	long f_namelen; -	long f_spare[6]; -}; - -int statfs(const char *path, struct statfs *buf) __THROW; -int fstatfs(int fd, struct statfs *buf) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sys/wait.h b/mdk-stage1/dietlibc/include/sys/wait.h deleted file mode 100644 index 0ba55499e..000000000 --- a/mdk-stage1/dietlibc/include/sys/wait.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _SYS_WAIT_H -#define _SYS_WAIT_H - -#include <sys/cdefs.h> -#include <sys/resource.h> - -#define WNOHANG		0x00000001 -#define WUNTRACED	0x00000002 - -#define __WNOTHREAD	0x20000000	/* Don't wait on children of other threads in this group */ -#define __WALL		0x40000000	/* Wait on all children, regardless of type */ -#define __WCLONE	0x80000000	/* Wait only on non-SIGCHLD children */ - -/* If WIFEXITED(STATUS), the low-order 8 bits of the status.  */ -#define __WEXITSTATUS(status)	(((status) & 0xff00) >> 8) -#define WEXITSTATUS __WEXITSTATUS - -/* If WIFSIGNALED(STATUS), the terminating signal.  */ -#define __WTERMSIG(status)	((status) & 0x7f) -#define WTERMSIG __WTERMSIG - -/* If WIFSTOPPED(STATUS), the signal that stopped the child.  */ -#define __WSTOPSIG(status)	__WEXITSTATUS(status) -#define WSTOPSIG __WSTOPSIG - -/* Nonzero if STATUS indicates normal termination.  */ -#define WIFEXITED(status)	(__WTERMSIG(status) == 0) - -/* Nonzero if STATUS indicates termination by a signal.  */ -#define WIFSIGNALED(status)	(!WIFSTOPPED(status) && !WIFEXITED(status)) - -/* Nonzero if STATUS indicates the child is stopped.  */ -#define WIFSTOPPED(status)	(((status) & 0xff) == 0x7f) - -/* Nonzero if STATUS indicates the child dumped core. */ -#define WCOREDUMP(status) ((status) & 0x80) - -pid_t wait(int *status) __THROW; -pid_t waitpid(pid_t pid, int *status, int options) __THROW; - -pid_t wait3(int *status, int options, struct rusage *rusage) __THROW; - -pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/sysexits.h b/mdk-stage1/dietlibc/include/sysexits.h deleted file mode 100644 index 5540795ff..000000000 --- a/mdk-stage1/dietlibc/include/sysexits.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _SYSEXITS_H -#define _SYSEXITS_H 1 - -#define EX_OK		0 - -#define EX__BASE	64 - -#define EX_USAGE	64 -#define EX_DATAERR	65 -#define EX_NOINPUT	66 -#define EX_NOUSER	67 -#define EX_NOHOST	68 -#define EX_UNAVAILABLE	69 -#define EX_SOFTWARE	70 -#define EX_OSERR	71 -#define EX_OSFILE	72 -#define EX_CANTCREAT	73 -#define EX_IOERR	74 -#define EX_TEMPFAIL	75 -#define EX_PROTOCOL	76 -#define EX_NOPERM	77 -#define EX_CONFIG	78 - -#define EX__MAX		78 - -#endif diff --git a/mdk-stage1/dietlibc/include/syslog.h b/mdk-stage1/dietlibc/include/syslog.h deleted file mode 100644 index 830b4928a..000000000 --- a/mdk-stage1/dietlibc/include/syslog.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/syslog.h> diff --git a/mdk-stage1/dietlibc/include/tar.h b/mdk-stage1/dietlibc/include/tar.h deleted file mode 100644 index a78bbce54..000000000 --- a/mdk-stage1/dietlibc/include/tar.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef _TAR_H_ -#define _TAR_H_ - -#define TMAGIC    "ustar" -#define TVERSION  "00" - -#define TMAGLEN   6 -#define TVERSLEN  2 - -#define REGTYPE  '0' -#define AREGTYPE '\0' -#define LNKTYPE  '1' -#define SYMTYPE  '2' -#define CHRTYPE  '3' -#define BLKTYPE  '4' -#define DIRTYPE  '5' -#define FIFOTYPE '6' -#define CONTTYPE '7' - -#define TSUID    04000 -#define TSGID    02000 -#define TSVTX    01000 - -#define TUREAD   00400 -#define TUWRITE  00200 -#define TUEXEC   00100 - -#define TGREAD   00040 -#define TGWRITE  00020 -#define TGEXEC   00010 - -#define TOREAD   00004 -#define TOWRITE  00002 -#define TOEXEC   00001 - -#endif /* _TAR_H_ */ diff --git a/mdk-stage1/dietlibc/include/termio.h b/mdk-stage1/dietlibc/include/termio.h deleted file mode 100644 index 55d1f242b..000000000 --- a/mdk-stage1/dietlibc/include/termio.h +++ /dev/null @@ -1,4 +0,0 @@ -/* this looks horribly wrong, but glibc does it like that */ - -#include <termios.h> -#include <sys/ioctl.h> diff --git a/mdk-stage1/dietlibc/include/termios.h b/mdk-stage1/dietlibc/include/termios.h deleted file mode 100644 index 12e02c5d7..000000000 --- a/mdk-stage1/dietlibc/include/termios.h +++ /dev/null @@ -1,383 +0,0 @@ -#ifndef	_TERMIOS_H -#define	_TERMIOS_H - -#include <sys/cdefs.h> -#include <sys/types.h> - -struct winsize { -  unsigned short ws_row; -  unsigned short ws_col; -  unsigned short ws_xpixel; -  unsigned short ws_ypixel; -}; - -#define NCC 8 -struct termio { -  unsigned short c_iflag;		/* input mode flags */ -  unsigned short c_oflag;		/* output mode flags */ -  unsigned short c_cflag;		/* control mode flags */ -  unsigned short c_lflag;		/* local mode flags */ -  unsigned char c_line;		/* line discipline */ -  unsigned char c_cc[NCC];	/* control characters */ -}; - -/* modem lines */ -#ifdef __mips__ -#define TIOCM_LE	0x001 -#define TIOCM_DTR	0x002 -#define TIOCM_RTS	0x004 -#define TIOCM_ST	0x010 -#define TIOCM_SR	0x020 -#define TIOCM_CTS	0x040 -#define TIOCM_CAR	0x100 -#define TIOCM_RNG	0x200 -#define TIOCM_DSR	0x400 -#define TIOCM_CD	TIOCM_CAR -#define TIOCM_RI	TIOCM_RNG -#define TIOCM_OUT1	0x2000 -#define TIOCM_OUT2	0x4000 -#define TIOCM_LOOP	0x8000 -#else -#define TIOCM_LE	0x001 -#define TIOCM_DTR	0x002 -#define TIOCM_RTS	0x004 -#define TIOCM_ST	0x008 -#define TIOCM_SR	0x010 -#define TIOCM_CTS	0x020 -#define TIOCM_CAR	0x040 -#define TIOCM_RNG	0x080 -#define TIOCM_DSR	0x100 -#define TIOCM_CD	TIOCM_CAR -#define TIOCM_RI	TIOCM_RNG -#define TIOCM_OUT1	0x2000 -#define TIOCM_OUT2	0x4000 -#define TIOCM_LOOP	0x8000 -#endif - -/* line disciplines */ -#define N_TTY		0 -#define N_SLIP		1 -#define N_MOUSE		2 -#define N_PPP		3 -#define N_STRIP		4 -#define N_AX25		5 -#define N_X25		6	/* X.25 async */ -#define N_6PACK		7 -#define N_MASC		8	/* Reserved for Mobitex module <kaz@cafe.net> */ -#define N_R3964		9	/* Reserved for Simatic R3964 module */ -#define N_PROFIBUS_FDL	10	/* Reserved for Profibus <Dave@mvhi.com> */ -#define N_IRDA		11	/* Linux IR - http://irda.sourceforge.net/ */ -#define N_SMSBLOCK	12	/* SMS block mode - for talking to GSM data cards about SMS messages */ -#define N_HDLC		13	/* synchronous HDLC */ -#define N_SYNC_PPP	14	/* synchronous PPP */ -#define N_HCI		15	/* Bluetooth HCI UART */ - -typedef unsigned char	cc_t; -typedef unsigned int	speed_t; -typedef unsigned int	tcflag_t; - -#define _POSIX_VDISABLE '\0' - -#if defined(__i386__) || defined(__arm__) || defined(__ia64__) || defined(__hppa__) || defined(__s390__) || defined(__s390x__) || defined(__x86_64__) -#define NCCS	19 -struct termios { -  tcflag_t c_iflag;		/* input mode flags */ -  tcflag_t c_oflag;		/* output mode flags */ -  tcflag_t c_cflag;		/* control mode flags */ -  tcflag_t c_lflag;		/* local mode flags */ -  cc_t c_line;			/* line discipline */ -  cc_t c_cc[NCCS];		/* control characters */ -}; -#elif defined(__mips__) || defined(__mips64__) -#define NCCS	23 -struct termios { -	tcflag_t c_iflag;		/* input mode flags */ -	tcflag_t c_oflag;		/* output mode flags */ -	tcflag_t c_cflag;		/* control mode flags */ -	tcflag_t c_lflag;		/* local mode flags */ -	/* -	 * Seems nonexistent in the ABI, but Linux assumes existence ... -	 */ -	cc_t c_line;			/* line discipline */ -	cc_t c_cc[NCCS];		/* control characters */ -}; -#elif defined(powerpc) || defined(__alpha__) -#define NCCS	19 -struct termios { -	tcflag_t c_iflag;		/* input mode flags */ -	tcflag_t c_oflag;		/* output mode flags */ -	tcflag_t c_cflag;		/* control mode flags */ -	tcflag_t c_lflag;		/* local mode flags */ -	cc_t c_cc[NCCS];		/* control characters */ -	cc_t c_line;			/* line discipline (== c_cc[19]) */ -	speed_t c_ispeed;		/* input speed */ -	speed_t c_ospeed;		/* output speed */ -}; -#elif defined(__sparc__) -#define NCCS 17 -struct termios { -	tcflag_t c_iflag;		/* input mode flags */ -	tcflag_t c_oflag;		/* output mode flags */ -	tcflag_t c_cflag;		/* control mode flags */ -	tcflag_t c_lflag;		/* local mode flags */ -	cc_t c_line;			/* line discipline */ -	cc_t c_cc[NCCS];		/* control characters */ -}; -#else -# error "Struct termios undefined on your architecture" -#endif - -/* c_cc characters */ -#if defined(__alpha__) -#define VEOF	0 -#define VEOL	1 -#define VEOL2	2 -#define VERASE	3 -#define VWERASE 4 -#define VKILL	5 -#define VREPRINT 6 -#define VSWTC	7 -#define VINTR	8 -#define VQUIT	9 -#define VSUSP	10 -#define VSTART	12 -#define VSTOP	13 -#define VLNEXT	14 -#define VDISCARD 15 -#define VMIN	16 -#define VTIME	17 -#elif defined(__mips__) -#define VINTR	0 -#define VQUIT	1 -#define VERASE	2 -#define VKILL	3 -#define VMIN	4 -#define VTIME	5 -#define VEOL2	6 -#define VSWTC	7 -#define VSWTCH	VSWTC -#define VSTART	8 -#define VSTOP	9 -#define VSUSP	10 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT	15 -#define VEOF	16 -#define VEOL	17 -#elif defined(__powerpc__) -#define VINTR	0 -#define VQUIT	1 -#define VERASE	2 -#define VKILL	3 -#define VEOF	4 -#define VMIN	5 -#define VEOL	6 -#define VTIME	7 -#define VEOL2	8 -#define VSWTC	9 -#define VWERASE 10 -#define VREPRINT 11 -#define VSUSP	12 -#define VSTART	13 -#define VSTOP	14 -#define VLNEXT	15 -#define VDISCARD 16 -#elif defined(__sparc__) -#define VINTR	0 -#define VQUIT	1 -#define VERASE	2 -#define VKILL	3 -#define VEOF	4 -#define VEOL	5 -#define VEOL2	6 -#define VSWTC	7 -#define VSTART	8 -#define VSTOP	9 -#define VSUSP	10 -#define VDSUSP	11 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT	15 -#define VMIN	16 -#define VTIME	17 -#else			/* arm, i386, parisc, s390, x86_64 */ -#define VINTR	0 -#define VQUIT	1 -#define VERASE	2 -#define VKILL	3 -#define VEOF	4 -#define VTIME	5 -#define VMIN	6 -#define VSWTC	7 -#define VSTART	8 -#define VSTOP	9 -#define VSUSP	10 -#define VEOL	11 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT	15 -#define VEOL2	16 -#endif - -/* c_iflag bits */ -#define IGNBRK	0000001 -#define BRKINT	0000002 -#define IGNPAR	0000004 -#define PARMRK	0000010 -#define INPCK	0000020 -#define ISTRIP	0000040 -#define INLCR	0000100 -#define IGNCR	0000200 -#define ICRNL	0000400 -#define IUCLC	0001000 -#define IXON	0002000 -#define IXANY	0004000 -#define IXOFF	0010000 -#define IMAXBEL	0020000 - -/* c_oflag bits */ -#define OPOST	0000001 -#define OLCUC	0000002 -#define ONLCR	0000004 -#define OCRNL	0000010 -#define ONOCR	0000020 -#define ONLRET	0000040 -#define OFILL	0000100 -#define OFDEL	0000200 -#define NLDLY	0000400 -#define   NL0	0000000 -#define   NL1	0000400 -#define CRDLY	0003000 -#define   CR0	0000000 -#define   CR1	0001000 -#define   CR2	0002000 -#define   CR3	0003000 -#define TABDLY	0014000 -#define   TAB0	0000000 -#define   TAB1	0004000 -#define   TAB2	0010000 -#define   TAB3	0014000 -#define   XTABS	0014000 -#define BSDLY	0020000 -#define   BS0	0000000 -#define   BS1	0020000 -#define VTDLY	0040000 -#define   VT0	0000000 -#define   VT1	0040000 -#define FFDLY	0100000 -#define   FF0	0000000 -#define   FF1	0100000 - -/* c_cflag bit meaning */ -#define CBAUD	0010017 -#define  B0	0000000		/* hang up */ -#define  B50	0000001 -#define  B75	0000002 -#define  B110	0000003 -#define  B134	0000004 -#define  B150	0000005 -#define  B200	0000006 -#define  B300	0000007 -#define  B600	0000010 -#define  B1200	0000011 -#define  B1800	0000012 -#define  B2400	0000013 -#define  B4800	0000014 -#define  B9600	0000015 -#define  B19200	0000016 -#define  B38400	0000017 -#define EXTA B19200 -#define EXTB B38400 -#define CSIZE	0000060 -#define   CS5	0000000 -#define   CS6	0000020 -#define   CS7	0000040 -#define   CS8	0000060 -#define CSTOPB	0000100 -#define CREAD	0000200 -#define PARENB	0000400 -#define PARODD	0001000 -#define HUPCL	0002000 -#define CLOCAL	0004000 -#define CBAUDEX 0010000 -#define    B57600 0010001 -#define   B115200 0010002 -#define   B230400 0010003 -#define   B460800 0010004 -#define   B500000 0010005 -#define   B576000 0010006 -#define   B921600 0010007 -#define  B1000000 0010010 -#define  B1152000 0010011 -#define  B1500000 0010012 -#define  B2000000 0010013 -#define  B2500000 0010014 -#define  B3000000 0010015 -#define  B3500000 0010016 -#define  B4000000 0010017 -#define CIBAUD	  002003600000	/* input baud rate (not used) */ -#define CMSPAR	  010000000000		/* mark or space (stick) parity */ -#define CRTSCTS	  020000000000		/* flow control */ - -/* c_lflag bits */ -#define ISIG	0000001 -#define ICANON	0000002 -#define XCASE	0000004 -#define ECHO	0000010 -#define ECHOE	0000020 -#define ECHOK	0000040 -#define ECHONL	0000100 -#define NOFLSH	0000200 -#define ECHOCTL	0001000 -#define ECHOPRT	0002000 -#define ECHOKE	0004000 -#ifdef __mips__ -#define IEXTEN	0000400 -#define FLUSHO	0020000 -#define TOSTOP	0100000 -#else -#define TOSTOP	0000400 -#define FLUSHO	0010000 -#define IEXTEN	0100000 -#endif -#define PENDIN	0040000 - -/* tcflow() and TCXONC use these */ -#define TCOOFF		0 -#define TCOON		1 -#define TCIOFF		2 -#define TCION		3 - -/* tcflush() and TCFLSH use these */ -#define TCIFLUSH	0 -#define TCOFLUSH	1 -#define TCIOFLUSH	2 - -/* tcsetattr uses these */ -#ifdef __mips__ -#define TCSANOW		0x540e -#define TCSADRAIN	0x540f -#define TCSAFLUSH	0x5410 -#else -#define TCSANOW		0 -#define TCSADRAIN	1 -#define TCSAFLUSH	2 -#endif - -int tcgetattr(int fd, struct termios *termios_p) __THROW; -int tcsetattr(int fd, int optional_actions, struct termios *termios_p) __THROW; -speed_t cfgetospeed(struct termios *termios_p) __THROW; -int cfsetospeed(struct termios *termios_p, speed_t speed) __THROW; -speed_t cfgetispeed(struct termios *termios_p) __THROW; -int cfsetispeed(struct termios *termios_p, speed_t speed) __THROW; -void cfmakeraw(struct termios *t) __THROW; - -int tcflush(int fd, int queue_selector) __THROW; -int tcdrain(int fd) __THROW; -int tcflow (int fd,int action) __THROW; -int tcsendbreak (int fd,int duration) __THROW; - -#endif diff --git a/mdk-stage1/dietlibc/include/time.h b/mdk-stage1/dietlibc/include/time.h deleted file mode 100644 index 29681fa3d..000000000 --- a/mdk-stage1/dietlibc/include/time.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef _TIME_H -#define _TIME_H - -#include <sys/cdefs.h> -#include <sys/time.h> - -extern int __isleap(int year); - -int nanosleep(const struct timespec *req, struct timespec *rem) __THROW; - -time_t mktime(struct tm *timeptr) __THROW __pure__; - -char *asctime(const struct tm *timeptr) __THROW; -char *asctime_r(const struct tm *timeptr, char *buf) __THROW; - -char *ctime(const time_t *timep) __THROW; - -size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) __THROW __attribute__((format(strftime,3,0))); -time_t time(time_t *t) __THROW; - -int stime(time_t *t) __THROW; - -double difftime(time_t time1, time_t time0) __THROW __attribute__((const)); - -#define CLOCKS_PER_SEC 1000000l - -extern long int timezone; -extern int daylight; -extern char* tzname[2]; - -void tzset (void) __THROW; - -struct tm* localtime(const time_t* t) __THROW; -struct tm* gmtime(const time_t* t) __THROW; -struct tm* localtime_r(const time_t* t, struct tm* r) __THROW; -struct tm* gmtime_r(const time_t* t, struct tm* r) __THROW; - -clock_t clock(void); - -#endif diff --git a/mdk-stage1/dietlibc/include/unistd.h b/mdk-stage1/dietlibc/include/unistd.h deleted file mode 100644 index 2fba5d584..000000000 --- a/mdk-stage1/dietlibc/include/unistd.h +++ /dev/null @@ -1,233 +0,0 @@ -#ifndef _UNISTD_H -#define _UNISTD_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <sys/time.h> -#include <sys/stat.h> -#include <sys/fsuid.h> - -extern int optind,opterr; -extern char *optarg; -int getopt(int argc, char *const argv[], const char *options); - -/* Values for the second argument to access. -   These may be OR'd together.  */ -#define R_OK 4 /* Test for read permission.  */ -#define W_OK 2 /* Test for write permission.  */ -#define X_OK 1 /* Test for execute permission.  */ -#define F_OK 0 /* Test for existence.  */ - -/* Test for access to NAME using the real UID and real GID.  */ -extern int access (const char *__name, int __type) __THROW; - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#define STDIN_FILENO   0 -#define STDOUT_FILENO  1 -#define STDERR_FILENO  2 - -off_t lseek(int fildes, off_t offset, int whence) __THROW; -#ifndef __NO_STAT64 -loff_t lseek64(int fildes, loff_t offset, int whence) __THROW; -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -#define lseek(fildes,offset,whence) lseek64(fildes,offset,whence) -#endif -#endif - -int chdir(const char *path) __THROW; -int fchdir(int fd) __THROW; -int rmdir(const char *pathname) __THROW; -char *getcwd(char *buf, size_t size) __THROW; - -int open(const char* pathname,int flags, ...) __THROW; -int open64(const char* pathname,int flags, ...) __THROW; -int creat(const char* pathname,mode_t mode) __THROW; -int creat64(const char* pathname,mode_t mode) __THROW; -int write(int fd,const void* buf,size_t len) __THROW; -int read(int fd,void* buf,size_t len) __THROW; -int close(int fd) __THROW; - -int unlink(const char *pathname) __THROW; - -int pread(int fd, void *buf, size_t count, off_t offset); -int pwrite(int fd, const void *buf, size_t count, off_t offset); - -int execve(const char *filename, char *const argv [], char *const envp[]) __THROW; -int execlp(const char *file, const char *arg, ...) __THROW; -int execv(const char *path, char *const argv[]) __THROW; -int execvp(const char *file, char *const argv[]) __THROW; -int execl(const char *path, ...) __THROW; -int execle(const char *path, ...) __THROW; - -pid_t getpid(void) __THROW; -pid_t getppid(void) __THROW; - -int setpgid (pid_t pid,pid_t pgid) __THROW; -pid_t getpgid (pid_t pid) __THROW; -int setpgrp (void) __THROW; -pid_t getpgrp (void) __THROW; -pid_t getsid(pid_t pid) __THROW; -pid_t setsid (void) __THROW; -int dup (int oldfd) __THROW; -int dup2 (int oldfd,int newfd) __THROW; - -struct dirent; -struct dirent64; -int getdents(int fd, struct dirent *dirp, unsigned int count) __THROW; -int getdents64(int fd, struct dirent64 *dirp, unsigned int count) __THROW; - -pid_t fork(void) __THROW; -pid_t vfork(void) __THROW; - -int readlink(const char *path, char *buf, size_t bufsiz) __THROW; -int symlink(const char *oldpath, const char *newpath) __THROW; -int link(const char *oldpath, const char *newpath) __THROW; - -int chown(const char *path, uid_t owner, gid_t group) __THROW; -int fchown(int fd, uid_t owner, gid_t group) __THROW; -int lchown(const char *path, uid_t owner, gid_t group) __THROW; - -int fsync(int fd) __THROW; -#define _POSIX_SYNCHRONIZED_IO -int fdatasync(int fd) __THROW; - -int pipe(int filedes[2]) __THROW; - -char *ttyname (int desc) __THROW; - -int brk(void *end_data_segment) __THROW; -void *sbrk(ptrdiff_t increment) __THROW; - -int gethostname(char *name, size_t len) __THROW; -int sethostname(const char *name, size_t len) __THROW; - -int usleep(unsigned long useconds) __THROW; -unsigned int sleep(unsigned int seconds) __THROW; - -unsigned int alarm(unsigned int seconds) __THROW; -int sync(void) __THROW; - -int isatty(int desc) __THROW; - -void _exit(int status) __THROW __attribute__((noreturn)); - -extern int daemon(int nochdir,int noclose) __THROW; - -int pause(void) __THROW; - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -#define open open64 -#define creat creat64 -#define truncate truncate64 -#define ftruncate ftruncate64 -#define getdents getdents64 -#endif - -extern char* getlogin(void) __THROW; -/* warning: the diet libc getlogin() simply returns getenv("LOGNAME") */ - -int chroot(const char *path) __THROW; - -uid_t getuid(void) __THROW; -uid_t geteuid(void) __THROW; -gid_t getgid(void) __THROW; -gid_t getegid(void) __THROW; -int setuid(uid_t uid) __THROW; -/* int seteuid(uid_t uid) __THROW; */ -int setgid(gid_t gid) __THROW; -/* int setegid(gid_t gid) __THROW; */ -int setregid(gid_t rgid, gid_t egid) __THROW; -int setreuid(uid_t ruid, uid_t euid) __THROW; -#define seteuid(euid) setreuid(-1,euid) -#define setegid(egid) setregid(-1,egid) - -int rename(const char *oldpath, const char *newpath) __THROW; -int truncate(const char *path, off_t length) __THROW; -int ftruncate(int fd, off_t length) __THROW; -#ifndef __NO_STAT64 -int truncate64(const char *path, loff_t length) __THROW; -int ftruncate64(int fd, loff_t length) __THROW; -#endif - -int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) __THROW; - -int nice(int inc) __THROW; - -extern char **__environ; - -char *crypt(const char *key, const char *salt) __THROW; -void encrypt(char block[64], int edflag) __THROW; -void setkey(const char *key) __THROW; - -size_t getpagesize(void) __THROW __attribute__((__const__)); - -int getdomainname(char *name, size_t len) __THROW; -int setdomainname(const char *name, size_t len) __THROW; - -int getgroups(int size, gid_t list[]) __THROW; -int getdtablesize(void) __THROW; -char *getpass(const char * prompt) __THROW; - -/* warning: linux specific: */ -int llseek(int fildes, unsigned long hi, unsigned long lo, loff_t* result,int whence) __THROW; - -/* include <linux/sysctl.h> to get all the definitions! */ -struct __sysctl_args; -int _sysctl(struct __sysctl_args *args) __THROW; - -#define _SC_CLK_TCK 1 -#define _SC_ARG_MAX 2 -#define _SC_NGROUPS_MAX 3 -#define _SC_OPEN_MAX 4 -#define _SC_PAGESIZE 5 -#define _SC_NPROCESSORS_ONLN 6 -#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_ONLN -long sysconf(int name) __THROW; -#define _PC_PATH_MAX 1 -#define _PC_VDISABLE 2 - -pid_t tcgetpgrp(int fd) __THROW; -int tcsetpgrp(int fd, pid_t pgrpid) __THROW; - -int profil(unsigned short *buf, size_t bufsiz, size_t offset, unsigned int scale); - -/* Linux only: */ -int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid) __THROW; -int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid) __THROW; -int setresuid(uid_t ruid, uid_t euid, uid_t suid) __THROW; -int setresgid(gid_t rgid, gid_t egid, gid_t sgid) __THROW; - -/* 32-bit uid support */ -int chown32(const char *path, uid32_t owner, gid32_t group) __THROW; -int fchown32(int fd, uid32_t owner, gid32_t group) __THROW; -int lchown32(const char *path, uid32_t owner, gid32_t group) __THROW; -uid32_t getuid32(void) __THROW; -uid32_t geteuid32(void) __THROW; -gid32_t getgid32(void) __THROW; -gid32_t getegid32(void) __THROW; -int setuid32(uid32_t uid) __THROW; -int setgid32(gid32_t gid) __THROW; -int setreuid32(uid32_t ruid, uid32_t euid) __THROW; -int setregid32(gid32_t rgid, gid32_t egid) __THROW; -#define seteuid32(euid) setreuid32(-1,euid) -#define setegid32(egid) setregid32(-1,egid) -int getgroups32(int size, gid32_t list[]) __THROW; -int getresuid32(uid32_t *ruid, uid32_t *euid, uid32_t *suid); -int getresgid32(gid32_t *rgid, gid32_t *egid, gid32_t *sgid); -int setresuid32(uid32_t ruid, uid32_t euid, uid32_t suid) __THROW; -int setresgid32(gid32_t rgid, gid32_t egid, gid32_t sgid) __THROW; - -#ifdef _BSD_SOURCE -char *getusershell(void); -void setusershell(void); -void endusershell(void); -#endif - -#define   _POSIX_VERSION  199506L - -#endif diff --git a/mdk-stage1/dietlibc/include/utime.h b/mdk-stage1/dietlibc/include/utime.h deleted file mode 100644 index 41674f379..000000000 --- a/mdk-stage1/dietlibc/include/utime.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _UTIME_H -#define _UTIME_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <time.h> - -struct utimbuf { -  time_t actime;  /* access time */ -  time_t modtime; /* modification time */ -}; - -int utime(const char *filename, struct utimbuf *buf) __THROW; - - -#endif diff --git a/mdk-stage1/dietlibc/include/utmp.h b/mdk-stage1/dietlibc/include/utmp.h deleted file mode 100644 index cc2adc9f6..000000000 --- a/mdk-stage1/dietlibc/include/utmp.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef _UTMP_H -#define _UTMP_H - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <time.h> - -#define UT_LINESIZE	32 -#define UT_NAMESIZE	32 -#define UT_HOSTSIZE	256 - -#define _PATH_UTMP	"/var/run/utmp" -#define _PATH_WTMP	"/var/log/wtmp" -#ifdef _BSD_SOURCE -/* die, BSD, die!!! */ -#define UTMP_FILE _PATH_UTMP -#define WTMP_FILE _PATH_WTMP -#endif - -/* The structure describing an entry in the database of -   previous logins.  */ -struct lastlog -  { -    time_t ll_time; -    char ll_line[UT_LINESIZE]; -    char ll_host[UT_HOSTSIZE]; -  }; - -/* The structure describing the status of a terminated process.  This -   type is used in `struct utmp' below.  */ -struct exit_status -  { -    short int e_termination;	/* Process termination status.  */ -    short int e_exit;		/* Process exit status.  */ -  }; - -/* The structure describing an entry in the user accounting database.  */ -struct utmp -{ -  short int ut_type;		/* Type of login.  */ -  pid_t ut_pid;			/* Process ID of login process.  */ -  char ut_line[UT_LINESIZE];	/* Devicename.  */ -  char ut_id[4];		/* Inittab ID.  */ -  char ut_user[UT_NAMESIZE];	/* Username.  */ -  char ut_host[UT_HOSTSIZE];	/* Hostname for remote login.  */ -#define ut_name ut_user -  struct exit_status ut_exit;	/* Exit status of a process marked -				   as DEAD_PROCESS.  */ -  long int ut_session;		/* Session ID, used for windowing.  */ -#define ut_time ut_tv.tv_sec -  struct timeval ut_tv;		/* Time entry was made.  */ -#define ut_addr ut_addr_v6[0] -  int32_t ut_addr_v6[4];	/* Internet address of remote host.  */ -  char __unused[20];		/* Reserved for future use.  */ -}; - -/* Values for the `ut_type' field of a `struct utmp'.  */ -#define EMPTY		0	/* No valid user accounting information.  */ - -#define RUN_LVL		1	/* The system's runlevel.  */ -#define BOOT_TIME	2	/* Time of system boot.  */ -#define NEW_TIME	3	/* Time after system clock changed.  */ -#define OLD_TIME	4	/* Time when system clock changed.  */ - -#define INIT_PROCESS	5	/* Process spawned by the init process.  */ -#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */ -#define USER_PROCESS	7	/* Normal process.  */ -#define DEAD_PROCESS	8	/* Terminated process.  */ - -#define ACCOUNTING	9 - -/* Tell the user that we have a modern system with UT_HOST, UT_PID, -   UT_TYPE, UT_ID and UT_TV fields.  */ -#define _HAVE_UT_TYPE	1 -#define _HAVE_UT_PID	1 -#define _HAVE_UT_ID	1 -#define _HAVE_UT_TV	1 -#define _HAVE_UT_HOST	1 - -struct utmp *getutent(void) __THROW; -struct utmp *getutid(struct utmp *ut) __THROW; -struct utmp *getutline(struct utmp *ut) __THROW; - -void pututline(struct utmp *ut) __THROW; - -void setutent(void) __THROW; -void endutent(void) __THROW; - -void utmpname(const char *file) __THROW; - -void updwtmp(const char *wtmp_file, const struct utmp *ut); -void logwtmp(const char *line, const char *name, const char *host); - -#endif diff --git a/mdk-stage1/dietlibc/include/write12.h b/mdk-stage1/dietlibc/include/write12.h deleted file mode 100644 index 960b4b722..000000000 --- a/mdk-stage1/dietlibc/include/write12.h +++ /dev/null @@ -1,4 +0,0 @@ -#include <sys/cdefs.h> - -int __write1 ( const char* s ) __attribute__ (( regparm(1) )); -int __write2 ( const char* s ) __attribute__ (( regparm(1) )); diff --git a/mdk-stage1/dietlibc/lib/__dtostr.c b/mdk-stage1/dietlibc/lib/__dtostr.c deleted file mode 100644 index 580258936..000000000 --- a/mdk-stage1/dietlibc/lib/__dtostr.c +++ /dev/null @@ -1,140 +0,0 @@ -#include <stdlib.h> -#include <endian.h> -#include <math.h> -/* convert double to string.  Helper for sprintf. */ - -static int copystring(char* buf,int maxlen, const char* s) { -  int i; -  for (i=0; i<3&&i<maxlen; ++i) -    buf[i]=s[i]; -  if (i<maxlen) { buf[i]=0; ++i; } -  return i; -} - -int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) { -#if 1 -  unsigned long long *x=(unsigned long long *)&d; -  /* step 1: extract sign, mantissa and exponent */ -  signed long e=((*x>>52)&((1<<11)-1))-1023; -#else -#if __BYTE_ORDER == __LITTLE_ENDIAN -  signed long e=(((((unsigned long*)&d)[1])>>20)&((1<<11)-1))-1023; -#else -  signed long e=(((*((unsigned long*)&d))>>20)&((1<<11)-1))-1023; -#endif -#endif -/*  unsigned long long m=*x & ((1ull<<52)-1); */ -  /* step 2: exponent is base 2, compute exponent for base 10 */ -  signed long e10; -  /* step 3: calculate 10^e10 */ -  unsigned int i; -  double backup=d; -  double tmp; -  char *oldbuf=buf; - -  if (isnan(d)) return copystring(buf,maxlen,"nan"); -  if ((i=isinf(d))) return copystring(buf,maxlen,i>0?"inf":"-inf"); -  e10=1+(long)(e*0.30102999566398119802); /* log10(2) */ -  /* Wir iterieren von Links bis wir bei 0 sind oder maxlen erreicht -   * ist.  Wenn maxlen erreicht ist, machen wir das nochmal in -   * scientific notation.  Wenn dann von prec noch was übrig ist, geben -   * wir einen Dezimalpunkt aus und geben prec2 Nachkommastellen aus. -   * Wenn prec2 Null ist, geben wir so viel Stellen aus, wie von prec -   * noch übrig ist. */ -  if (d==0.0) { -    prec2=prec2==0?1:prec2+2; -    prec2=prec2>maxlen?8:prec2; -    for (i=0; i<prec2; ++i) buf[i]='0'; -    buf[1]='.'; buf[i]=0; -    return i; -  } - -  if (d < 0.0) { d=-d; *buf='-'; --maxlen; ++buf; } -   -   /* -      Perform rounding. It needs to be done before we generate any -      digits as the carry could propagate through the whole number. -   */ -    -   tmp = 0.5; -   for (i = 0; i < prec2; i++) { tmp *= 0.1; } -   d += tmp; -   -  if (d < 1.0) { *buf='0'; --maxlen; ++buf; } -/*  printf("e=%d e10=%d prec=%d\n",e,e10,prec); */ -  if (e10>0) { -    int first=1;	/* are we about to write the first digit? */ -    tmp = 10.0; -    i=e10; -    while (i>10) { tmp=tmp*1e10; i-=10; } -    while (i>1) { tmp=tmp*10; --i; } -    /* the number is greater than 1. Iterate through digits before the -     * decimal point until we reach the decimal point or maxlen is -     * reached (in which case we switch to scientific notation). */ -    while (tmp>0.9) { -      char digit; -      double fraction=d/tmp; -	digit=(int)(fraction);		/* floor() */ -      if (!first || digit) { -	first=0; -	*buf=digit+'0'; ++buf; -	if (!maxlen) { -	  /* use scientific notation */ -	  int len=__dtostr(backup/tmp,oldbuf,maxlen,prec,prec2); -	  int initial=1; -	  if (len==0) return 0; -	  maxlen-=len; buf+=len; -	  if (maxlen>0) { -	    *buf='e'; -	    ++buf; -	  } -	  --maxlen; -	  for (len=1000; len>0; len/=10) { -	    if (e10>=len || !initial) { -	      if (maxlen>0) { -		*buf=(e10/len)+'0'; -		++buf; -	      } -	      --maxlen; -	      initial=0; -	      e10=e10%len; -	    } -	  } -	  if (maxlen>0) goto fini; -	  return 0; -	} -	d-=digit*tmp; -	--maxlen; -      } -      tmp/=10.0; -    } -  } -  else -  { -     tmp = 0.1; -  } - -  if (buf==oldbuf) { -    if (!maxlen) return 0; --maxlen; -    *buf='0'; ++buf; -  } -  if (prec2 || prec>(unsigned int)(buf-oldbuf)+1) {	/* more digits wanted */ -    if (!maxlen) return 0; --maxlen; -    *buf='.'; ++buf; -    prec-=buf-oldbuf-1; -    if (prec2) prec=prec2; -    if (prec>maxlen) return 0; -    while (prec>0) { -      char digit; -      double fraction=d/tmp; -      digit=(int)(fraction);		/* floor() */ -      *buf=digit+'0'; ++buf; -      d-=digit*tmp; -      tmp/=10.0; -      --prec; -    } -  } -fini: -  *buf=0; -  return buf-oldbuf; -} diff --git a/mdk-stage1/dietlibc/lib/__fstat64.c b/mdk-stage1/dietlibc/lib/__fstat64.c deleted file mode 100644 index f2f9858ea..000000000 --- a/mdk-stage1/dietlibc/lib/__fstat64.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" -#ifdef WANT_LARGEFILE_BACKCOMPAT -#include <sys/stat.h> -#ifndef __NO_STAT64 - -extern int __dietlibc_fstat64(int __fd, struct stat64 *__buf); -extern void __stat64_cvt(const struct stat *src,struct stat64 *dest); - -int fstat64(int __fd, struct stat64 *__buf) { -  if (__dietlibc_fstat64(__fd,__buf)) { -    struct stat temp; -    if (errno!=ENOSYS) return -1; -    if (fstat(__fd,&temp)) return -1; -    __stat64_cvt(&temp,__buf); -  } -  return 0; -} -#endif -#endif diff --git a/mdk-stage1/dietlibc/lib/__ftruncate64.c b/mdk-stage1/dietlibc/lib/__ftruncate64.c deleted file mode 100644 index e0ea8c98a..000000000 --- a/mdk-stage1/dietlibc/lib/__ftruncate64.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" -#ifdef WANT_LARGEFILE_BACKCOMPAT -#include <sys/stat.h> -#include "syscalls.h" -#include <unistd.h> -#ifndef __NO_STAT64 -#ifdef __NR_ftruncate64 - -extern int __dietlibc_ftruncate64(int fd, loff_t o); - -int ftruncate64(int fd, loff_t o) { -  int tmp; -  if ((tmp=__dietlibc_ftruncate64(fd,o))==-1) { -    if (errno!=ENOSYS) return -1; -    if (o>0x7fffffff) { errno=EOVERFLOW; return -1; } -    return ftruncate(fd,o); -  } -  return tmp; -} -#endif -#endif -#endif diff --git a/mdk-stage1/dietlibc/lib/__getcwd.c b/mdk-stage1/dietlibc/lib/__getcwd.c deleted file mode 100644 index 8616704ec..000000000 --- a/mdk-stage1/dietlibc/lib/__getcwd.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <unistd.h> -#include <stdlib.h> - -extern int __syscall_getcwd(char* buf, size_t size); - -char *getcwd(char *buf, size_t size) { -  int tmp; -  if ((tmp=__syscall_getcwd(buf,size))<0) return 0; -  buf[tmp]=0; -  return buf; -} diff --git a/mdk-stage1/dietlibc/lib/__isinf.c b/mdk-stage1/dietlibc/lib/__isinf.c deleted file mode 100644 index 359bd2709..000000000 --- a/mdk-stage1/dietlibc/lib/__isinf.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <math.h> - -int isinf(double d) { -  unsigned long long *x=(unsigned long long *)&d; -  return (*x==0x7FF0000000000000ll?1:*x==0xFFF0000000000000?-1:0); -} -int __isinf(double d) __attribute__((alias("isinf"))); - -#if 0 -TestFromIeeeExtended("7FFF0000000000000000");   /* +infinity */ -TestFromIeeeExtended("FFFF0000000000000000");   /* -infinity */ -TestFromIeeeExtended("7FFF8001000000000000");   /* Quiet NaN(1) */ -TestFromIeeeExtended("7FFF0001000000000000");   /* Signalling NaN(1) */ -TestFromIeeeExtended("3FFFFEDCBA9876543210");   /* accuracy test */ -#endif diff --git a/mdk-stage1/dietlibc/lib/__isnan.c b/mdk-stage1/dietlibc/lib/__isnan.c deleted file mode 100644 index de74b8a9f..000000000 --- a/mdk-stage1/dietlibc/lib/__isnan.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <math.h> - -int isnan(double d) { -  unsigned long long *x=(unsigned long long *)&d; -  return (*x==0x7FF8000000000000ll || *x==0x7FF0000000000000 || *x==0xfff8000000000000); -} -int __isnan(double d) __attribute__((alias("isnan"))); - -#if 0 -TestFromIeeeExtended("7FFF0000000000000000");   /* +infinity */ -TestFromIeeeExtended("FFFF0000000000000000");   /* -infinity */ -TestFromIeeeExtended("7FFF8001000000000000");   /* Quiet NaN(1) */ -TestFromIeeeExtended("7FFF0001000000000000");   /* Signalling NaN(1) */ -TestFromIeeeExtended("3FFFFEDCBA9876543210");   /* accuracy test */ -#endif diff --git a/mdk-stage1/dietlibc/lib/__lltostr.c b/mdk-stage1/dietlibc/lib/__lltostr.c deleted file mode 100644 index fe4701f29..000000000 --- a/mdk-stage1/dietlibc/lib/__lltostr.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <string.h> - -int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase); - -int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase) -{ -  char *tmp; -  unsigned int j=0; - -  s[--size]=0; - -  tmp=s+size; - -  if ((base==0)||(base>36)) base=10; - -  j=0; -  if (!i) -  { -    *(--tmp)='0'; -    j=1; -  } - -  while((tmp>s)&&(i)) -  { -    tmp--; -    if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1; -    i=i/base; -    j++; -  } -  memmove(s,tmp,j+1); - -  return j; -} diff --git a/mdk-stage1/dietlibc/lib/__lstat64.c b/mdk-stage1/dietlibc/lib/__lstat64.c deleted file mode 100644 index 0eab6a94b..000000000 --- a/mdk-stage1/dietlibc/lib/__lstat64.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" -#ifdef WANT_LARGEFILE_BACKCOMPAT -#include <sys/stat.h> -#ifndef __NO_STAT64 - -extern int __dietlibc_lstat64(const char *__file, struct stat64 *__buf); -extern void __stat64_cvt(const struct stat *src,struct stat64 *dest); - -int lstat64(const char *__file, struct stat64 *__buf) { -  if (__dietlibc_lstat64(__file,__buf)) { -    struct stat temp; -    if (errno!=ENOSYS) return -1; -    if (lstat(__file,&temp)) return -1; -    __stat64_cvt(&temp,__buf); -  } -  return 0; -} -#endif -#endif diff --git a/mdk-stage1/dietlibc/lib/__ltostr.c b/mdk-stage1/dietlibc/lib/__ltostr.c deleted file mode 100644 index fa71be9ab..000000000 --- a/mdk-stage1/dietlibc/lib/__ltostr.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <string.h> -#include <stdlib.h> - -int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) -{ -  char *tmp; -  unsigned int j=0; - -  s[--size]=0; - -  tmp=s+size; - -  if ((base==0)||(base>36)) base=10; - -  j=0; -  if (!i) -  { -    *(--tmp)='0'; -    j=1; -  } - -  while((tmp>s)&&(i)) -  { -    tmp--; -    if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1; -    i=i/base; -    j++; -  } -  memmove(s,tmp,j+1); - -  return j; -} diff --git a/mdk-stage1/dietlibc/lib/__ptrace.c b/mdk-stage1/dietlibc/lib/__ptrace.c deleted file mode 100644 index bd14a0351..000000000 --- a/mdk-stage1/dietlibc/lib/__ptrace.c +++ /dev/null @@ -1,27 +0,0 @@ -/* we need this because we need to use the glibc prototype which uses - * varargs :-( */ -#define ptrace fnord -#include <sys/ptrace.h> -#undef ptrace -#include <sys/types.h> -#include <unistd.h> - -extern int __diet_ptrace(int request, pid_t pid, void *addr, void *data); -int ptrace(int request, pid_t pid, void *addr, void *data); - -int ptrace(int request, pid_t pid, void *addr, void *data) { -  switch (request) { -    case PTRACE_TRACEME: case PTRACE_KILL: case PTRACE_ATTACH: -    case PTRACE_DETACH: -      return (__diet_ptrace (request, pid, NULL, NULL)); -    case PTRACE_PEEKDATA: case PTRACE_PEEKUSER: case PTRACE_PEEKTEXT: -      { -	long result; -	if (__diet_ptrace (request, pid, addr, &result) == -1) -		return (-1); -	return (result); -      } -    default: -      return (__diet_ptrace (request, pid, addr, data)); -  } -} diff --git a/mdk-stage1/dietlibc/lib/__stat64.c b/mdk-stage1/dietlibc/lib/__stat64.c deleted file mode 100644 index fcbdfef2d..000000000 --- a/mdk-stage1/dietlibc/lib/__stat64.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" -#ifdef WANT_LARGEFILE_BACKCOMPAT -#include <sys/stat.h> -#ifndef __NO_STAT64 - -extern int __dietlibc_stat64(const char *__file, struct stat64 *__buf); -extern void __stat64_cvt(const struct stat *src,struct stat64 *dest); - -int stat64(const char *__file, struct stat64 *__buf) { -  if (__dietlibc_stat64(__file,__buf)) { -    struct stat temp; -    if (errno!=ENOSYS) return -1; -    if (stat(__file,&temp)) return -1; -    __stat64_cvt(&temp,__buf); -  } -  return 0; -} -#endif -#endif diff --git a/mdk-stage1/dietlibc/lib/__stat64_cvt.c b/mdk-stage1/dietlibc/lib/__stat64_cvt.c deleted file mode 100644 index c4ce8bea4..000000000 --- a/mdk-stage1/dietlibc/lib/__stat64_cvt.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <sys/stat.h> -#ifndef __NO_STAT64 - -void __stat64_cvt(const struct stat *src,struct stat64 *dest); - -void __stat64_cvt(const struct stat *src,struct stat64 *dest) { -  dest->st_dev=src->st_dev; -  dest->st_ino=src->st_ino; -  dest->st_mode=src->st_mode; -  dest->st_nlink=src->st_nlink; -  dest->st_uid=src->st_gid; -  dest->st_rdev=src->st_rdev; -  dest->st_size=src->st_size; -  dest->st_blksize=src->st_blksize; -  dest->st_blocks=src->st_blocks; -  dest->st_atime=src->st_atime; -  dest->st_mtime=src->st_mtime; -  dest->st_ctime=src->st_ctime; -} -#endif diff --git a/mdk-stage1/dietlibc/lib/__stime.c b/mdk-stage1/dietlibc/lib/__stime.c deleted file mode 100644 index 7b2c77729..000000000 --- a/mdk-stage1/dietlibc/lib/__stime.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <errno.h> -#include <sys/time.h> -#include <time.h> -#include <syscalls.h> - -#ifndef __NR_stime -int stime(time_t *when) -{ -  struct timeval tv; -  tv.tv_sec = *when; -  tv.tv_usec = 0; -  return settimeofday(&tv, (struct timezone *)0); -} -#endif diff --git a/mdk-stage1/dietlibc/lib/__truncate64.c b/mdk-stage1/dietlibc/lib/__truncate64.c deleted file mode 100644 index ccb3e7f64..000000000 --- a/mdk-stage1/dietlibc/lib/__truncate64.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "dietfeatures.h" -#include <errno.h> -#ifdef WANT_LARGEFILE_BACKCOMPAT -#include <sys/stat.h> -#include "syscalls.h" -#include <unistd.h> -#ifndef __NO_STAT64 -#ifdef __NR_truncate64 - -extern int __dietlibc_truncate64(const char* f, loff_t o); - -int truncate64(const char* f, loff_t o) { -  int tmp; -  if ((tmp=__dietlibc_truncate64(f,o))==-1) { -    if (errno!=ENOSYS) return -1; -    if (o>0x7fffffff) { errno=EOVERFLOW; return -1; } -    return truncate(f,o); -  } -  return tmp; -} -#endif -#endif -#endif diff --git a/mdk-stage1/dietlibc/lib/__v_printf.c b/mdk-stage1/dietlibc/lib/__v_printf.c deleted file mode 100644 index 15011cdd8..000000000 --- a/mdk-stage1/dietlibc/lib/__v_printf.c +++ /dev/null @@ -1,300 +0,0 @@ -#include "dietfeatures.h" -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include <string.h> -#include "dietstdio.h" -#include "dietwarning.h" - -static inline unsigned int skip_to(const unsigned char *format) { -  unsigned int nr; -  for (nr=0; format[nr] && (format[nr]!='%'); ++nr); -  return nr; -} - -#define A_WRITE(fn,buf,sz)	((fn)->put((void*)(buf),(sz),(fn)->data)) - -static const char pad_line[2][16]= { "                ", "0000000000000000", }; -static inline int write_pad(struct arg_printf* fn, int len, int padwith) { -  int nr=0; -  for (;len>15;len-=16,nr+=16) { -    A_WRITE(fn,pad_line[(padwith=='0')?1:0],16); -  } -  if (len>0) { -    A_WRITE(fn,pad_line[(padwith=='0')?1:0],(unsigned int)len); nr+=len; -  } -  return nr; -} - -int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr) -{ -  int len=0; - -  while (*format) { -    unsigned int sz = skip_to(format); -    if (sz) { -      A_WRITE(fn,format,sz); len+=sz; -      format+=sz; -    } -    if (*format=='%') { -      char buf[128]; - -      unsigned char ch, *s, padwith=' '; - -      char flag_in_sign=0; -      char flag_upcase=0; -      char flag_hash=0; -      char flag_left=0; -      char flag_space=0; -      char flag_sign=0; -      char flag_dot=0; -      signed char flag_long=0; - -      unsigned int base; -      unsigned int width=0, preci=0; - -      long number=0; -#ifdef WANT_LONGLONG_PRINTF -      long long llnumber=0; -#endif - -      ++format; -inn_printf: -      switch(ch=*format++) { -      case 0: -	return -1; -	break; - -      /* FLAGS */ -      case '#': -	flag_hash=-1; -      case 'z': -	goto inn_printf; - -      case 'h': -	--flag_long; -	goto inn_printf; -      case 'L': -	++flag_long; /* fall through */ -      case 'l': -	++flag_long; -	goto inn_printf; - -      case '0': -	padwith='0'; -	goto inn_printf; - -      case '-': -	flag_left=1; -	goto inn_printf; - -      case ' ': -	flag_space=1; -	goto inn_printf; - -      case '+': -	flag_sign=1; -	goto inn_printf; - -      case '1': -      case '2': -      case '3': -      case '4': -      case '5': -      case '6': -      case '7': -      case '8': -      case '9': -	if(flag_dot) return -1; -	width=strtoul(format-1,(char**)&s,10); -	format=s; -	goto inn_printf; - -      case '*': -	width=va_arg(arg_ptr,int); -	goto inn_printf; - -      case '.': -	flag_dot=1; -	if (*format=='*') { -	  preci=va_arg(arg_ptr,int); -	  ++format; -	} else { -	  long int tmp=strtol(format,(char**)&s,10); -	  preci=tmp<0?0:tmp; -	  format=s; -	} -	goto inn_printf; - -      /* print a char or % */ -      case 'c': -	ch=(char)va_arg(arg_ptr,int); -      case '%': -	A_WRITE(fn,&ch,1); ++len; -	break; - -      /* print a string */ -      case 's': -	s=va_arg(arg_ptr,char *); -#ifdef WANT_NULL_PRINTF -	if (!s) s="(null)"; -#endif -	sz = strlen(s); -	if (flag_dot && sz>preci) sz=preci; -	flag_dot^=flag_dot; - -print_out: -	if (width && (!flag_left)) { -	  if (flag_in_sign) { -	    A_WRITE(fn,s,1); ++len; -	    ++s; --sz; -	    --width; -	  } -	  if (flag_hash>0) { -	    A_WRITE(fn,s,flag_hash); len+=flag_hash; -	    s+=flag_hash; sz-=flag_hash; -	    width-=flag_hash; -	  } -//	  len+=write_pad(fn,(signed int)width-(signed int)sz,padwith); -	  if (flag_dot) { -	    len+=write_pad(fn,(signed int)width-(signed int)preci,padwith); -	    len+=write_pad(fn,(signed int)preci-(signed int)sz,'0'); -	  } else -	    len+=write_pad(fn,(signed int)width-(signed int)sz,padwith); -	} -	A_WRITE(fn,s,sz); len+=sz; -	if (width && (flag_left)) { -	  len+=write_pad(fn,(signed int)width-(signed int)sz,' '); -	} -	break; - -      /* print an integer value */ -      case 'b': -	base=2; -	sz=0; -	goto num_printf; -      case 'p': -	flag_hash=2; -	flag_long=1; -	ch='x'; -      case 'X': -	flag_upcase=(ch=='X'); -      case 'x': -	base=16; -	sz=0; -	if (flag_dot) width=preci; -	if (flag_hash) { -	  buf[1]='0'; -	  buf[2]=ch; -	  flag_hash=2; -	  sz=2; -	} -	goto num_printf; -      case 'd': -      case 'i': -	flag_in_sign=1; -      case 'u': -	base=10; -	sz=0; -	goto num_printf; -      case 'o': -	base=8; -	sz=0; -	if (flag_hash) { -	  buf[1]='0'; -	  flag_hash=1; -	  ++sz; -	} - -num_printf: -	s=buf+1; - -	if (flag_long>0) { -#ifdef WANT_LONGLONG_PRINTF -	  if (flag_long>1) -	    llnumber=va_arg(arg_ptr,long long); -	  else -#endif -	    number=va_arg(arg_ptr,long); -	} -	else -	  number=va_arg(arg_ptr,int); - -	if (flag_in_sign) { -#ifdef WANT_LONGLONG_PRINTF -	  if ((flag_long>1)&&(llnumber<0)) { -	    llnumber=-llnumber; -	    flag_in_sign=2; -	  } else -#endif -	    if (number<0) { -	      number=-number; -	      flag_in_sign=2; -	    } -	} -	if (flag_long<0) number&=0xffff; -	if (flag_long<-1) number&=0xff; -#ifdef WANT_LONGLONG_PRINTF -	if (flag_long>1) -	  sz += __lltostr(s+sz,sizeof(buf)-5,(unsigned long long) llnumber,base,flag_upcase); -	else -#endif -	  sz += __ltostr(s+sz,sizeof(buf)-5,(unsigned long) number,base,flag_upcase); - -	if (flag_in_sign==2) { -	  *(--s)='-'; -	  ++sz; -	} else if ((flag_in_sign)&&(flag_sign || flag_space)) { -	  *(--s)=(flag_sign)?'+':' '; -	  ++sz; -	} else flag_in_sign=0; - -	goto print_out; - -#ifdef WANT_FLOATING_POINT_IN_PRINTF -      /* print a floating point value */ -      case 'f': -      case 'g': -	{ -	  int g=(ch=='g'); -	  double d=va_arg(arg_ptr,double); -	  if (width==0) width=1; -	  if (!flag_dot) preci=6; -	  sz=__dtostr(d,buf,sizeof(buf),width,preci); -	  if (flag_dot) { -	    char *tmp; -	    if ((tmp=strchr(buf,'.'))) { -	      ++tmp; -	      while (preci>0 && *++tmp) --preci; -	      *tmp=0; -	    } -	  } -	  if (g) { -	    char *tmp,*tmp1;	/* boy, is _this_ ugly! */ -	    if ((tmp=strchr(buf,'.'))) { -	      tmp1=strchr(tmp,'e'); -	      while (*tmp) ++tmp; -	      if (tmp1) tmp=tmp1; -	      while (*--tmp=='0') ; -	      if (*tmp!='.') ++tmp; -	      *tmp=0; -	      if (tmp1) strcpy(tmp,tmp1); -	    } -	  } -	  preci=strlen(buf); -	  s=buf; - -	  goto print_out; -	} -#endif - -      default: -	break; -      } -    } -  } -  return len; -} - -link_warning("__v_printf","warning: the printf functions add several kilobytes of bloat.") - diff --git a/mdk-stage1/dietlibc/lib/__v_scanf.c b/mdk-stage1/dietlibc/lib/__v_scanf.c deleted file mode 100644 index 6db51db59..000000000 --- a/mdk-stage1/dietlibc/lib/__v_scanf.c +++ /dev/null @@ -1,391 +0,0 @@ -#include "dietfeatures.h" -#include <stdarg.h> -#include <sys/types.h> -#include <ctype.h> -#include <stdlib.h> -#include <string.h> -#include <limits.h> - -#include "dietstdio.h" -#include "dietwarning.h" - -#define A_GETC(fn)	(++consumed,(fn)->getch((fn)->data)) -#define A_PUTC(c,fn)	(--consumed,(fn)->putch((c),(fn)->data)) - -int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr) -{ -  unsigned int ch;	/* format act. char */ -  int n=0; - -  /* arg_ptr tmps */ -#ifdef WANT_FLOATING_POINT_IN_SCANF -  double *pd; -  float  *pf; -#endif -#ifdef WANT_LONGLONG_SCANF -  long long *pll; -#endif -  long   *pl; -  short  *ph; -  int    *pi; -  char    *s; - -  unsigned int consumed=0; - -  /* get one char */ -  int tpch= A_GETC(fn); - -  //while ((tpch!=-1)&&(*format)) -  while (*format) -  { -//    const unsigned char *prev_fmt=format; -    ch=*format++; -    switch (ch) { -    /* end of format string ?!? */ -    case 0: return 0; - -    /* skip spaces ... */ -    case ' ': -    case '\f': -    case '\t': -    case '\v': -    case '\n': -    case '\r': -      while((*format)&&(isspace(*format))) ++format; -      while(isspace(tpch)) tpch=A_GETC(fn); -      break; - -    /* format string ... */ -    case '%': -      { -	unsigned int _div=0; -	int width=-1; -	char flag_width=0; -	char flag_discard=0; -	char flag_half=0; -	char flag_long=0; -	char flag_longlong=0; - -in_scan: -	ch=*format++; -	if(ch!='n' && tpch==-1) goto err_out; -	switch (ch) { -	/* end of format string ?!? */ -	case 0: return 0; - -	/* check for % */ -	case '%': -	  if ((unsigned char)tpch != ch) goto err_out; -	  tpch=A_GETC(fn); -	  break; - -	/* FLAGS */ -	case '*': -	  flag_discard=1; -	  goto in_scan; -	case 'h': -	  flag_half=1; -	  goto in_scan; -	case 'l': -	  if (flag_long) flag_longlong=1; -	  flag_long=1; -	  goto in_scan; -	case 'q': -	case 'L': -	  flag_longlong=1; -	  goto in_scan; - -	/* WIDTH */ -	case '0': -	case '1': -	case '2': -	case '3': -	case '4': -	case '5': -	case '6': -	case '7': -	case '8': -	case '9': -	  width=strtol(format-1,&s,10); -	  format=s; -	  flag_width=1; -	  goto in_scan; - -	/* scan for integer / strtol reimplementation ... */ -	case 'p': -	case 'X': -	case 'x': -	  _div+=6; -	case 'd': -	  _div+=2; -	case 'o': -	  _div+=8; -	case 'u': -	case 'i': -	  { -#ifdef WANT_LONGLONG_SCANF -	    unsigned long long v=0; -#else -	    unsigned long v=0; -#endif -	    unsigned int consumedsofar=consumed; -	    int neg=0; -	    while(isspace(tpch)) tpch=A_GETC(fn); -	    if (tpch=='-') { -	      tpch=A_GETC(fn); -	      neg=1; -	    } - -	    if (tpch=='+') tpch=A_GETC(fn); - -	    if (!flag_width) { -	      if ((_div==16) && (tpch=='0')) goto scan_hex; -	      if (!_div) { -		_div=10; -		if (tpch=='0') { -		  _div=8; -scan_hex: -		  tpch=A_GETC(fn); -		  if ((tpch|32)=='x') { -		    tpch=A_GETC(fn); -		    _div=16; -		  } -		} -	      } -	    } -	    while ((width)&&(tpch!=-1)) { -	      register unsigned long c=tpch&0xff; -#ifdef WANT_LONGLONG_SCANF -	      register unsigned long long d=c|0x20; -#else -	      register unsigned long d=c|0x20; -#endif -	      c=(d>='a'?d-'a'+10:c<='9'?c-'0':0xff); -	      if (c>=_div) break; -	      d=v*_div; -#ifdef WANT_LONGLONG_SCANF -	      v=(d<v)?ULLONG_MAX:d+c; -#else -	      v=(d<v)?ULONG_MAX:d+c; -#endif -	      --width; -	      tpch=A_GETC(fn); -	    } -	    if ((ch|0x20)<'p') { -#ifdef WANT_LONGLONG_SCANF -	      register long long l=v; -	      if (v>=-((unsigned long long)LLONG_MIN)) { -		l=(neg)?LLONG_MIN:LLONG_MAX; -	      } -	      else { -		if (neg) v*=-1; -	      } -#else -	      register long l=v; -	      if (v>=-((unsigned long)LONG_MIN)) { -		l=(neg)?LONG_MIN:LONG_MAX; -	      } -	      else { -		if (neg) v*=-1; -	      } -#endif -	    } -	    if (!flag_discard) { -#ifdef WANT_LONGLONG_SCANF -	      if (flag_longlong) { -		pll=(long long *)va_arg(arg_ptr,long long*); -		*pll=v; -	      } else -#endif -	      if (flag_long) { -		pl=(long *)va_arg(arg_ptr,long*); -		*pl=v; -	      } else if (flag_half) { -		ph=(short*)va_arg(arg_ptr,short*); -		*ph=v; -	      } else { -		pi=(int *)va_arg(arg_ptr,int*); -		*pi=v; -	      } -	      if(consumedsofar<consumed) -	      ++n; -	    } -	  } -	  break; - -#ifdef WANT_FLOATING_POINT_IN_SCANF -	/* floating point numbers */ -	case 'e': -	case 'E': -	case 'f': -	case 'g': -	  { -	    double d=0.0; -	    int neg=0; - -	    while(isspace(tpch)) tpch=A_GETC(fn); - -	    if (tpch=='-') { -	      tpch=A_GETC(fn); -	      neg=1; -	    } -	    if (tpch=='+') tpch=A_GETC(fn); - -	    while (isdigit(tpch)) { -	      d=d*10+(tpch-'0'); -	      tpch=A_GETC(fn); -	    } -	    if (tpch=='.') { -	      double factor=.1; -	      tpch=A_GETC(fn); -	      while (isdigit(tpch)) { -		d=d+(factor*(tpch-'0')); -		factor/=10; -		tpch=A_GETC(fn); -	      } -	    } -	    if ((tpch|0x20)=='e') { -	      int exp=0, prec=tpch; -	      double factor=10; -	      tpch=A_GETC(fn); -	      if (tpch=='-') { -		factor=0.1; -		tpch=A_GETC(fn); -	      } else if (tpch=='+') { -		tpch=A_GETC(fn); -	      } else { -		d=0; -		if (tpch!=-1) A_PUTC(tpch,fn); -		tpch=prec; -		goto exp_out; -	      } -	      while (isdigit(tpch)) { -		exp=exp*10+(tpch-'0'); -		tpch=A_GETC(fn); -	      } -	      while (exp) {	/* as in strtod: XXX: this introduces rounding errors */ -		d*=factor; --exp; -	      } -	    } -exp_out: -	    if (!flag_discard) { -	      if (flag_long) { -		pd=(double *)va_arg(arg_ptr,double*); -		*pd=d; -	      } else { -		pf=(float *)va_arg(arg_ptr,float*); -		*pf=d; -	      } -	    } -	    ++n; -	  } -	  break; -#endif - -	/* char-sequences */ -	case 'c': -	  if (!flag_discard) { -	    s=(char *)va_arg(arg_ptr,char*); -	    ++n; -	  } -	  if (!flag_width) width=1; -	  while (width && (tpch!=-1)) { -	    if (!flag_discard) *(s++)=tpch; -	    --width; -	    tpch=A_GETC(fn); -	  } -	  break; - -	/* c-string */ -	case 's': -	  if (!flag_discard) s=(char *)va_arg(arg_ptr,char*); -	  while(isspace(tpch)) tpch=A_GETC(fn); -	  while (width && (tpch!=-1) && (!isspace(tpch))) { -	    if (!flag_discard) *s=tpch; -	    if (tpch) ++s; else break; -	    --width; -	    tpch=A_GETC(fn); -	  } -	  if (!flag_discard) { *s=0; n++; } -	  break; - -	/* consumed-count */ -	case 'n': -	  if (!flag_discard) { -	    s=(char *)va_arg(arg_ptr,char*); -//	    ++n;	/* in accordance to ANSI C we don't count this conversion */ -	  } -	  if (!flag_discard) *(s++)=consumed-1; -	  break; - -#ifdef WANT_CHARACTER_CLASSES_IN_SCANF -	case '[': -	  { -	    char cset[256]; -	    int flag_not=0; -	    int flag_dash=0; -	    memset(cset,0,sizeof(cset)); -	    ch=*format++; -	    /* first char specials */ -	    if (ch=='^') { -	      flag_not=1; -	      ch=*format++; -	    } -	    if ((ch=='-')||(ch==']')) { -	      cset[ch]=1; -	      ch=*format++; -	    } -	    /* almost all non special chars */ -	    for (;(*format) && (*format!=']');++format) { -	      if (flag_dash) { -		register unsigned char tmp=*format; -		for (;ch<=tmp;++ch) cset[ch]=1; -		flag_dash=0; -		ch=*format; -	      } -	      else if (*format=='-') flag_dash=1; -	      else { -		cset[ch]=1; -		ch=*format; -	      } -	    } -	    /* last char specials */ -	    if (flag_dash) cset['-']=1; -	    else cset[ch]=1; - -	    /* like %c or %s */ -	    if (!flag_discard) { -	      s=(char *)va_arg(arg_ptr,char*); -	      ++n; -	    } -	    while (width && (tpch>=0) && (cset[tpch]^flag_not)) { -	      if (!flag_discard) *s=tpch; -	      if (tpch) ++s; else break; -	      --width; -	      tpch=A_GETC(fn); -	    } -	    if (!flag_discard) *s=0; -	    ++format; -	  } -	  break; -#endif -	default: -	  goto err_out; -	} -      } -      break; - -    /* check if equal format string... */ -    default: -      if ((unsigned char)tpch != ch) goto err_out; -      tpch=A_GETC(fn); -      break; -    } -  } -err_out: -  if (tpch<0 && n==0) return EOF; -  A_PUTC(tpch,fn); -  return n; -} - -link_warning("__v_scanf","warning: the scanf functions add several kilobytes of bloat."); diff --git a/mdk-stage1/dietlibc/lib/_brk.c b/mdk-stage1/dietlibc/lib/_brk.c deleted file mode 100644 index e73d7b621..000000000 --- a/mdk-stage1/dietlibc/lib/_brk.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> - -extern void* __diet_brk(void *end_data_segment); - -void* __curbrk=0; - -int __libc_brk(void *end_data_segment); - -int __libc_brk(void *end_data_segment) { -  return ((__curbrk=__diet_brk(end_data_segment))==(void*)-1?-1:0); -} - -int brk(void *end_data_segment) __attribute__((weak,alias("__libc_brk"))); diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c deleted file mode 100644 index 7c49a32ef..000000000 --- a/mdk-stage1/dietlibc/lib/abort.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <sys/types.h> -#include <signal.h> -#include <stdlib.h> -#include <stdio.h> - -#ifndef __PIC__ -void __stdio_flushall(void) __attribute__((weak)); -void __stdio_flushall(void) { } -#endif - -void abort() { -  sigset_t t; -  __stdio_flushall(); -  if (!sigemptyset(&t) && !sigaddset(&t, SIGABRT)) -    sigprocmask(SIG_UNBLOCK, &t, 0); -  while (1) -    if (raise(SIGABRT)) -      exit(127); -} diff --git a/mdk-stage1/dietlibc/lib/abs.c b/mdk-stage1/dietlibc/lib/abs.c deleted file mode 100644 index d3b75f202..000000000 --- a/mdk-stage1/dietlibc/lib/abs.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <endian.h> - -int abs(int i) { return i>=0?i:-i; } -#if __WORDSIZE == 32 -long labs(long i) __attribute__((alias("abs"))); -#endif diff --git a/mdk-stage1/dietlibc/lib/accept.c b/mdk-stage1/dietlibc/lib/accept.c deleted file mode 100644 index 08359b894..000000000 --- a/mdk-stage1/dietlibc/lib/accept.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_accept(int a, void * addr, void * addr2); - -int __libc_accept(int a, void * addr, void * addr2) { -  unsigned long args[] = { a, (long) addr, (long) addr2 }; -  return socketcall(SYS_ACCEPT, args); -} - -int accept(int a, void * addr, void * addr2) __attribute__((weak,alias("__libc_accept"))); diff --git a/mdk-stage1/dietlibc/lib/adjtime.c b/mdk-stage1/dietlibc/lib/adjtime.c deleted file mode 100644 index b8986be57..000000000 --- a/mdk-stage1/dietlibc/lib/adjtime.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <time.h> -#include <sys/timex.h> - -int adjtime (const struct timeval *itv, struct timeval *otv) { -  struct timex tmp; -  if (itv) { -    tmp.offset = (itv->tv_usec % 1000000L) + (itv->tv_sec + itv->tv_usec / 1000000L) * 1000000L; -    tmp.modes = ADJ_OFFSET_SINGLESHOT; -  } else -    tmp.modes = 0; -  if (adjtimex(&tmp)==-1) -    return -1; -  if (otv) { -    otv->tv_usec = tmp.offset % 1000000; -    otv->tv_sec  = tmp.offset / 1000000; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c deleted file mode 100644 index a2b3b73a1..000000000 --- a/mdk-stage1/dietlibc/lib/alloc.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - * malloc/free by O.Dreesen - * - * first TRY: - *   lists w/magics - * and now the second TRY - *   let the kernel map all the stuff (if there is something to do) - */ - -#include <unistd.h> -#include <sys/mman.h> -#include <errno.h> -#include "dietfeatures.h" - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <stddef.h> -#include <stdlib.h> -#include <string.h> - -#include <sys/shm.h>	/* for PAGE_SIZE */ - - -/* -- HELPER CODE --------------------------------------------------------- */ - -#ifndef MAP_FAILED -#define MAP_FAILED ((void*)-1) -#endif - -#ifndef NULL -#define NULL ((void*)0) -#endif - -typedef union { -  void*  next; -  size_t size; -} __alloc_t; - -#define BLOCK_START(b)	(((void*)(b))-sizeof(__alloc_t)) -#define BLOCK_RET(b)	(((void*)(b))+sizeof(__alloc_t)) - -#define MEM_BLOCK_SIZE	PAGE_SIZE -#define PAGE_ALIGN(s)	(((s)+MEM_BLOCK_SIZE-1)&(unsigned long)(~(MEM_BLOCK_SIZE-1))) - -/* a simple mmap :) */ - -#ifdef __i386__ -/* regparm exists only on i386 */ -static void *do_mmap(size_t size) __attribute__((regparm(1))); -static size_t get_index(size_t _size) __attribute__((regparm(1))); -static void* __small_malloc(size_t _size) __attribute__((regparm(1))); -#endif - -static void *do_mmap(size_t size) { -  return mmap(0, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, (size_t)0); -} - -/* -- SMALL MEM ----------------------------------------------------------- */ - -static __alloc_t* __small_mem[8]; - -#define __SMALL_NR(i)		(MEM_BLOCK_SIZE/(i)) - -#define __MIN_SMALL_SIZE	__SMALL_NR(256)		/*   16 /   32 */ -#define __MAX_SMALL_SIZE	__SMALL_NR(2)		/* 2048 / 4096 */ - -#define GET_SIZE(s)		(__MIN_SMALL_SIZE<<get_index((s))) - -#define FIRST_SMALL(p)		(((unsigned long)(p))&(~(MEM_BLOCK_SIZE-1))) - -static inline int __ind_shift() { return (MEM_BLOCK_SIZE==4096)?4:5; } - -static size_t get_index(size_t _size) { -  register size_t idx=0; -  if (_size) { -    register size_t size=((_size-1)&(MEM_BLOCK_SIZE-1))>>__ind_shift(); -    while(size) { size>>=1; ++idx; } -  } -  return idx; -} - -/* small mem */ -static void __small_free(void*_ptr,size_t _size) __attribute__((regparm(2))); - -static void __small_free(void*_ptr,size_t _size) { -  __alloc_t* ptr=BLOCK_START(_ptr); -  size_t size=_size; -  size_t idx=get_index(size); - -  memset(ptr,0,size);	/* allways zero out small mem */ - -  ptr->next=__small_mem[idx]; -  __small_mem[idx]=ptr; -} - -static void* __small_malloc(size_t _size) { -  __alloc_t *ptr; -  size_t size=_size; -  size_t idx; - -  idx=get_index(size); -  ptr=__small_mem[idx]; - -  if (ptr==0)  {	/* no free blocks ? */ -    register int i,nr; -    ptr=do_mmap(MEM_BLOCK_SIZE); -    if (ptr==MAP_FAILED) return MAP_FAILED; - -    __small_mem[idx]=ptr; - -    nr=__SMALL_NR(size)-1; -    for (i=0;i<nr;i++) { -      ptr->next=(((void*)ptr)+size); -      ptr=ptr->next; -    } -    ptr->next=0; - -    ptr=__small_mem[idx]; -  } - -  /* get a free block */ -  __small_mem[idx]=ptr->next; -  ptr->next=0; - -  return ptr; -} - -/* -- PUBLIC FUNCTIONS ---------------------------------------------------- */ - -static void _alloc_libc_free(void *ptr) { -  register size_t size; -  if (ptr) { -    size=((__alloc_t*)BLOCK_START(ptr))->size; -    if (size) { -      if (size<=__MAX_SMALL_SIZE) -	__small_free(ptr,size); -      else -	munmap(BLOCK_START(ptr),size); -    } -  } -} -void __libc_free(void *ptr) __attribute__((alias("_alloc_libc_free"))); -void free(void *ptr) __attribute__((weak,alias("_alloc_libc_free"))); -void if_freenameindex(void* ptr) __attribute__((alias("free"))); - -#ifdef WANT_MALLOC_ZERO -static __alloc_t zeromem[2]={{0},{0}}; -#endif - -static void* _alloc_libc_malloc(size_t size) { -  __alloc_t* ptr; -  size_t need; -#ifdef WANT_MALLOC_ZERO -  if (!size) return BLOCK_RET(zeromem); -#else -  if (!size) goto retzero; -#endif -  size+=sizeof(__alloc_t); -  if (size<sizeof(__alloc_t)) goto retzero; -  if (size<=__MAX_SMALL_SIZE) { -    need=GET_SIZE(size); -    ptr=__small_malloc(need); -  } -  else { -    need=PAGE_ALIGN(size); -    if (!need) ptr=MAP_FAILED; else ptr=do_mmap(need); -  } -  if (ptr==MAP_FAILED) goto err_out; -  ptr->size=need; -  return BLOCK_RET(ptr); -err_out: -  (*__errno_location())=ENOMEM; -retzero: -  return 0; -} -void* __libc_malloc(size_t size) __attribute__((alias("_alloc_libc_malloc"))); -void* malloc(size_t size) __attribute__((weak,alias("_alloc_libc_malloc"))); - -void *calloc(size_t nmemb, size_t _size) { -  register size_t size=_size*nmemb; -  if (nmemb && size/nmemb!=_size) { -    (*__errno_location())=ENOMEM; -    return 0; -  } -  return malloc(size); -} - -void* __libc_realloc(void* ptr, size_t _size); -void* __libc_realloc(void* ptr, size_t _size) { -  register size_t size=_size; -  if (ptr) { -    if (size) { -      __alloc_t* tmp=BLOCK_START(ptr); -      size+=sizeof(__alloc_t); -      if (size<sizeof(__alloc_t)) goto retzero; -      size=(size<=__MAX_SMALL_SIZE)?GET_SIZE(size):PAGE_ALIGN(size); -      if (tmp->size!=size) { -	if ((tmp->size<=__MAX_SMALL_SIZE)) { -	  void *new=_alloc_libc_malloc(_size); -	  if (new) { -	    register __alloc_t* foo=BLOCK_START(new); -	    size=foo->size; -	    if (size>tmp->size) size=tmp->size; -	    if (size) memcpy(new,ptr,size-sizeof(__alloc_t)); -	    _alloc_libc_free(ptr); -	  } -	  ptr=new; -	} -	else { -	  register __alloc_t* foo; -	  size=PAGE_ALIGN(size); -	  foo=mremap(tmp,tmp->size,size,MREMAP_MAYMOVE); -	  if (foo==MAP_FAILED) { -retzero: -	    (*__errno_location())=ENOMEM; -	    ptr=0; -	  } -	  else { -	    foo->size=size; -	    ptr=BLOCK_RET(foo); -	  } -	} -      } -    } -    else { /* size==0 */ -      _alloc_libc_free(ptr); -    } -  } -  else { /* ptr==0 */ -    if (size) { -      ptr=_alloc_libc_malloc(size); -    } -  } -  return ptr; -} -void* realloc(void* ptr, size_t size) __attribute__((weak,alias("__libc_realloc"))); - diff --git a/mdk-stage1/dietlibc/lib/assert_fail.c b/mdk-stage1/dietlibc/lib/assert_fail.c deleted file mode 100644 index 35b8b186a..000000000 --- a/mdk-stage1/dietlibc/lib/assert_fail.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include "dietwarning.h" -#include <write12.h> - -void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function); - -void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function) -{ -  unsigned int alen=strlen(assertion); -  unsigned int flen=strlen(file); -  unsigned int fulen=function?strlen(function):0; -  char *buf=(char*)alloca(alen+flen+fulen+50); -  if (buf) { -    char *tmp; -    *buf=0; -    if (file) strcat(strcat(buf,file),":"); -    tmp=buf+strlen(buf); -    __ltostr(tmp,10,line,10,0); -    strcat(buf,": "); -    if (function) strcat(strcat(buf,function),": "); -    strcat(buf,"Assertion `"); -    strcat(buf,assertion); -    strcat(buf,"' failed.\n"); -    __write2(buf); -  } -  abort(); -} - -link_warning("__assert_fail","warning: your code still has assertions enabled!") diff --git a/mdk-stage1/dietlibc/lib/atexit.c b/mdk-stage1/dietlibc/lib/atexit.c deleted file mode 100644 index e0eef19c6..000000000 --- a/mdk-stage1/dietlibc/lib/atexit.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <stdlib.h> - -typedef void (*function)(void); - -#define NUM_ATEXIT	32 - -static function __atexitlist[NUM_ATEXIT]; -static int atexit_counter = 0; - -int atexit(function t) { -  if (atexit_counter<NUM_ATEXIT) { -    __atexitlist[atexit_counter]=t; -    ++atexit_counter; -    return 0; -  } -  return -1; -} - -extern void _exit(int code) __attribute__((noreturn)); -extern void __thread_doexit(); - -void __libc_exit(int code); -void __libc_exit(int code) { -  register int i=atexit_counter; -  __thread_doexit(); -  while(i) { -    __atexitlist[--i](); -  } -  _exit(code); -} -void exit(int code) __attribute__((alias("__libc_exit"))); diff --git a/mdk-stage1/dietlibc/lib/atof.c b/mdk-stage1/dietlibc/lib/atof.c deleted file mode 100644 index 54221390e..000000000 --- a/mdk-stage1/dietlibc/lib/atof.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdlib.h> - -double atof(const char *nptr) { -#if 0 -  return strtod(nptr,0); -#else -  double tmp=strtod(nptr,0); -  return tmp; -#endif -} diff --git a/mdk-stage1/dietlibc/lib/atoi.c b/mdk-stage1/dietlibc/lib/atoi.c deleted file mode 100644 index 10b618950..000000000 --- a/mdk-stage1/dietlibc/lib/atoi.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <endian.h> -#include <ctype.h> -#include <stdlib.h> - -#if __WORDSIZE == 64 -int atoi(const char* s) { -  long int v=0; -  int sign=1; -  while ( *s == ' '  ||  (unsigned int)(*s - 9) < 5u) s++; -  switch (*s) { -  case '-': sign=-1; -  case '+': ++s; -  } -  while ((unsigned int) (*s - '0') < 10u) { -    v=v*10+*s-'0'; ++s; -  } -  return sign==-1?-v:v; -} -#endif diff --git a/mdk-stage1/dietlibc/lib/atol.c b/mdk-stage1/dietlibc/lib/atol.c deleted file mode 100644 index 5961a1881..000000000 --- a/mdk-stage1/dietlibc/lib/atol.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <endian.h> -#include <ctype.h> -#include <stdlib.h> - -long int atol(const char* s) { -  long int v=0; -  int sign=0; -  while ( *s == ' '  ||  (unsigned int)(*s - 9) < 5u) ++s; -  switch (*s) { -  case '-': sign=-1; -  case '+': ++s; -  } -  while ((unsigned int) (*s - '0') < 10u) { -    v=v*10+*s-'0'; ++s; -  } -  return sign?-v:v; -} - -#if __WORDSIZE == 64 -long long int atoll(const char* s) __attribute__((alias("atol"))); -#else -int atoi(const char* s) __attribute__((alias("atol"))); -#endif diff --git a/mdk-stage1/dietlibc/lib/atoll.c b/mdk-stage1/dietlibc/lib/atoll.c deleted file mode 100644 index 7bf2b2fd6..000000000 --- a/mdk-stage1/dietlibc/lib/atoll.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <endian.h> -#include <ctype.h> -#include <stdlib.h> - -#if __WORDSIZE != 64 -long long int atoll(const char* s) { -  long long int v=0; -  int sign=1; -  while ( *s == ' '  ||  (unsigned int)(*s - 9) < 5u) ++s; -  switch (*s) { -  case '-': sign=-1; -  case '+': ++s; -  } -  while ((unsigned int) (*s - '0') < 10u) { -    v=v*10+*s-'0'; ++s; -  } -  return sign==-1?-v:v; -} -#endif diff --git a/mdk-stage1/dietlibc/lib/bcd.c b/mdk-stage1/dietlibc/lib/bcd.c deleted file mode 100644 index 1936b82f6..000000000 --- a/mdk-stage1/dietlibc/lib/bcd.c +++ /dev/null @@ -1,185 +0,0 @@ - -static long double  powers [] = { -    1.e+1, 1.e+2, 1.e+4, 1.e+8, 1.e+16, 1.e+32, 1.e+64, 1.e+128, 1.e+256 -}; - -/* - *  So, die ist zum Zerlegen von Gleitkommazahlen am besten geeignet. - * - *  Die nichtnegative übergebende Gleitkommazahl number wird in einen - *  Exponenten e und eine Mantisse m zerlegt mit: - * - *      1 <= m < 10 - *      number = m * 10^e - * - *  Die Mantisse wird in precision Dezimalstellen zerlegt, die nach digits - *  geschrieben werden.  digits[0] ist die Vorkommastelle, digits [1 ... - *  precision-1] die Nachkommastellen der Mantisse Zurückgeliefert wird der - *  Exponent. - * - *  Für precision ist ein Wert von 0 erlaubt, Sinn machen allerdings erst - *  Werte ab 1. - */ - -int  __decompose_floatp ( long double number,  -                          unsigned char* digits, unsigned int precision ); - -int  __decompose_floatp ( long double number,  -                          unsigned char* digits, unsigned int precision ) -{ -    int     ret = 0; -    int     i; -    double  tmp; -     -    if ( number > 0.L ) { -     -    	// Exponent abtrennen -        if ( number >= 10.L ) { -            for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--) -                if ( number >= powers [i] ) { -                    number /= powers [i]; -                    ret += 1 << i; -                } -	} else if ( number < 1.L ) -            for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--) -               if ( number * powers [i] < 10.L ) { -                   number *= powers [i]; -                   ret -= 1 << i; -                } - -	// Runden (ohne Geradezahlregel => Bug) -        tmp = 5.; -	{ -	  unsigned int j; -	  for ( j = 0; j < precision; j++ ) -	      tmp *= 0.1; -	} -         -        number += tmp; -                 -        // Dabei kann die Zahl in die nächste Dekade reinrutschen ... -        if ( number >= 10.L ) { -            number = 1.L; -            ret++; -        } -    } - -    // Mantisse in ASCII konvertieren -    while ( precision-- ) { -        i          = (int) number; -        number     = (number - i) * 10.L; -        *digits++  = '0' + i; -    } -     -    // Exponent zurück -    return ret; -} - - -/* - *  So, die ist zum Zerlegen von Festkommazahlen am besten geeignet. - * - *  Die nichtnegative übergebende Festkomma wird in einen Integeranteil und - *  einen Bruchanteil zerlegt. - * - *  Der Bruchanteil wird in digits_frac[0...precision_frac-1] gespeichert, - *  falls precision_frac != 0 ist. - * - *  Der Integeranteil wird ab digits_int + precision_int - 1 rückwrts - *  geschrieben.  Zurückgeliefert wird ein Zeiger auf das erste Zeichen, das - *  bei der Konvertierung != '0' ist (Ausnahme ist die 0.0 selbst). Zeichen - *  zwischen digits_int und diesem Zeiger (exklusive des Zeichens unter dem - *  Zeiger) sind unbestimmt.  Wünscht man dort Nullen oder Leerzeichen, - *  sollte man mittels memset() dieses vorher initialsieren. - */ - -char*  __decompose_fixp ( long double number,  -                          unsigned char* digits_int , unsigned int precision_int,  -                          unsigned char* digits_frac, unsigned int precision_frac ); - -char*  __decompose_fixp ( long double number,  -                          unsigned char* digits_int , unsigned int precision_int,  -                          unsigned char* digits_frac, unsigned int precision_frac ) -{ -    long long int  integer; -    double         tmp; -    int            i; -     -    // Runden (ohne Geradezahlregel => Bug) -    tmp = 0.5; -    { -      unsigned int j; -      for ( j = 0; j < precision_frac; j++ ) -	  tmp *= 0.1; -    } -     -    number += tmp; -     -    integer = number; -    number -= integer; - -    // Nachkommastellen -    while ( precision_frac-- ) { -        number  *= 10.L; -        i        = (int) number; -        number  -= i; -        *digits_frac++   -	         = '0' + i; -    } - -    // Vorkommastellen -    while ( precision_int ) { -        i        = (int) (integer % 10); -        integer /= 10; -        digits_int [--precision_int]  -                 = '0' + i; -        if ( integer == 0 ) -            break; -    } -     -    return digits_int + precision_int; -} - - -#if 0 - -#include <stdio.h> -#include <math.h> - -long double  test [] = {  -    1, M_PI, 123, 123456789, 12345678901234567, 1e300, 0.00123456789, 1.234567890123456e-300, 0 -}; - -int main ( void ) -{ -    int    i; -    int    j; -    int    k; -    char   buff1 [32]; -    char   buff2 [32]; -    char*  retp; -    int    ret; -     -    for ( i = 0; i < sizeof(test)/sizeof(*test); i++ ) { -        printf ("\n*** %30.20Lf ***\n\n", test[i] ); -         -	for ( j = 0; j <= 20; j++ ) { -	    memset ( buff1, 0, sizeof(buff1) ); -	    ret = __decompose_floatp ( test[i], buff1, j ); -	    printf ( "floatp(%2u) = <%sE%+d>\n", j, buff1, ret ); -	} -	for ( j = 0; j <= 20; j++ ) { -	    for ( k = 0; k <= 20; k++ ) { -	        memset ( buff1, 0, sizeof(buff1) ); -	        memset ( buff2, 0, sizeof(buff2) ); -	        retp = __decompose_fixp ( test[i], buff1, j, buff2, k ); - 	        printf ( "fixp(%2u,%2u) = <%s.%s>\n", j, k, retp, buff2 ); - 	    } -	} -	     -    } -     -    return 0; -} - -#endif diff --git a/mdk-stage1/dietlibc/lib/bind.c b/mdk-stage1/dietlibc/lib/bind.c deleted file mode 100644 index dae80f491..000000000 --- a/mdk-stage1/dietlibc/lib/bind.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_bind(int a, void * b, int c); -int __libc_bind(int a, void * b, int c) { -  unsigned long args[] = { a, (long) b, c }; -  return socketcall(SYS_BIND, args); -} - -int bind(int a, void * b, int c) __attribute__((weak,alias("__libc_bind"))); diff --git a/mdk-stage1/dietlibc/lib/binshstr.c b/mdk-stage1/dietlibc/lib/binshstr.c deleted file mode 100644 index 814297e3d..000000000 --- a/mdk-stage1/dietlibc/lib/binshstr.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "binshstr.h" - -const char __binsh [] = "/bin/sh"; - -/* end of binshstr.c */ diff --git a/mdk-stage1/dietlibc/lib/bsearch.c b/mdk-stage1/dietlibc/lib/bsearch.c deleted file mode 100644 index 14605f1f6..000000000 --- a/mdk-stage1/dietlibc/lib/bsearch.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <assert.h> -#include <stdlib.h> - -void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { -  size_t m; -  while (nmemb) { -    int tmp; -    void *p; -    m=nmemb/2; -    p=(void *) (((const char *) base) + (m * size)); -    if ((tmp=(*compar)(key,p))<0) { -      nmemb=m; -    } else if (tmp>0) { -      base=p+size; -      nmemb-=m+1; -    } else -      return p; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/cfgetospeed.c b/mdk-stage1/dietlibc/lib/cfgetospeed.c deleted file mode 100644 index c330352b2..000000000 --- a/mdk-stage1/dietlibc/lib/cfgetospeed.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <termios.h> -#include <sys/types.h> - -speed_t cfgetospeed(struct termios *termios_p) { -  return ((termios_p->c_cflag & (CBAUD|CBAUDEX))); -} - -speed_t cfgetispeed(struct termios *termios_p)	__attribute__((weak,alias("cfgetospeed"))); diff --git a/mdk-stage1/dietlibc/lib/cfmakeraw.c b/mdk-stage1/dietlibc/lib/cfmakeraw.c deleted file mode 100644 index e33c783c9..000000000 --- a/mdk-stage1/dietlibc/lib/cfmakeraw.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <termios.h> -#include <sys/ioctl.h> - -void cfmakeraw(struct termios *t) { -     t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); -     t->c_oflag &= ~OPOST; -     t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); -     t->c_cflag &= ~(CSIZE|PARENB); -     t->c_cflag |= CS8; -     t->c_cc[VMIN] = 1; -     t->c_cc[VTIME] = 0; -} - diff --git a/mdk-stage1/dietlibc/lib/cfsetispeed.c b/mdk-stage1/dietlibc/lib/cfsetispeed.c deleted file mode 100644 index ab0333853..000000000 --- a/mdk-stage1/dietlibc/lib/cfsetispeed.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <termios.h> -#include <errno.h> -#include "dietfeatures.h" - -#define IBAUD0  020000000000 - -int cfsetispeed(struct termios *termios_p, speed_t speed) -{ -  if ((speed & (speed_t)~CBAUD) != 0 && (speed < B57600 || speed > B460800)) { -    errno=EINVAL; -    return -1; -  } -  if (speed == 0) -    termios_p->c_iflag |= IBAUD0; -  else { -    termios_p->c_iflag &= ~IBAUD0; -    termios_p->c_cflag &= ~(CBAUD | CBAUDEX); -    termios_p->c_cflag |= speed; -  } -  return 0; -} - diff --git a/mdk-stage1/dietlibc/lib/cfsetospeed.c b/mdk-stage1/dietlibc/lib/cfsetospeed.c deleted file mode 100644 index d1aee3595..000000000 --- a/mdk-stage1/dietlibc/lib/cfsetospeed.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <termios.h> -#include <errno.h> -#include "dietfeatures.h" - -int cfsetospeed(struct termios *termios_p, speed_t speed) { -  if ((speed & (speed_t)~CBAUD) != 0 && (speed < B57600 || speed > B460800)) { -    errno=EINVAL; -    return -1; -  } -  termios_p->c_cflag &= ~(CBAUD | CBAUDEX); -  termios_p->c_cflag |= speed; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/lib/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c deleted file mode 100644 index 3aade81b3..000000000 --- a/mdk-stage1/dietlibc/lib/closedir.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "dietdirent.h" -#include <sys/mman.h> -#include <unistd.h> -#include <dirent.h> -#include <stdlib.h> - -int closedir (DIR* d) { -  int res=close(d->fd); -  munmap (d, PAGE_SIZE); -  return res; -} diff --git a/mdk-stage1/dietlibc/lib/connect.c b/mdk-stage1/dietlibc/lib/connect.c deleted file mode 100644 index 642303ef3..000000000 --- a/mdk-stage1/dietlibc/lib/connect.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_connect(int a, void * b, int c); -int __libc_connect(int a, void * b, int c) { -  unsigned long args[] = { a, (long) b, c }; -  return socketcall(SYS_CONNECT, args); -} - -int connect(int a, void * b, int c) __attribute__((weak,alias("__libc_connect"))); diff --git a/mdk-stage1/dietlibc/lib/creat.c b/mdk-stage1/dietlibc/lib/creat.c deleted file mode 100644 index 41d8236aa..000000000 --- a/mdk-stage1/dietlibc/lib/creat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <fcntl.h> - -int __libc_creat(const char *file,mode_t mode); -int __libc_creat(const char *file,mode_t mode) { -  return open(file,O_WRONLY|O_CREAT|O_TRUNC,mode); -} -int creat(const char *file,mode_t mode) __attribute__((weak,alias("__libc_creat"))); diff --git a/mdk-stage1/dietlibc/lib/creat64.c b/mdk-stage1/dietlibc/lib/creat64.c deleted file mode 100644 index 8cf897b57..000000000 --- a/mdk-stage1/dietlibc/lib/creat64.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <fcntl.h> - -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif - -int creat64(const char *file,mode_t mode) { -  return open(file,O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE,mode); -} diff --git a/mdk-stage1/dietlibc/lib/errlistu.c b/mdk-stage1/dietlibc/lib/errlistu.c deleted file mode 100644 index 15e38807b..000000000 --- a/mdk-stage1/dietlibc/lib/errlistu.c +++ /dev/null @@ -1,6 +0,0 @@ -/* - *  used by perror() and strerror() - */ - -const char  __sys_err_unknown [] = "[unknown error]"; - diff --git a/mdk-stage1/dietlibc/lib/errno_location.c b/mdk-stage1/dietlibc/lib/errno_location.c deleted file mode 100644 index 298c9c3cf..000000000 --- a/mdk-stage1/dietlibc/lib/errno_location.c +++ /dev/null @@ -1,5 +0,0 @@ -extern int errno; - -int *__errno_location(void) __attribute__((weak)); -int *__errno_location() { return &errno; } - diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c deleted file mode 100644 index 575c03d6d..000000000 --- a/mdk-stage1/dietlibc/lib/exec_lib.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <unistd.h> -#include <paths.h> - -extern char **environ; - -int __exec_shell(const char *file, char *const argv[]); -int __exec_shell(const char *file, char *const argv[]) { -  int i; - -  for (i = 0; argv[i]; i++); - -  { -    const char *shell_argv[i + 1]; -    shell_argv[0] = _PATH_BSHELL; -    shell_argv[1] = file; -    for (; i > 1; i--) -      shell_argv[i] = argv[i - 1]; -    return execve(_PATH_BSHELL, (char*const*)shell_argv, environ); -  } -} - diff --git a/mdk-stage1/dietlibc/lib/exec_lib.h b/mdk-stage1/dietlibc/lib/exec_lib.h deleted file mode 100644 index 0971bd1fb..000000000 --- a/mdk-stage1/dietlibc/lib/exec_lib.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __EXEC_LIB_H -#define __EXEC_LIB_H - -#include <paths.h> - -extern int __exec_shell(const char *file, char *const argv[]); - -#endif /* __EXEC_LIB_H */ - diff --git a/mdk-stage1/dietlibc/lib/execl.c b/mdk-stage1/dietlibc/lib/execl.c deleted file mode 100644 index 360bd3908..000000000 --- a/mdk-stage1/dietlibc/lib/execl.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdarg.h> -#include <unistd.h> -#include <errno.h> -#include <stdlib.h> -#include "dietfeatures.h" - -int execl( const char *path,...) { -  va_list ap; -  int n,i; -  char **argv,*tmp; -  va_start(ap, path); -  n=1; -  while ((tmp=va_arg(ap,char *))) -    ++n; -  va_end (ap); -  if ((argv=(char **)alloca(n*sizeof(char*)))) { -    va_start(ap, path); -    for (i=0; i<n; ++i) -      argv[i]=va_arg(ap,char *); -    va_end (ap); -    return execve(path,argv,environ); -  } -  errno=ENOMEM; -  return -1; -} diff --git a/mdk-stage1/dietlibc/lib/execle.c b/mdk-stage1/dietlibc/lib/execle.c deleted file mode 100644 index 6d05c48a0..000000000 --- a/mdk-stage1/dietlibc/lib/execle.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <stdarg.h> -#include <unistd.h> -#include <errno.h> -#include <stdlib.h> -#include "dietfeatures.h" - -int execle( const char *path,...) { -  va_list ap; -  int n,i; -  char **argv,*tmp, **env; -  va_start(ap, path); -  n=1; -  while ((tmp=va_arg(ap,char *))) -    ++n; -  va_end (ap); -  if ((argv=(char **)alloca(n*sizeof(char*)))) { -    va_start(ap, path); -    for (i=0; i<n; ++i) -      argv[i]=va_arg(ap,char *); -    env=va_arg(ap, char **); -    va_end (ap); -    return execve(path,argv,env); -  } -  errno=ENOMEM; -  return -1; -} diff --git a/mdk-stage1/dietlibc/lib/execlp.c b/mdk-stage1/dietlibc/lib/execlp.c deleted file mode 100644 index 27dc0bb95..000000000 --- a/mdk-stage1/dietlibc/lib/execlp.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <stdarg.h> -#include <unistd.h> -#include <errno.h> -#include <stdlib.h> -#include "dietfeatures.h" - -int execlp(const char* file, const char *arg,...) { -  va_list ap,bak; -  int n,i; -  char **argv,*tmp; -  va_start(ap, arg); -  va_copy(bak,ap); -  n=2; -  while ((tmp=va_arg(ap,char *))) -    ++n; -  va_end (ap); -  if ((argv=(char **)alloca(n*sizeof(char*)))) { -    argv[0]=(char*)arg; -    for (i=0; i<n; ++i) -      argv[i+1]=va_arg(bak,char *); -    va_end (bak); -    return execvp(file,argv); -  } -  errno=ENOMEM; -  return -1; -} diff --git a/mdk-stage1/dietlibc/lib/execv.c b/mdk-stage1/dietlibc/lib/execv.c deleted file mode 100644 index d7acfa29f..000000000 --- a/mdk-stage1/dietlibc/lib/execv.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <limits.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include "exec_lib.h" -#include "dietfeatures.h" - -int execv(const char *file, char *const argv[]) { -  if (execve(file,argv,environ)==-1) { -    if (errno==ENOEXEC) -      __exec_shell(file,argv); -  } -  return -1; -} diff --git a/mdk-stage1/dietlibc/lib/execvp.c b/mdk-stage1/dietlibc/lib/execvp.c deleted file mode 100644 index 72447af7a..000000000 --- a/mdk-stage1/dietlibc/lib/execvp.c +++ /dev/null @@ -1,47 +0,0 @@ -#include <limits.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include "exec_lib.h" -#include "dietfeatures.h" - -int execvp(const char *file, char *const argv[]) { -  const char *path=getenv("PATH"); -  char *cur,*next; -  char buf[PATH_MAX]; -  if (strchr((char*)file,'/')) { -    if (execve(file,argv,environ)==-1) { -      if (errno==ENOEXEC) -	__exec_shell(file,argv); -      return -1; -    } -  } -  if (!path) path=_PATH_DEFPATH; -  for (cur=(char*)path; cur; cur=next) { -    next=strchr(cur,':'); -    if (!next) -      next=cur+strlen(cur); -    if (next==cur) { -      buf[0]='.'; -      cur--; -    } else { -      if (next-cur>=PATH_MAX-3) { error: errno=EINVAL; return -1; } -      memmove(buf,cur,(size_t)(next-cur)); -    } -    buf[next-cur]='/'; -    { -      int len=strlen(file); -      if (len+(next-cur)>=PATH_MAX-2) goto error; -      memmove(&buf[next-cur+1],file,strlen(file)+1); -    } -    if (execve(buf,argv,environ)==-1) { -      if (errno==ENOEXEC) -	return __exec_shell(buf,argv); -      if ((errno!=EACCES) && (errno!=ENOENT)) return -1; -    } -    if (*next==0) break; -    next++; -  } -  return -1; -} diff --git a/mdk-stage1/dietlibc/lib/ftw.c b/mdk-stage1/dietlibc/lib/ftw.c deleted file mode 100644 index af13a7f86..000000000 --- a/mdk-stage1/dietlibc/lib/ftw.c +++ /dev/null @@ -1,47 +0,0 @@ -#include <sys/stat.h> -#include <unistd.h> -#include <limits.h> -#include <ftw.h> -#include <dirent.h> -#include <string.h> -#include <stdlib.h> -#include "dietdirent.h" - -int ftw(const char*dir,int(*f)(const char*file,const struct stat*sb,int flag),int dpth){ -  char* cd; -  size_t cdl; -  DIR* d; -  struct dirent* de; -  struct stat sb; -  int r; -  unsigned int oldlen=0; -  char* filename;	/* the warning gcc issues here is bogus */ -  if(chdir(dir))return-1; -  cd=alloca(PATH_MAX+1); -  if(!getcwd(cd,PATH_MAX))return-1; -  cd[PATH_MAX]='\0'; -  cdl=strlen(cd); -  if(!(d=opendir(".")))return-1; -  while((de=readdir(d))){ -    int flg; -    size_t nl; -    if(de->d_name[0]=='.'){if(!de->d_name[1])continue;if(de->d_name[1]=='.'&&!de->d_name[2])continue;} -    nl=strlen(de->d_name); -    if (nl+cdl+2>oldlen) -      filename=alloca(oldlen=nl+cdl+2); -    memmove(filename,cd,cdl); -    filename[cdl]='/'; -    memmove(filename+cdl+1,de->d_name,nl+1); -    if(!lstat(de->d_name,&sb)){ -      if(S_ISLNK(sb.st_mode))flg=FTW_SL;else if(S_ISDIR(sb.st_mode))flg=FTW_D;else flg=FTW_F; -    }else flg=FTW_NS; -    r=f(filename,&sb,flg); -    if(r){closedir(d);return r;} -    if(flg==FTW_D&&dpth){ -      r=ftw(filename,f,dpth-1); -      fchdir(d->fd); -      if (r){closedir(d);return r;} -    } -  } -  return closedir(d); -} diff --git a/mdk-stage1/dietlibc/lib/getdomainname.c b/mdk-stage1/dietlibc/lib/getdomainname.c deleted file mode 100644 index 75486b010..000000000 --- a/mdk-stage1/dietlibc/lib/getdomainname.c +++ /dev/null @@ -1,18 +0,0 @@ -#define _GNU_SOURCE - -#include <sys/types.h> -#include <sys/utsname.h> -#include <unistd.h> - -int getdomainname(char *name,size_t len) { -  struct utsname u; -  int res=uname(&u); -  if (res==0) { -    size_t i; -    if (len>=_UTSNAME_DOMAIN_LENGTH) -      len=_UTSNAME_DOMAIN_LENGTH; -    for (i=0; i<len; i++) -      name[i]=u.domainname[i]; -  } -  return res; -} diff --git a/mdk-stage1/dietlibc/lib/getenv.c b/mdk-stage1/dietlibc/lib/getenv.c deleted file mode 100644 index 5b529c17f..000000000 --- a/mdk-stage1/dietlibc/lib/getenv.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <stdlib.h> -#include <string.h> - -extern char *getenv(const char *s) -{ -  int i; -  unsigned int len; - -  if (!environ || !s) return 0; -  len = strlen(s); -  for (i = 0;environ[i];++i) -    if ((memcmp(environ[i],s,len)==0) && (environ[i][len] == '=')) -      return environ[i] + len + 1; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/lib/gethostname.c b/mdk-stage1/dietlibc/lib/gethostname.c deleted file mode 100644 index c3d2f3d5e..000000000 --- a/mdk-stage1/dietlibc/lib/gethostname.c +++ /dev/null @@ -1,19 +0,0 @@ -#define _GNU_SOURCE - -#include <sys/types.h> -#include <sys/utsname.h> -#include <unistd.h> - -int gethostname(char *name,size_t len) { -  struct utsname u; -  int res=uname(&u); -  if (res==0) { -    size_t i; -    if (len>=_UTSNAME_NODENAME_LENGTH) -      len=_UTSNAME_NODENAME_LENGTH; -    for (i=0; i<len; i++) -      name[i]=u.nodename[i]; -  } -  return res; -} - diff --git a/mdk-stage1/dietlibc/lib/getopt.c b/mdk-stage1/dietlibc/lib/getopt.c deleted file mode 100644 index aa1988f8d..000000000 --- a/mdk-stage1/dietlibc/lib/getopt.c +++ /dev/null @@ -1,63 +0,0 @@ -#include <string.h> -#include <getopt.h> - -static void getopterror(int which) { -  static char error1[]="Unknown option `-x'.\n"; -  static char error2[]="Missing argument for `-x'.\n"; -  if (opterr) { -    if (which) { -      error2[23]=optopt; -      write(2,error2,28); -    } else { -      error1[17]=optopt; -      write(2,error1,22); -    } -  } -} - -int getopt(int argc, char * const argv[], const char *optstring) { -  static int lastidx=0,lastofs=0; -  char *tmp; -  if (optind==0) optind=1;	/* whoever started setting optind to 0 should be shot */ -again: -  if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0) -    return -1; -  if (argv[optind][1]=='-' && argv[optind][2]==0) { -    ++optind; -    return -1; -  } -  if (lastidx!=optind) { -    lastidx=optind; lastofs=0; -  } -  optopt=argv[optind][lastofs+1]; -  if ((tmp=strchr(optstring,optopt))) { -    if (*tmp==0) {	/* apparently, we looked for \0, i.e. end of argument */ -      ++optind; -      goto again; -    } -    if (tmp[1]==':') {	/* argument expected */ -      if (tmp[2]==':' || argv[optind][lastofs+2]) {	/* "-foo", return "oo" as optarg */ -	if (!*(optarg=argv[optind]+lastofs+2)) optarg=0; -	goto found; -      } -      optarg=argv[optind+1]; -      if (!optarg) {	/* missing argument */ -	++optind; -	if (*optstring==':') return ':'; -	getopterror(1); -	return ':'; -      } -      ++optind; -    } else { -      ++lastofs; -      return optopt; -    } -found: -    ++optind; -    return optopt; -  } else {	/* not found */ -    getopterror(0); -    ++optind; -    return '?'; -  } -} diff --git a/mdk-stage1/dietlibc/lib/getpeername.c b/mdk-stage1/dietlibc/lib/getpeername.c deleted file mode 100644 index c806c720d..000000000 --- a/mdk-stage1/dietlibc/lib/getpeername.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_getpeername(int a, void * b, int *c); -int __libc_getpeername(int a, void * b, int *c) { -  unsigned long args[] = { a, (long) b, (long) c }; -  return socketcall(SYS_GETPEERNAME, args); -} - -int getpeername(int a, struct sockaddr* b, socklen_t *c) __attribute__((weak,alias("__libc_getpeername"))); diff --git a/mdk-stage1/dietlibc/lib/getpgrp.c b/mdk-stage1/dietlibc/lib/getpgrp.c deleted file mode 100644 index ee2ab0257..000000000 --- a/mdk-stage1/dietlibc/lib/getpgrp.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <unistd.h> - -int getpgrp() -{ -  return getpgid(0); -} diff --git a/mdk-stage1/dietlibc/lib/getsockname.c b/mdk-stage1/dietlibc/lib/getsockname.c deleted file mode 100644 index 6c81e317d..000000000 --- a/mdk-stage1/dietlibc/lib/getsockname.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_getsockname(int a, void * b, int c); -int __libc_getsockname(int a, void * b, int c) { -  unsigned long args[] = { a, (long) b, c }; -  return socketcall(SYS_GETSOCKNAME, args); -} - -int getsockname(int a, struct sockaddr* b, socklen_t* c) __attribute__((weak,alias("__libc_getsockname"))); diff --git a/mdk-stage1/dietlibc/lib/getsockopt.c b/mdk-stage1/dietlibc/lib/getsockopt.c deleted file mode 100644 index 05b71d77d..000000000 --- a/mdk-stage1/dietlibc/lib/getsockopt.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_getsockopt(int a, int b, int c, void *d, int e); -int __libc_getsockopt(int a, int b, int c, void *d, int e) { -  unsigned long args[] = { a, b, c, (long)d, e }; -  return socketcall(SYS_GETSOCKOPT, args); -} - -int getsockopt(int s, int level, int optname, void * optval, socklen_t *optlen) __attribute__((weak,alias("__libc_getsockopt"))); diff --git a/mdk-stage1/dietlibc/lib/htonl.c b/mdk-stage1/dietlibc/lib/htonl.c deleted file mode 100644 index 4096d04f5..000000000 --- a/mdk-stage1/dietlibc/lib/htonl.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <endian.h> -#include <netinet/in.h> - -uint32_t htonl(uint32_t hostlong) { -#if __BYTE_ORDER==__LITTLE_ENDIAN -  return (hostlong>>24) | ((hostlong&0xff0000)>>8) | -	  ((hostlong&0xff00)<<8) | (hostlong<<24); -#else -  return hostlong; -#endif -} - -uint32_t ntohl(uint32_t hostlong) __attribute__((weak,alias("htonl"))); diff --git a/mdk-stage1/dietlibc/lib/htons.c b/mdk-stage1/dietlibc/lib/htons.c deleted file mode 100644 index a64483174..000000000 --- a/mdk-stage1/dietlibc/lib/htons.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <endian.h> -#include <netinet/in.h> - -uint16_t htons(uint16_t hostshort) { -#if __BYTE_ORDER==__LITTLE_ENDIAN -  return ((hostshort>>8)&0xff) | (hostshort<<8); -#else -  return hostshort; -#endif -} - -uint16_t ntohs(uint16_t hostshort) __attribute__((weak,alias("htons"))); diff --git a/mdk-stage1/dietlibc/lib/if_indextoname.c b/mdk-stage1/dietlibc/lib/if_indextoname.c deleted file mode 100644 index cc3111ed8..000000000 --- a/mdk-stage1/dietlibc/lib/if_indextoname.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <net/if.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <sys/socket.h> - -#ifndef SOCK_DGRAM -#define SOCK_DGRAM 2 -#endif - -char* if_indextoname(unsigned int interface,char* blub) { -  struct ifreq ifr; -  int fd; - -  fd=socket(AF_INET6,SOCK_DGRAM,0); -  if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0); -  ifr.ifr_ifindex=interface; -  if (ioctl(fd,SIOCGIFNAME,&ifr)==0) { -    int i; -    close(fd); -    for (i=0; i<IFNAMSIZ-1; i++) -      if (!(blub[i]=ifr.ifr_name[i])) -	return blub; -    blub[i]=0; -    return blub; -  } -  close(fd); -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/if_nameindex.c b/mdk-stage1/dietlibc/lib/if_nameindex.c deleted file mode 100644 index fc0e1c0ff..000000000 --- a/mdk-stage1/dietlibc/lib/if_nameindex.c +++ /dev/null @@ -1,40 +0,0 @@ -#include <net/if.h> -#include <unistd.h> -#include <string.h> -#include <stdlib.h> -#include <sys/ioctl.h> -#include <stdio.h> - -struct if_nameindex* if_nameindex(void) { -  struct ifconf ic; -  int fd,len,i; -  struct if_nameindex* x,* y; -  char *dest; -  fd=socket(AF_INET6,SOCK_DGRAM,0); -  if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0); -  ic.ifc_buf=0; -  ic.ifc_len=0; -  if (ioctl(fd,SIOCGIFCONF,&ic)<0) { -b0rken: -    close(fd); -    return 0; -  } -  ic.ifc_buf=alloca((size_t)ic.ifc_len); -  if (ioctl(fd,SIOCGIFCONF,&ic)<0) goto b0rken; -  len=(ic.ifc_len/sizeof(struct ifreq)); -  x=(struct if_nameindex*)malloc((len+1)*sizeof(struct if_nameindex)+len*IFNAMSIZ); -  if (!x) goto b0rken; -  dest=(char*)(x+len+1); -  y=x; -  for (i=0; i<len; ++i) { -    struct ifreq* ir=(struct ifreq*)&ic.ifc_req[i]; -    y->if_name=dest; -    memcpy(dest,ir->ifr_name,IFNAMSIZ); -    if (ioctl(fd,SIOCGIFINDEX,ir)==-1) continue; -    y->if_index=ir->ifr_ifindex; -    dest+=IFNAMSIZ; -    ++y; -  } -  y->if_name=0; y->if_index=0; -  return x; -} diff --git a/mdk-stage1/dietlibc/lib/if_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c deleted file mode 100644 index c9dd1b051..000000000 --- a/mdk-stage1/dietlibc/lib/if_nametoindex.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <net/if.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <sys/socket.h> - -#ifndef SOCK_DGRAM -#define SOCK_DGRAM 2 -#endif - -unsigned int if_nametoindex(const char* blub) { -  struct ifreq ifr; -  int fd; -  char *tmp; -  int len=sizeof(ifr.ifr_name); -  fd=socket(AF_INET6,SOCK_DGRAM,0); -  if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0); -  for (tmp=ifr.ifr_name; len>0; --len) { -    if ((*tmp++=*blub++)==0) break; -  } -  if (ioctl(fd,SIOCGIFINDEX,&ifr)==0) { -    close(fd); -    return ifr.ifr_ifindex; -  } -  close(fd); -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/ipv6constants.c b/mdk-stage1/dietlibc/lib/ipv6constants.c deleted file mode 100644 index 1d5cb1f08..000000000 --- a/mdk-stage1/dietlibc/lib/ipv6constants.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "netinet/in.h" - -const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT; -const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT; diff --git a/mdk-stage1/dietlibc/lib/isalnum.c b/mdk-stage1/dietlibc/lib/isalnum.c deleted file mode 100644 index 3192cc20d..000000000 --- a/mdk-stage1/dietlibc/lib/isalnum.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <ctype.h> - -int __isalnum_ascii ( int ch ); -int __isalnum_ascii ( int ch ) { -    return (unsigned int)((ch | 0x20) - 'a') < 26u  || -           (unsigned int)( ch         - '0') < 10u; -} - -int isalnum ( int ch ) __attribute__((weak,alias("__isalnum_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isalpha.c b/mdk-stage1/dietlibc/lib/isalpha.c deleted file mode 100644 index efd8b1940..000000000 --- a/mdk-stage1/dietlibc/lib/isalpha.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -int __isalpha_ascii ( int ch ); -int __isalpha_ascii ( int ch ) { -    return (unsigned int)((ch | 0x20) - 'a') < 26u; -} - -int isalpha ( int ch ) __attribute__((weak,alias("__isalpha_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isascii.c b/mdk-stage1/dietlibc/lib/isascii.c deleted file mode 100644 index 57a23ba44..000000000 --- a/mdk-stage1/dietlibc/lib/isascii.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int isascii ( int ch )  -{ -    return (unsigned int)ch < 128u; -} diff --git a/mdk-stage1/dietlibc/lib/isatty.c b/mdk-stage1/dietlibc/lib/isatty.c deleted file mode 100644 index 4858a364d..000000000 --- a/mdk-stage1/dietlibc/lib/isatty.c +++ /dev/null @@ -1,20 +0,0 @@ -#define ioctl libc_ioctl -#include <termios.h> -#undef ioctl -#include <sys/ioctl.h> -#include <errno.h> -#include <unistd.h> -#include "dietfeatures.h" - -int isatty(int fd) { -  int save; -  int is_tty; -  struct termios term; - -  save = errno; -  is_tty = ioctl(fd, TCGETS, &term) == 0; -  errno = save; - -  return is_tty; -} - diff --git a/mdk-stage1/dietlibc/lib/isblank.c b/mdk-stage1/dietlibc/lib/isblank.c deleted file mode 100644 index f13ca304a..000000000 --- a/mdk-stage1/dietlibc/lib/isblank.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int isblank ( int ch ) -{ -    return ch == ' '  ||  ch == '\t'; -} diff --git a/mdk-stage1/dietlibc/lib/iscntrl.c b/mdk-stage1/dietlibc/lib/iscntrl.c deleted file mode 100644 index 98dbae6f3..000000000 --- a/mdk-stage1/dietlibc/lib/iscntrl.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -int __iscntrl_ascii ( int ch ); -int __iscntrl_ascii ( int ch ) { -    return (unsigned int)ch < 32u  ||  ch == 127; -} - -int iscntrl ( int ch ) __attribute__((weak,alias("__iscntrl_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isdigit.c b/mdk-stage1/dietlibc/lib/isdigit.c deleted file mode 100644 index d04d281a8..000000000 --- a/mdk-stage1/dietlibc/lib/isdigit.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -int __isdigit_ascii ( int ch ); -int __isdigit_ascii ( int ch ) { -    return (unsigned int)(ch - '0') < 10u; -} - -int isdigit ( int ch ) __attribute__((weak,alias("__isdigit_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isgraph.c b/mdk-stage1/dietlibc/lib/isgraph.c deleted file mode 100644 index 83419e788..000000000 --- a/mdk-stage1/dietlibc/lib/isgraph.c +++ /dev/null @@ -1,6 +0,0 @@ -int __isgraph_ascii ( int ch ); -int __isgraph_ascii ( int ch ) { -  return (unsigned int)(ch - '!') < 127u - '!'; -} - -int isgraph ( int ch ) __attribute__((weak,alias("__isgraph_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/islower.c b/mdk-stage1/dietlibc/lib/islower.c deleted file mode 100644 index 8d219c43a..000000000 --- a/mdk-stage1/dietlibc/lib/islower.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -int __islower_ascii ( int ch ); -int __islower_ascii ( int ch ) { -    return (unsigned int) (ch - 'a') < 26u; -} - -int islower ( int ch ) __attribute__((weak,alias("__islower_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isprint.c b/mdk-stage1/dietlibc/lib/isprint.c deleted file mode 100644 index 51ff5b6ee..000000000 --- a/mdk-stage1/dietlibc/lib/isprint.c +++ /dev/null @@ -1,7 +0,0 @@ - -int __isprint_ascii ( int ch ); -int __isprint_ascii ( int ch ) { -    return (unsigned int)(ch - ' ') < 127u - ' '; -} - -int isprint ( int ch ) __attribute__((weak,alias("__isprint_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/ispunct.c b/mdk-stage1/dietlibc/lib/ispunct.c deleted file mode 100644 index 8bbfcdb5a..000000000 --- a/mdk-stage1/dietlibc/lib/ispunct.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <ctype.h> - -int __ispunct_ascii ( int ch ); -int __ispunct_ascii ( int ch )  -{ -    return isprint (ch)  &&  !isalnum (ch)  &&  !isspace (ch); -} - -int ispunct ( int ch ) __attribute__((weak,alias("__ispunct_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isspace.c b/mdk-stage1/dietlibc/lib/isspace.c deleted file mode 100644 index bfa46648b..000000000 --- a/mdk-stage1/dietlibc/lib/isspace.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <ctype.h> - -int __isspace_ascii ( int ch ); -int __isspace_ascii ( int ch ) -{ -    return (unsigned int)(ch - 9) < 5u  ||  ch == ' '; -} - -int isspace ( int ch ) __attribute__((weak,alias("__isspace_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isupper.c b/mdk-stage1/dietlibc/lib/isupper.c deleted file mode 100644 index 048d4fd6c..000000000 --- a/mdk-stage1/dietlibc/lib/isupper.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <ctype.h> - -int __isupper_ascii ( int ch ); -int __isupper_ascii ( int ch ) -{ -    return (unsigned int)(ch - 'A') < 26u; -} - -int isupper ( int ch ) __attribute__((weak,alias("__isupper_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/isxdigit.c b/mdk-stage1/dietlibc/lib/isxdigit.c deleted file mode 100644 index bca8e74ac..000000000 --- a/mdk-stage1/dietlibc/lib/isxdigit.c +++ /dev/null @@ -1,8 +0,0 @@ -int __isxdigit_ascii ( int ch ); -int __isxdigit_ascii ( int ch ) -{ -    return (unsigned int)( ch         - '0') < 10u  ||  -           (unsigned int)((ch | 0x20) - 'a') <  6u; -} - -int isxdigit ( int ch ) __attribute__((weak,alias("__isxdigit_ascii"))); diff --git a/mdk-stage1/dietlibc/lib/labs.c b/mdk-stage1/dietlibc/lib/labs.c deleted file mode 100644 index 364557f40..000000000 --- a/mdk-stage1/dietlibc/lib/labs.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <endian.h> - -#if __WORDSIZE == 64 -long int labs(long int i) { return i>=0?i:-i; } -long long int llabs(long long int i) __attribute__((alias("labs"))); -#endif diff --git a/mdk-stage1/dietlibc/lib/listen.c b/mdk-stage1/dietlibc/lib/listen.c deleted file mode 100644 index 661b86a63..000000000 --- a/mdk-stage1/dietlibc/lib/listen.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_listen(int a, int b); -int __libc_listen(int a, int b) { -  unsigned long args[] = { a, b, 0 }; -  return socketcall(SYS_LISTEN, args); -} - -int listen(int s, int backlog) __attribute__((weak,alias("__libc_listen"))); diff --git a/mdk-stage1/dietlibc/lib/llabs.c b/mdk-stage1/dietlibc/lib/llabs.c deleted file mode 100644 index bcbd3dc78..000000000 --- a/mdk-stage1/dietlibc/lib/llabs.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <endian.h> -#include <stdlib.h> - -#if __WORDSIZE != 64 -long long int llabs(long long int i) { if (i<0) i=-i; return i; } -#endif diff --git a/mdk-stage1/dietlibc/lib/lockf.c b/mdk-stage1/dietlibc/lib/lockf.c deleted file mode 100644 index 1b6fcb80c..000000000 --- a/mdk-stage1/dietlibc/lib/lockf.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <sys/types.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -#include "dietfeatures.h" - -int lockf(int fd, int cmd, off_t len) { -  struct flock fl; -  fl.l_whence=SEEK_CUR; -  fl.l_start=0; -  fl.l_len=len; -  fl.l_pid=0; -  switch (cmd) { -  case F_TEST: -    if (fcntl(fd,F_GETLK,&fl)<0) -      return -1; -    if (fl.l_type == F_UNLCK || fl.l_pid == getpid ()) -      return 0; -    errno=EACCES; -    return -1; -  case F_ULOCK: -    fl.l_type=F_UNLCK; -    cmd=F_SETLK; -    break; -  case F_LOCK: -    fl.l_type = F_WRLCK; -    cmd = F_SETLKW; -    break; -  case F_TLOCK: -    fl.l_type = F_WRLCK; -    cmd = F_SETLK; -    break; -  default: -    errno=EINVAL; -    return -1; -  } -  return fcntl(fd,cmd,&fl); -} diff --git a/mdk-stage1/dietlibc/lib/longjmp.c b/mdk-stage1/dietlibc/lib/longjmp.c deleted file mode 100644 index 6f1afb4b1..000000000 --- a/mdk-stage1/dietlibc/lib/longjmp.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <setjmp.h> -#include <signal.h> - -void __longjmp(void*env,int val); - -void __libc_longjmp(sigjmp_buf env,int val); -void __libc_longjmp(sigjmp_buf env,int val) { -  if (env[0].__mask_was_saved) { -    sigprocmask(SIG_SETMASK,(sigset_t*)&env[0].__saved_mask,0); -  } -  if (val==0) val=1; -  __longjmp(env[0].__jmpbuf,val); -} -void __siglongjmp(sigjmp_buf env,int val) __attribute__((alias("__libc_longjmp"))); -void longjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp"))); -void siglongjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp"))); diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c deleted file mode 100644 index 62acf4a2b..000000000 --- a/mdk-stage1/dietlibc/lib/lseek64.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" - -#include <sys/stat.h> -#ifndef __NO_STAT64 -#include <unistd.h> - -loff_t lseek64(int fildes, loff_t offset, int whence) { -  loff_t tmp; -  if (llseek(fildes,(unsigned long)(offset>>32),(unsigned long)offset&0xffffffff,&tmp,whence)) { -    if (errno!=ENOSYS) return -1; -    return (loff_t)lseek(fildes,(off_t)offset,whence); -  } -  return tmp; -} -#endif diff --git a/mdk-stage1/dietlibc/lib/memccpy.c b/mdk-stage1/dietlibc/lib/memccpy.c deleted file mode 100644 index 3208cfabb..000000000 --- a/mdk-stage1/dietlibc/lib/memccpy.c +++ /dev/null @@ -1,20 +0,0 @@ -#define _POSIX_SOURCE -#define _XOPEN_SOURCE -#include <sys/types.h> -#include <string.h> - -void *memccpy(void *dst, const void *src, int c, size_t count) -{ -  char *a = dst; -  const char *b = src; -  while (count--) -  { -    *a++ = *b; -    if (*b==c) -    { -      return (void *)a; -    } -    b++; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/memchr.c b/mdk-stage1/dietlibc/lib/memchr.c deleted file mode 100644 index ae76bb150..000000000 --- a/mdk-stage1/dietlibc/lib/memchr.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -void* memchr(const void *s, int c, size_t n) { -  register const char* t=s; -  int i; -  for (i=n; i; --i) { -    if (*t==c) -      return (char*)t; -    ++t; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/memcmp.c b/mdk-stage1/dietlibc/lib/memcmp.c deleted file mode 100644 index 4c8f77142..000000000 --- a/mdk-stage1/dietlibc/lib/memcmp.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <sys/types.h> - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -int memcmp(const void *dst, const void *src, size_t count) { -  register int r; -  register const char *d=dst; -  register const char *s=src; -  while (count--) { -    if ((r=(*d - *s))) -      return r; -    ++d; -    ++s; -  } -  return 0; -} - -int bcmp(const char *a,const char *b,size_t c)	__attribute__((weak,alias("memcmp"))); diff --git a/mdk-stage1/dietlibc/lib/memcpy.c b/mdk-stage1/dietlibc/lib/memcpy.c deleted file mode 100644 index ebfd1e60a..000000000 --- a/mdk-stage1/dietlibc/lib/memcpy.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <sys/types.h> - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -void* memcpy(void* dst, const void* src, size_t count) { -  register char *d=dst; -  register const char *s=src; -  ++count;	/* this actually produces better code than using count-- */ -  while (--count) { -    *d = *s; -    ++d; ++s; -  } -  return dst; -} diff --git a/mdk-stage1/dietlibc/lib/memmem.c b/mdk-stage1/dietlibc/lib/memmem.c deleted file mode 100644 index 5c88a29e7..000000000 --- a/mdk-stage1/dietlibc/lib/memmem.c +++ /dev/null @@ -1,14 +0,0 @@ -#define _GNU_SOURCE 23 -#include <sys/types.h> -#include <string.h> - -void *memmem(const void* haystack, size_t hl, const void* needle, size_t nl) { -  int i; -  if (nl>hl) return 0; -  for (i=hl-nl+1; i; --i) { -    if (!memcmp(haystack,needle,nl)) -      return (char*)haystack; -    ++haystack; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c deleted file mode 100644 index 58414d503..000000000 --- a/mdk-stage1/dietlibc/lib/memmove.c +++ /dev/null @@ -1,24 +0,0 @@ -#define _POSIX_SOURCE -#define _XOPEN_SOURCE -#include <sys/types.h> -#include <string.h> - -void *memmove(void *dst, const void *src, size_t count) -{ -  char *a = dst; -  const char *b = src; -  if (src!=dst) -  { -    if (src>dst) -    { -      while (count--) *a++ = *b++; -    } -    else -    { -      a+=count-1; -      b+=count-1; -      while (count--) *a-- = *b--; -    } -  } -  return dst; -} diff --git a/mdk-stage1/dietlibc/lib/memrchr.c b/mdk-stage1/dietlibc/lib/memrchr.c deleted file mode 100644 index f7750d2d7..000000000 --- a/mdk-stage1/dietlibc/lib/memrchr.c +++ /dev/null @@ -1,15 +0,0 @@ -#define _GNU_SOURCE -#include <sys/types.h> -#include <string.h> - -void* memrchr(const void *s, int c, size_t n) { -  register const char* t=s; -  register const char* last=0; -  int i; -  for (i=n; i; --i) { -    if (*t==c) -      last=t; -    ++t; -  } -  return (void*)last; /* man, what an utterly b0rken prototype */ -} diff --git a/mdk-stage1/dietlibc/lib/memset.c b/mdk-stage1/dietlibc/lib/memset.c deleted file mode 100644 index a019eca44..000000000 --- a/mdk-stage1/dietlibc/lib/memset.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -void* memset(void * dst, int s, size_t count) { -    register char * a = dst; -    count++;	/* this actually creates smaller code than using count-- */ -    while (--count) -	*a++ = s; -    return dst; -} diff --git a/mdk-stage1/dietlibc/lib/mkfifo.c b/mdk-stage1/dietlibc/lib/mkfifo.c deleted file mode 100644 index 1bd132e65..000000000 --- a/mdk-stage1/dietlibc/lib/mkfifo.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <sys/stat.h> -#include <unistd.h> - -int mkfifo(const char *fn,mode_t mode) { -  return mknod(fn,(mode_t)(mode|S_IFIFO),0); -} diff --git a/mdk-stage1/dietlibc/lib/msgctl.c b/mdk-stage1/dietlibc/lib/msgctl.c deleted file mode 100644 index 51cffdef0..000000000 --- a/mdk-stage1/dietlibc/lib/msgctl.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/msg.h> - -extern int __ipc(int,int,int,int,void*); - -int msgctl(int msqid, int cmd, struct msqid_ds *buf) { -  return __ipc(MSGCTL,msqid,cmd,0,buf); -} diff --git a/mdk-stage1/dietlibc/lib/msgget.c b/mdk-stage1/dietlibc/lib/msgget.c deleted file mode 100644 index 6023c1786..000000000 --- a/mdk-stage1/dietlibc/lib/msgget.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/msg.h> - -extern int __ipc(int,key_t,int,int,int); - -int msgget(key_t key,int flag) { -  return __ipc(MSGGET,key,flag,0,0); -} diff --git a/mdk-stage1/dietlibc/lib/msgrcv.c b/mdk-stage1/dietlibc/lib/msgrcv.c deleted file mode 100644 index 8168187a5..000000000 --- a/mdk-stage1/dietlibc/lib/msgrcv.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/msg.h> - -extern int __ipc(int,int,size_t,int,void*); - -struct ipc_kludge { -  struct msgbuf *msgp; -  long msgtyp; -}; - -int msgrcv(int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) { -  struct ipc_kludge tmp; -  tmp.msgp = msgp; -  tmp.msgtyp = msgtyp; -  return __ipc(MSGRCV,msqid, msgsz, msgflg, &tmp); -} diff --git a/mdk-stage1/dietlibc/lib/msgsnd.c b/mdk-stage1/dietlibc/lib/msgsnd.c deleted file mode 100644 index 6e9ef445e..000000000 --- a/mdk-stage1/dietlibc/lib/msgsnd.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/msg.h> - -extern int __ipc(int,int,size_t,int,const void*); - -int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) { -  return __ipc(MSGSND,msqid, msgsz, msgflg, msgp); -} diff --git a/mdk-stage1/dietlibc/lib/open64.c b/mdk-stage1/dietlibc/lib/open64.c deleted file mode 100644 index 2599e2259..000000000 --- a/mdk-stage1/dietlibc/lib/open64.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <fcntl.h> - -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif - -int __libc_open64(const char* file,int oflag,int mode); -int __libc_open64(const char* file,int oflag,int mode) { -  return open(file,oflag|O_LARGEFILE,mode); -} - -int open64(const char* file,int oflag,...) __attribute__((weak,alias("__libc_open64"))); diff --git a/mdk-stage1/dietlibc/lib/opendir.c b/mdk-stage1/dietlibc/lib/opendir.c deleted file mode 100644 index 2530d1ac9..000000000 --- a/mdk-stage1/dietlibc/lib/opendir.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "dietdirent.h" -#include <sys/mman.h> -#include <unistd.h> -#include <dirent.h> -#include <stdlib.h> -#include <fcntl.h> - -DIR*  opendir ( const char* name ) { -  int   fd = open (name, O_RDONLY | O_DIRECTORY); -  DIR*  t  = NULL; - -  if ( fd >= 0 ) { -    if (fcntl (fd, F_SETFD, FD_CLOEXEC) < 0) -      goto lose; -    t = (DIR *) mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,  -		MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); -    if (t == MAP_FAILED) -lose: -      close (fd); -    else -      t->fd = fd; -  } - - -  return t; -} diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c deleted file mode 100644 index 0a45fb9d6..000000000 --- a/mdk-stage1/dietlibc/lib/perror.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "dietfeatures.h" -#include <unistd.h> -#include <string.h> -#include <stdio.h> - -#define _BSD_SOURCE -#include <errno.h> - -extern const char  __sys_err_unknown []; - -void  perror ( const char* prepend ) -{ -    register const char* message = __sys_err_unknown; - -    if ( (unsigned int) errno < (unsigned int) __SYS_NERR ) -        message = sys_errlist [errno]; - -    if (prepend) { -      write ( 2, prepend, strlen(prepend) ); -      write ( 2, ": ", 2 ); -    } -    write ( 2, message, strlen(message) ); -    write ( 2, "\n", 1 ); -} diff --git a/mdk-stage1/dietlibc/lib/pread.c b/mdk-stage1/dietlibc/lib/pread.c deleted file mode 100644 index fd6c49149..000000000 --- a/mdk-stage1/dietlibc/lib/pread.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <endian.h> -#include <sys/types.h> - -extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b); - -size_t __libc_pread(int fd, void *buf, size_t count, off_t offset); -size_t __libc_pread(int fd, void *buf, size_t count, off_t offset) { -  return __pread(fd,buf,count,offset,0); -} - -int pread(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread"))); diff --git a/mdk-stage1/dietlibc/lib/pread64.c b/mdk-stage1/dietlibc/lib/pread64.c deleted file mode 100644 index 6dc93cefa..000000000 --- a/mdk-stage1/dietlibc/lib/pread64.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <endian.h> -#include <sys/types.h> -#include <sys/stat.h> - -#ifndef __NO_STAT64 -extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b); - -size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset); -size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) { -  return __pread(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(offset>>32))); -} - -int pread64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread64"))); -#endif diff --git a/mdk-stage1/dietlibc/lib/putenv.c b/mdk-stage1/dietlibc/lib/putenv.c deleted file mode 100644 index 448d59840..000000000 --- a/mdk-stage1/dietlibc/lib/putenv.c +++ /dev/null @@ -1,40 +0,0 @@ -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -int putenv(const char *string) { -  size_t len; -  int envc; -  int remove=0; -  char *tmp; -  const char **ep; -  char **newenv; -  static char **origenv; -  if (!origenv) origenv=environ; -  if (!(tmp=strchr(string,'='))) { -    len=strlen(string); -    remove=1; -  } else -    len=tmp-string+1; -  for (envc=0, ep=(const char**)environ; *ep; ++ep) { -    if (*string == **ep && !memcmp(string,*ep,len)) { -      if (remove) { -	for (; ep[1]; ++ep) ep[0]=ep[1]; -	ep[0]=0; -	return 0; -      } -      *ep=string; -      return 0; -    } -    ++envc; -  } -  if (tmp) { -    newenv = (char**) realloc(environ==origenv?0:origenv, -			      (envc+2)*sizeof(char*)); -    if (!newenv) return -1; -    newenv[0]=(char*)string; -    memcpy(newenv+1,environ,(envc+1)*sizeof(char*)); -    environ=newenv; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/pwrite.c b/mdk-stage1/dietlibc/lib/pwrite.c deleted file mode 100644 index 1e9fde545..000000000 --- a/mdk-stage1/dietlibc/lib/pwrite.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <endian.h> -#include <sys/types.h> - -extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b); - -size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset); -size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset) { -  return __pwrite(fd,buf,count,offset,0); -} - -int pwrite(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite"))); diff --git a/mdk-stage1/dietlibc/lib/pwrite64.c b/mdk-stage1/dietlibc/lib/pwrite64.c deleted file mode 100644 index cac46024a..000000000 --- a/mdk-stage1/dietlibc/lib/pwrite64.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <endian.h> -#include <sys/types.h> -#include <sys/stat.h> - -#ifndef __NO_STAT64 -extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b); - -size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset); -size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset) { -  return __pwrite(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(offset>>32))); -} - -int pwrite64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite64"))); -#endif diff --git a/mdk-stage1/dietlibc/lib/qsort.c b/mdk-stage1/dietlibc/lib/qsort.c deleted file mode 100644 index 62217e142..000000000 --- a/mdk-stage1/dietlibc/lib/qsort.c +++ /dev/null @@ -1,127 +0,0 @@ -#include <sys/cdefs.h> -#include <stdlib.h> -#include <assert.h> - -/* comments: -     1. insertion sort sofort, nicht nachträglich -     2. threshold = 16 - */ - -static inline void iswap(void *a,void *b,size_t size) { -  register char *x=a; -  register char *y=b; -  register char *z=x+size; -  while (x<z) { -    register char tmp=*x; -    *x=*y; -    *y=tmp; -    ++x; ++y; -  } -} - -static inline void swap(void *base,size_t size,size_t a,size_t b) { -  iswap((char*)base+a*size,(char*)base+b*size,size); -} - -#if 0 -extern int array[]; - -void dumparray() { -  printf("array now {%d,%d,%d,%d,%d}\n",array[0],array[1],array[2],array[3],array[4]); -} -#endif - -void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); -void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { -  size_t i; -  while (expect(nmemb>1,1)) { -    char *min=base; -    char *tmp=min+size; -    for (i=1; i<nmemb; ++i) { -      if (expect(compar(tmp,min)<0,0)) -	min=tmp; -      tmp+=size; -    } -    iswap(min,base,size); -    (char*)base+=size; -    nmemb-=1; -  } -} - -void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { -#ifdef DEBUG -  char *dbase=base; -  char *dmax=base+(nmemb-1)*size; -  char dmemb=nmemb; -#endif -  static int level=0; -  char* v;	/* pivot */ -  char* mid, *max, *min; -  size_t lmemb; - -#if 0 -  int left,right; -  left=(int*)base-array; -  right=left+nmemb-1; -  ++level; -  { int i; for (i=0; i<level; ++i) printf("  "); } -  printf("qsort: level %d; base=%p, %dx%d; array[%d..%d]\n",level,base,nmemb,size,left,right); -  assert(left>=0 && right<=1000); -#endif -  if (nmemb<=8) { -    --level; -    return isort(base,nmemb,size,compar); -  } -  { -    mid=(char*)base+(nmemb/2)*size; -    max=(char*)base+(nmemb-1)*size; - -    if (compar(base,max)<0)	/* a[left] < a[right] */ -      if (compar(base,mid)<0)	/* a[left] < a[med] */ -	if (compar(max,mid)<0)	/* a[left] < a[right] < a[med] */ -	  v=max; -	else			/* a[left] < a[med] < a[right] */ -	  v=mid; -      else			/* a[med] < a[left] < a[right] */ -	v=base; -    else			/* a[right] < a[left] */ -      if (compar(base,mid)<0)	/* a[right] < a[left] < a[med] */ -	v=base; -      else			/* a[right] < a[left] && a[med] < a[left] */ -	if (compar(max,mid)<0)	/* a[right] < a[med] < a[left] */ -	  v=mid; -	else -	  v=max; -//    printf("%d %d %d -> median %d\n",*(int*)base,*(int*)mid,*(int*)max,*(int*)v); -  } -  if (v != max) -    iswap(v,max,size); -  v=max; -  min=base; lmemb=0; -  for (;;) { -    while (expect(compar(min,v)<0,1)) { min+=size; ++lmemb; } -    while (expect(compar(max-=size,v)>0,1)) ; -    if (min>=max) break; -    iswap(min,max,size); -  } -  iswap(min,v,size); -#ifdef DEBUG -//    { int i; for (i=0; i<level; ++i) printf("  "); } -//    printf("-=< base=%p, min=%p, nmemb=%d, lmemb=%d (%d)\n",base,min,nmemb,lmemb,(min-(char*)base)/size); -    assert(lmemb==((min-(char*)base)/size)); -#endif -  if (min>(char*)base+size) { -#ifdef DEBUG -    assert(base==dbase); -#endif -//    { int i; for (i=0; i<level; ++i) printf("  "); } -//    printf("+-left %d [%d..%d] of [%d..%d]\n",level+1,left,left+lmemb,left,right); -    qsort(base,lmemb,size,compar); -  } -  if (nmemb>lmemb+1) { -//    { int i; for (i=0; i<level; ++i) printf("  "); } -//    printf("+-right %d [%d..%d] of [%d..%d]\n",level+1,left+lmemb,right,left,right); -    qsort(min+size,nmemb-lmemb-1,size,compar); -  } -  --level; -} diff --git a/mdk-stage1/dietlibc/lib/raise.c b/mdk-stage1/dietlibc/lib/raise.c deleted file mode 100644 index 0f548fc3b..000000000 --- a/mdk-stage1/dietlibc/lib/raise.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include <signal.h> - -int raise(int sig) { -  return kill(getpid(),sig); -} diff --git a/mdk-stage1/dietlibc/lib/rand.c b/mdk-stage1/dietlibc/lib/rand.c deleted file mode 100644 index beb2d2717..000000000 --- a/mdk-stage1/dietlibc/lib/rand.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdlib.h> - -static unsigned int seed=1; - -int rand(void) { -  return rand_r(&seed); -} - -void srand(unsigned int i) { seed=i; } - -int random(void) __attribute__((alias("rand"))); -void srandom(unsigned int i) __attribute__((alias("srand"))); diff --git a/mdk-stage1/dietlibc/lib/rand48.c b/mdk-stage1/dietlibc/lib/rand48.c deleted file mode 100644 index 9c6cfcda2..000000000 --- a/mdk-stage1/dietlibc/lib/rand48.c +++ /dev/null @@ -1,89 +0,0 @@ -#include <stdlib.h> - -static randbuf rand48buf; -#define A_0  0xE66D -#define A_1  0xDEEC -#define A_2  0x5 -#define C 0xB -static randbuf a = { A_0, A_1, A_2 }; -static unsigned short c = C; - -static void calc_next(randbuf buf) { -	randbuf tmp; -	long t; -	t = buf[0] * a[0] + c; -	tmp[0] = t & 0xffff; -	tmp[1] = (t >> 16) & 0xffff; -	t = buf[1] * a[0] + buf[0] * a[1] + tmp[1]; -	tmp[1] = t & 0xffff; -	tmp[2] = (t >> 16) & 0xffff; -	t = buf[2] * a[0] + buf[1] * a[1] + buf[0] * a[2] + tmp[2]; -	tmp[2] = t & 0xffff; -	buf[0] = tmp[0]; -	buf[1] = tmp[1]; -	buf[2] = tmp[2]; -} - -double drand48(void) { -	return erand48(rand48buf); -} - -long lrand48(void) { -	return nrand48(rand48buf); -} - -long mrand48(void) { -	return jrand48(rand48buf); -} - -void srand48(long seed) { -	rand48buf[1] = (seed >> 16) & 0xffff; -	rand48buf[2] = seed & 0xffff; -	rand48buf[0] = 0x330e; -	a[0] = A_0; -	a[1] = A_1; -	a[2] = A_2; -	c = C; -} - -unsigned short *seed48(randbuf buf) { -	static randbuf oldx; -	int i; -	for (i = 0; i < 3; i++) { -		oldx[i] = rand48buf[i]; -		rand48buf[i] = buf[i]; -	} -	a[0] = A_0; -	a[1] = A_1; -	a[2] = A_2; -	c = C; -	return (unsigned short *)&oldx; -} - -void lcong48(unsigned short param[7]) { -	int i; -	for (i = 0; i < 3; i++) { -		rand48buf[i] = param[i]; -		a[i] = param[i + 3]; -	} -	c = param[6]; -} - -long jrand48(randbuf buf) { -	long ret; -	ret = buf[2] << 16 | buf[1]; -	calc_next(buf); -	return ret; -} - -long nrand48(randbuf buf) { -	return jrand48(buf) & 0x7FFFFFFFL; -} - -double erand48(randbuf buf) { -	double ret; -	ret = ((buf[0] / 65536.0 + buf[1]) / 65536.0 + buf[2]) / 65536.0; -	calc_next(buf); -	return ret; -} - diff --git a/mdk-stage1/dietlibc/lib/rand_r.c b/mdk-stage1/dietlibc/lib/rand_r.c deleted file mode 100644 index 55f8303bc..000000000 --- a/mdk-stage1/dietlibc/lib/rand_r.c +++ /dev/null @@ -1,30 +0,0 @@ -/* -   Copyright (C) 2002 Luc Van Oostenryck - -   This is free software. You can redistribute and -   modify it under the terms of the GNU General Public -   Public License. -*/ - -#include <stdlib.h> -#include <stdint.h> - -/* Knuth's TAOCP section 3.6 */ -#define	M	((1U<<31) -1) -#define	A	48271 -#define	Q	44488		// M/A -#define	R	3399		// M%A; R < Q !!! - -// FIXME: ISO C/SuS want a longer period - -int rand_r(unsigned int* seed) -{   int32_t X; - -    X = *seed; -    X = A*(X%Q) - R * (int32_t) (X/Q); -    if (X < 0) -	X += M; - -    *seed = X; -    return X; -} diff --git a/mdk-stage1/dietlibc/lib/readdir.c b/mdk-stage1/dietlibc/lib/readdir.c deleted file mode 100644 index ed885a5f0..000000000 --- a/mdk-stage1/dietlibc/lib/readdir.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "dietdirent.h" -#include <unistd.h> -#include <dirent.h> -#include <stdlib.h> - -struct dirent* readdir(DIR *d) { -  if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) { -    int res=getdents(d->fd,(struct dirent*)d->buf,sizeof (d->buf)-1); -    if (res<=0) return 0; -    d->num=res; d->cur=0; -  } -  return (struct dirent*)(d->buf+d->cur); -} diff --git a/mdk-stage1/dietlibc/lib/readdir64.c b/mdk-stage1/dietlibc/lib/readdir64.c deleted file mode 100644 index b9b0aafcc..000000000 --- a/mdk-stage1/dietlibc/lib/readdir64.c +++ /dev/null @@ -1,62 +0,0 @@ -#include "dietfeatures.h" -#include "dietdirent.h" -#include <unistd.h> -#include <dirent.h> -#include <stdlib.h> -#include <errno.h> -#include <string.h> -#include "syscalls.h" - -#ifndef __NR_getdents64 -#define WANT_LARGEFILE_BACKCOMPAT -#endif - -#ifndef WANT_LARGEFILE_BACKCOMPAT -struct dirent64* readdir64(DIR *d) { -  if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) { -    int res=getdents64(d->fd,(struct dirent64*)d->buf, sizeof (d->buf)-1); -    if (res<=0) return 0; -    d->num=res; d->cur=0; -  } -  return (struct dirent64*)(d->buf+d->cur); -} -#else -struct dirent64* readdir64(DIR *d) { -#ifdef __NR_getdents64 -  static int trygetdents64=1; -#endif -  struct dirent* o; -  static struct dirent64 d64; -again: -#ifdef __NR_getdents64 -  if (!trygetdents64) { -#endif -    if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) { -      int res=getdents(d->fd,(struct dirent*)d->buf, sizeof (d->buf)-1); -      if (res<=0) return 0; -      d->num=res; d->cur=0; -    } -    o=(struct dirent*)(d->buf+d->cur); -    d64.d_ino=o->d_ino; -    d64.d_off=o->d_off; -    d64.d_reclen=o->d_reclen; -    strcpy(d64.d_name,o->d_name); -    d64.d_type=0;	/* is this correct? */ -    return &d64; -#ifdef __NR_getdents64 -  } -  if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) { -    int res=getdents64(d->fd,(struct dirent64*)d->buf,sizeof (d->buf)); -    if (res<=0) { -      if (errno==ENOSYS) { -	trygetdents64=0; -	goto again; -      } -      return 0; -    } -    d->num=res; d->cur=0; -  } -  return (struct dirent64*)(d->buf+d->cur); -#endif -} -#endif diff --git a/mdk-stage1/dietlibc/lib/reboot.c b/mdk-stage1/dietlibc/lib/reboot.c deleted file mode 100644 index 421068504..000000000 --- a/mdk-stage1/dietlibc/lib/reboot.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <sys/reboot.h> - -int __reboot(unsigned int magic1, unsigned int magic2, int cmd); - -int reboot(int cmd) -{ -  return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd); -} diff --git a/mdk-stage1/dietlibc/lib/recv.c b/mdk-stage1/dietlibc/lib/recv.c deleted file mode 100644 index c6bab4fb1..000000000 --- a/mdk-stage1/dietlibc/lib/recv.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_recv(int a, const void * b, size_t c, int flags); -int __libc_recv(int a, const void * b, size_t c, int flags) { -  unsigned long args[] = { a, (long) b, c, flags }; -  return socketcall(SYS_RECV, args); -} - -int recv(int a, const void * b, size_t c, int flags) -  __attribute__ ((weak, alias("__libc_recv"))); diff --git a/mdk-stage1/dietlibc/lib/recvfrom.c b/mdk-stage1/dietlibc/lib/recvfrom.c deleted file mode 100644 index b66ce3813..000000000 --- a/mdk-stage1/dietlibc/lib/recvfrom.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen); -int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen) { -  unsigned long args[] = { a, (long) b, c, flags, (long) to, (long) tolen }; -  return socketcall(SYS_RECVFROM, args); -} - -int recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen) - __attribute__ ((weak,alias("__libc_recvfrom"))) ; diff --git a/mdk-stage1/dietlibc/lib/recvmsg.c b/mdk-stage1/dietlibc/lib/recvmsg.c deleted file mode 100644 index d843ce9c0..000000000 --- a/mdk-stage1/dietlibc/lib/recvmsg.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/socket.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_recvmsg(int a, struct msghdr* msg, int flags); -int __libc_recvmsg(int a, struct msghdr* msg, int flags) { -  unsigned long args[] = { a, (long) msg, flags }; -  return socketcall(SYS_RECVMSG, args); -} - -int recvmsg(int a, struct msghdr *msg, int flags) - __attribute__ ((weak,alias("__libc_recvmsg"))) ; diff --git a/mdk-stage1/dietlibc/lib/remove.c b/mdk-stage1/dietlibc/lib/remove.c deleted file mode 100644 index 06f686356..000000000 --- a/mdk-stage1/dietlibc/lib/remove.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> -#include "dietfeatures.h" -#include <stdio.h> - -int remove(const char* filename) { -  if (unlink(filename)) { -    if (errno==EISDIR) -      return rmdir(filename); -    return -1; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/rewind.c b/mdk-stage1/dietlibc/lib/rewind.c deleted file mode 100644 index 48434a316..000000000 --- a/mdk-stage1/dietlibc/lib/rewind.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -void rewind( FILE *stream) { -  fseek(stream, 0L, SEEK_SET); -} diff --git a/mdk-stage1/dietlibc/lib/rewinddir.c b/mdk-stage1/dietlibc/lib/rewinddir.c deleted file mode 100644 index addc7bde9..000000000 --- a/mdk-stage1/dietlibc/lib/rewinddir.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "dietdirent.h" -#include <unistd.h> -#include <dirent.h> - -void rewinddir(DIR *d) { -  if (lseek(d->fd,0,SEEK_SET) != (off_t)-1) -    d->num=d->cur=0; -} diff --git a/mdk-stage1/dietlibc/lib/sbrk.c b/mdk-stage1/dietlibc/lib/sbrk.c deleted file mode 100644 index 799ce7428..000000000 --- a/mdk-stage1/dietlibc/lib/sbrk.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <unistd.h> - -extern int __libc_brk(void *end_data_segment); - -extern void* __curbrk; - -void* __libc_sbrk(ptrdiff_t increment); -void* __libc_sbrk(ptrdiff_t increment) { -  void* oldbrk; -  if (__curbrk==0) -    if (__libc_brk(0) < 0) -      return (void*)-1; -  if (increment==0) -    return __curbrk; -  oldbrk=__curbrk; -  if (__libc_brk((char*)oldbrk+increment)<0) -    return (void*)-1; -  return oldbrk; -} - -void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__libc_sbrk"))); diff --git a/mdk-stage1/dietlibc/lib/seekdir.c b/mdk-stage1/dietlibc/lib/seekdir.c deleted file mode 100644 index cf111fbc8..000000000 --- a/mdk-stage1/dietlibc/lib/seekdir.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "dietdirent.h" -#include <unistd.h> -#include <dirent.h> - -void seekdir(DIR *d,off_t offset) { -  if (lseek(d->fd,offset,SEEK_SET) != (off_t)-1) -    d->num=d->cur=0; -} diff --git a/mdk-stage1/dietlibc/lib/semctl.c b/mdk-stage1/dietlibc/lib/semctl.c deleted file mode 100644 index cec0b7535..000000000 --- a/mdk-stage1/dietlibc/lib/semctl.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> - -extern int __ipc(int,int,int,int,void*); - -union semun { -  int val;			/* value for SETVAL */ -  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */ -  unsigned short *array;		/* array for GETALL & SETALL */ -  struct seminfo *__buf;		/* buffer for IPC_INFO */ -  void *__pad; -}; - -int semctl(int semid, int semnum, int cmd, union semun arg); -int semctl(int semid, int semnum, int cmd, union semun arg) { -  return __ipc(SEMCTL,semid,semnum,cmd,&arg); -} diff --git a/mdk-stage1/dietlibc/lib/semget.c b/mdk-stage1/dietlibc/lib/semget.c deleted file mode 100644 index c3649eea1..000000000 --- a/mdk-stage1/dietlibc/lib/semget.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/sem.h> - -extern int __ipc(int,key_t,int,int,int); - -int semget(key_t key, int nsems, int semflg) { -  return __ipc(SEMGET,key,nsems,semflg,0); -} diff --git a/mdk-stage1/dietlibc/lib/semop.c b/mdk-stage1/dietlibc/lib/semop.c deleted file mode 100644 index 4d2e748cc..000000000 --- a/mdk-stage1/dietlibc/lib/semop.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/sem.h> - -extern int __ipc(int,int,unsigned,int,void*); - -int semop(int semid,struct sembuf *sops,unsigned nsops) { -  return __ipc(SEMOP,semid,nsops,0,sops); -} diff --git a/mdk-stage1/dietlibc/lib/send.c b/mdk-stage1/dietlibc/lib/send.c deleted file mode 100644 index 783ecaf89..000000000 --- a/mdk-stage1/dietlibc/lib/send.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_send(int a, const void * b, size_t c, int flags); -int __libc_send(int a, const void * b, size_t c, int flags) { -  unsigned long args[] = { a, (long) b, c, flags }; -  return socketcall(SYS_SEND, args); -} - -int send(int a, const void * b, size_t c, int flags) -  __attribute__ ((weak, alias("__libc_send"))); diff --git a/mdk-stage1/dietlibc/lib/sendmsg.c b/mdk-stage1/dietlibc/lib/sendmsg.c deleted file mode 100644 index bb5d1711a..000000000 --- a/mdk-stage1/dietlibc/lib/sendmsg.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/socket.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_sendmsg(int a, const struct msghdr* msg, int flags); -int __libc_sendmsg(int a, const struct msghdr* msg, int flags) { -  unsigned long args[] = { a, (long) msg, flags }; -  return socketcall(SYS_SENDMSG, args); -} - -int sendmsg(int a, const struct msghdr *msg, int flags) - __attribute__ ((weak,alias("__libc_sendmsg"))) ; diff --git a/mdk-stage1/dietlibc/lib/sendto.c b/mdk-stage1/dietlibc/lib/sendto.c deleted file mode 100644 index d3239932b..000000000 --- a/mdk-stage1/dietlibc/lib/sendto.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/socket.h> -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen); -int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen) { -  unsigned long args[] = { a, (long) b, c, flags, (long) to, tolen }; -  return socketcall(SYS_SENDTO, args); -} - -int sendto(int a, const void * b, size_t c, int flags, const struct sockaddr* to, socklen_t tolen) -  __attribute__ ((weak, alias("__libc_sendto"))); diff --git a/mdk-stage1/dietlibc/lib/setlinebuf.c b/mdk-stage1/dietlibc/lib/setlinebuf.c deleted file mode 100644 index 1f30e183a..000000000 --- a/mdk-stage1/dietlibc/lib/setlinebuf.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include "dietwarning.h" -#undef setlinebuf - -/* there is no previous prototype because it is a #define */ -void setlinebuf(FILE* stream); - -void setlinebuf(FILE* stream) { -  setvbuf(stream,0,_IOLBF,BUFSIZ); -} - -link_warning("setlinebuf","warning: you used setlinebuf without including <stdio.h>") diff --git a/mdk-stage1/dietlibc/lib/setpgrp.c b/mdk-stage1/dietlibc/lib/setpgrp.c deleted file mode 100644 index 825ca3725..000000000 --- a/mdk-stage1/dietlibc/lib/setpgrp.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <unistd.h> - -int setpgrp() -{ -  return setpgid(0,0); -} diff --git a/mdk-stage1/dietlibc/lib/setsockopt.c b/mdk-stage1/dietlibc/lib/setsockopt.c deleted file mode 100644 index e4bab349f..000000000 --- a/mdk-stage1/dietlibc/lib/setsockopt.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_setsockopt(int a, int b, int c, void *d, void *e); -int __libc_setsockopt(int a, int b, int c, void *d, void *e) { -  unsigned long args[] = { a, b, c, (long)d, (long) e }; -  return socketcall(SYS_SETSOCKOPT, args); -} - -int setsockopt(int s, int level, int optname, const void* optval, socklen_t optlen) __attribute__((weak,alias("__libc_setsockopt"))); diff --git a/mdk-stage1/dietlibc/lib/shmat.c b/mdk-stage1/dietlibc/lib/shmat.c deleted file mode 100644 index d4b34c120..000000000 --- a/mdk-stage1/dietlibc/lib/shmat.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> - -extern void* __ipc(int,int,int,void*,const void*); - -void* shmat(int shmid,const void* shmaddr,int shmflg) { -  void* raddr; -  register void* result; -  result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr); -  if ((unsigned long)result <= -(unsigned long)8196) -    result=raddr; -  return result; -} diff --git a/mdk-stage1/dietlibc/lib/shmctl.c b/mdk-stage1/dietlibc/lib/shmctl.c deleted file mode 100644 index 92b9d1fbb..000000000 --- a/mdk-stage1/dietlibc/lib/shmctl.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> - -extern int __ipc(int,int,int,int,void*); - -int shmctl(int shmid, int cmd, struct shmid_ds *buf) { -  return __ipc(SHMCTL,shmid,cmd,0,buf); -} diff --git a/mdk-stage1/dietlibc/lib/shmdt.c b/mdk-stage1/dietlibc/lib/shmdt.c deleted file mode 100644 index 54dc6f41b..000000000 --- a/mdk-stage1/dietlibc/lib/shmdt.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> - -extern int __ipc(int,int,int,int,const void*); - -int shmdt(const void* shmaddr) { -  return __ipc(SHMDT,0,0,0,shmaddr); -} diff --git a/mdk-stage1/dietlibc/lib/shmget.c b/mdk-stage1/dietlibc/lib/shmget.c deleted file mode 100644 index bf1dc2030..000000000 --- a/mdk-stage1/dietlibc/lib/shmget.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> - -extern int __ipc(int,key_t,int,int,int); - -int shmget(key_t key, int size, int shmflg) { -  return __ipc(SHMGET,key,size,shmflg,0); -} diff --git a/mdk-stage1/dietlibc/lib/shutdown.c b/mdk-stage1/dietlibc/lib/shutdown.c deleted file mode 100644 index 0e7b8755c..000000000 --- a/mdk-stage1/dietlibc/lib/shutdown.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> -#include <sys/socket.h> - -extern int socketcall(int callno,long* args); - -int __libc_shutdown(int s, int how); -int __libc_shutdown(int s, int how) { -  unsigned long args[] = { s, (long) how, 0 }; -  return socketcall(SYS_SHUTDOWN, args); -} - -int shutdown(int s, int how) __attribute__((weak,alias("__libc_shutdown"))); diff --git a/mdk-stage1/dietlibc/lib/sigaction.c b/mdk-stage1/dietlibc/lib/sigaction.c deleted file mode 100644 index fe1351f0f..000000000 --- a/mdk-stage1/dietlibc/lib/sigaction.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <signal.h> - -int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr); - -int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); -int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) { -  return __rt_sigaction(signum, act, oldact, _NSIG/8); -} - -int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) -__attribute__((weak,alias("__libc_sigaction"))); diff --git a/mdk-stage1/dietlibc/lib/sigaddset.c b/mdk-stage1/dietlibc/lib/sigaddset.c deleted file mode 100644 index 1c2632e67..000000000 --- a/mdk-stage1/dietlibc/lib/sigaddset.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <signal.h> -#include <errno.h> - -#define __sigmask(sig)		( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) ) -#define __sigword(sig)		( ((sig)-1) / (8*sizeof(unsigned long)) ) - -int sigaddset(sigset_t *set, int signo) { -  if ((signo<1)||(signo>SIGRTMAX)) { -    (*__errno_location())=EINVAL; -    return -1; -  } else { -    unsigned long __mask = __sigmask (signo); -    unsigned long __word = __sigword (signo); -    set->sig[__word]|=__mask; -    return 0; -  } -} diff --git a/mdk-stage1/dietlibc/lib/sigdelset.c b/mdk-stage1/dietlibc/lib/sigdelset.c deleted file mode 100644 index 0c47ce348..000000000 --- a/mdk-stage1/dietlibc/lib/sigdelset.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <signal.h> -#include <errno.h> - -#define __sigmask(sig)		( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) ) -#define __sigword(sig)		( ((sig)-1) / (8*sizeof(unsigned long)) ) - -int sigdelset(sigset_t *set, int signo) { -  if ((signo<1)||(signo>SIGRTMAX)) { -    (*__errno_location())=EINVAL; -    return -1; -  } else { -    unsigned long __mask = __sigmask (signo); -    unsigned long __word = __sigword (signo); -    set->sig[__word]&=~__mask; -    return 0; -  } -} diff --git a/mdk-stage1/dietlibc/lib/sigemptyset.c b/mdk-stage1/dietlibc/lib/sigemptyset.c deleted file mode 100644 index 4efee2550..000000000 --- a/mdk-stage1/dietlibc/lib/sigemptyset.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <signal.h> - -int sigemptyset(sigset_t *set) { -  set->sig[0]=0; -  if (_NSIG_WORDS>1) set->sig[1]=0; -  if (_NSIG_WORDS>2) { -    set->sig[2]=0; -    set->sig[3]=0; -  } -  return 0; -} - diff --git a/mdk-stage1/dietlibc/lib/sigfillset.c b/mdk-stage1/dietlibc/lib/sigfillset.c deleted file mode 100644 index b4e369fe4..000000000 --- a/mdk-stage1/dietlibc/lib/sigfillset.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <signal.h> - -int sigfillset(sigset_t *set) { -  set->sig[0]=(unsigned long)-1; -  if (_NSIG_WORDS>1) set->sig[1]=(unsigned long)-1; -  if (_NSIG_WORDS>2) { -    set->sig[2]=(unsigned long)-1; -    set->sig[3]=(unsigned long)-1; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/siginterrupt.c b/mdk-stage1/dietlibc/lib/siginterrupt.c deleted file mode 100644 index 8926f09ed..000000000 --- a/mdk-stage1/dietlibc/lib/siginterrupt.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <signal.h> - -int siginterrupt(int sig, int flag) { -  int ret; -  struct sigaction act; - -  sigaction(sig, 0, &act); - -  if (flag) -    act.sa_flags &= ~SA_RESTART; -  else -    act.sa_flags |= SA_RESTART; - -  ret = sigaction(sig, &act, 0); - -  return ret; -} diff --git a/mdk-stage1/dietlibc/lib/sigismember.c b/mdk-stage1/dietlibc/lib/sigismember.c deleted file mode 100644 index 8ffe9762a..000000000 --- a/mdk-stage1/dietlibc/lib/sigismember.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <signal.h> -#include <errno.h> - -#define __sigmask(sig)		( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) ) -#define __sigword(sig)		( ((sig)-1) / (8*sizeof(unsigned long)) ) - -int sigismember(const sigset_t *set, int signo) { -  if ((signo<1)||(signo>SIGRTMAX)) { -    (*__errno_location())=EINVAL; -    return -1; -  } else { -    unsigned long __mask = __sigmask (signo); -    unsigned long __word = __sigword (signo); -    return (set->sig[__word] & __mask)?1:0; -  } -} diff --git a/mdk-stage1/dietlibc/lib/sigjmp.c b/mdk-stage1/dietlibc/lib/sigjmp.c deleted file mode 100644 index 73c8baa8e..000000000 --- a/mdk-stage1/dietlibc/lib/sigjmp.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <setjmp.h> -#include <signal.h> - -int __sigjmp_save(sigjmp_buf env,int savemask); -int __sigjmp_save(sigjmp_buf env,int savemask) { -  if (savemask) { -    env[0].__mask_was_saved=(sigprocmask(SIG_BLOCK,(sigset_t*)0,(sigset_t*)&env[0].__saved_mask)==0); -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/signal.c b/mdk-stage1/dietlibc/lib/signal.c deleted file mode 100644 index 51441558e..000000000 --- a/mdk-stage1/dietlibc/lib/signal.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <signal.h> - -sighandler_t signal(int signum, sighandler_t action) { -  struct sigaction sa,oa; -  sa.sa_handler=action; -  sigemptyset(&sa.sa_mask); -  sigaddset(&sa.sa_mask,signum); -  sa.sa_flags=SA_NODEFER; -  if (sigaction(signum,&sa,&oa)) -    return SIG_ERR; -  return oa.sa_handler; -} diff --git a/mdk-stage1/dietlibc/lib/sigpending.c b/mdk-stage1/dietlibc/lib/sigpending.c deleted file mode 100644 index 62a4761c6..000000000 --- a/mdk-stage1/dietlibc/lib/sigpending.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigpending(sigset_t *set, long nr); - -int sigpending(sigset_t *set) { -  return __rt_sigpending(set, _NSIG/8); -} diff --git a/mdk-stage1/dietlibc/lib/sigprocmask.c b/mdk-stage1/dietlibc/lib/sigprocmask.c deleted file mode 100644 index 6d770c3d3..000000000 --- a/mdk-stage1/dietlibc/lib/sigprocmask.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigprocmask(int how, const sigset_t *set, sigset_t *oldsetm, long nr); - -int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) { -  return __rt_sigprocmask(how, set, oldset, _NSIG/8); -} diff --git a/mdk-stage1/dietlibc/lib/sigqueueinfo.c b/mdk-stage1/dietlibc/lib/sigqueueinfo.c deleted file mode 100644 index adb7349f4..000000000 --- a/mdk-stage1/dietlibc/lib/sigqueueinfo.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigqueueinfo(int pid, int sig, siginfo_t *info); - -int sigqueueinfo(int pid, int sig, siginfo_t *info) { -  return __rt_sigqueueinfo(pid, sig, info); -} diff --git a/mdk-stage1/dietlibc/lib/sigsuspend.c b/mdk-stage1/dietlibc/lib/sigsuspend.c deleted file mode 100644 index a020789e9..000000000 --- a/mdk-stage1/dietlibc/lib/sigsuspend.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <signal.h> - -int __rt_sigsuspend(const sigset_t *mask, long nr); - -int __libc_sigsuspend(const sigset_t *mask); -int __libc_sigsuspend(const sigset_t *mask) { -  return __rt_sigsuspend(mask, _NSIG/8); -} - -int sigsuspend(const sigset_t *mask) __attribute__((weak,alias("__libc_sigsuspend"))); diff --git a/mdk-stage1/dietlibc/lib/sigtimedwait.c b/mdk-stage1/dietlibc/lib/sigtimedwait.c deleted file mode 100644 index 864e433c3..000000000 --- a/mdk-stage1/dietlibc/lib/sigtimedwait.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts, long nr); - -int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts) { -  return __rt_sigtimedwait(set,info,ts,_NSIG/8); -} diff --git a/mdk-stage1/dietlibc/lib/sleep.c b/mdk-stage1/dietlibc/lib/sleep.c deleted file mode 100644 index 45c51f1b6..000000000 --- a/mdk-stage1/dietlibc/lib/sleep.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <unistd.h> -#include <time.h> - -unsigned int sleep(unsigned int secs) { -  struct timespec t; -  t.tv_sec=secs; -  t.tv_nsec=0; -  nanosleep(&t,&t); -  return secs-t.tv_sec; -} - diff --git a/mdk-stage1/dietlibc/lib/snprintf.c b/mdk-stage1/dietlibc/lib/snprintf.c deleted file mode 100644 index 141b4ec13..000000000 --- a/mdk-stage1/dietlibc/lib/snprintf.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdio.h> - -int snprintf(char *str,size_t size,const char *format,...) -{ -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vsnprintf(str,size,format,arg_ptr); -  va_end (arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/lib/socket.c b/mdk-stage1/dietlibc/lib/socket.c deleted file mode 100644 index c18df5123..000000000 --- a/mdk-stage1/dietlibc/lib/socket.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_socket(int a, int b, int c); -int __libc_socket(int a, int b, int c) { -  unsigned long args[] = { a, b, c }; -  return socketcall(SYS_SOCKET, args); -} - -int socket(int a,int b,int c) __attribute__((weak,alias("__libc_socket"))); diff --git a/mdk-stage1/dietlibc/lib/socketpair.c b/mdk-stage1/dietlibc/lib/socketpair.c deleted file mode 100644 index e6f1fd822..000000000 --- a/mdk-stage1/dietlibc/lib/socketpair.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <linuxnet.h> - -extern int socketcall(int callno,long* args); - -int __libc_socketpair(int a, int type, int protocol, int sv[2]); -int __libc_socketpair(int a, int type, int protocol, int sv[2]) { -  unsigned long args[] = { a, type, protocol, (long)sv }; -  return socketcall(SYS_SOCKETPAIR, args); -} - -int socketpair(int d, int type, int protocol, int sv[2]) -  __attribute__((weak,alias("__libc_socketpair"))); diff --git a/mdk-stage1/dietlibc/lib/sprintf.c b/mdk-stage1/dietlibc/lib/sprintf.c deleted file mode 100644 index 37fd831d9..000000000 --- a/mdk-stage1/dietlibc/lib/sprintf.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include <stdio.h> - -int sprintf(char *dest,const char *format,...) -{ -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vsprintf(dest,format,arg_ptr); -  va_end (arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/lib/sscanf.c b/mdk-stage1/dietlibc/lib/sscanf.c deleted file mode 100644 index e608878ef..000000000 --- a/mdk-stage1/dietlibc/lib/sscanf.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdarg.h> -#include <stdio.h> - -int sscanf(const char *str, const char *format, ...) -{ -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vsscanf(str,format,arg_ptr); -  va_end (arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/lib/strcasecmp.c b/mdk-stage1/dietlibc/lib/strcasecmp.c deleted file mode 100644 index cf1592567..000000000 --- a/mdk-stage1/dietlibc/lib/strcasecmp.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <strings.h> - -int  strcasecmp ( const char* s1, const char* s2 ) -{ -    register unsigned int  x2; -    register unsigned int  x1; - -    while (1) { -        x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32; -        x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32; -        if ( x2 != x1 ) -            break; -        if ( x1 == (unsigned int)-'A' ) -            break; -    } - -    return x1 - x2; -} diff --git a/mdk-stage1/dietlibc/lib/strcat.c b/mdk-stage1/dietlibc/lib/strcat.c deleted file mode 100644 index 8a755afea..000000000 --- a/mdk-stage1/dietlibc/lib/strcat.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "dietfeatures.h" -#include <string.h> - -char* strcat(register char* s,register const char* t) -{ -  char *dest=s; -  s+=strlen(s); -  for (;;) { -    if (!(*s = *t)) break; ++s; ++t; -#ifndef WANT_SMALL_STRING_ROUTINES -    if (!(*s = *t)) break; ++s; ++t; -    if (!(*s = *t)) break; ++s; ++t; -    if (!(*s = *t)) break; ++s; ++t; -#endif -  } -  return dest; -} - diff --git a/mdk-stage1/dietlibc/lib/strchr.c b/mdk-stage1/dietlibc/lib/strchr.c deleted file mode 100644 index 3a4c9b5b4..000000000 --- a/mdk-stage1/dietlibc/lib/strchr.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "dietfeatures.h" -#include <string.h> - -char *strchr(register const char *t, int c) { -  register char ch; - -  ch = c; -  for (;;) { -    if (*t == ch) break; if (!*t) return 0; ++t; -#ifndef WANT_SMALL_STRING_ROUTINES -    if (*t == ch) break; if (!*t) return 0; ++t; -    if (*t == ch) break; if (!*t) return 0; ++t; -    if (*t == ch) break; if (!*t) return 0; ++t; -#endif -  } -  return (char*)t; -} - -char *index(char *t,int c)	__attribute__((weak,alias("strchr"))); diff --git a/mdk-stage1/dietlibc/lib/strcmp.c b/mdk-stage1/dietlibc/lib/strcmp.c deleted file mode 100644 index 3892379e5..000000000 --- a/mdk-stage1/dietlibc/lib/strcmp.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "dietfeatures.h" - -int strcmp(register const char *s,register const char *t) { -  register char x; - -  for (;;) { -    x = *s; if (x != *t) break; if (!x) break; ++s; ++t; -#ifndef WANT_SMALL_STRING_ROUTINES -    x = *s; if (x != *t) break; if (!x) break; ++s; ++t; -    x = *s; if (x != *t) break; if (!x) break; ++s; ++t; -    x = *s; if (x != *t) break; if (!x) break; ++s; ++t; -#endif -  } -  return ((int)(unsigned int)(unsigned char) x) -       - ((int)(unsigned int)(unsigned char) *t); -} - -int strcoll(const char *s,const char* t)	__attribute__((weak,alias("strcmp"))); diff --git a/mdk-stage1/dietlibc/lib/strcpy.c b/mdk-stage1/dietlibc/lib/strcpy.c deleted file mode 100644 index 444054e71..000000000 --- a/mdk-stage1/dietlibc/lib/strcpy.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "dietfeatures.h" - -char* strcpy(register char* s,register const char* t) -{ -  char *dest=s; -#ifndef WANT_SMALL_STRING_ROUTINES -  for (;;) { -    if (!(*s = *t)) return dest; ++s; ++t; -    if (!(*s = *t)) return dest; ++s; ++t; -    if (!(*s = *t)) return dest; ++s; ++t; -    if (!(*s = *t)) return dest; ++s; ++t; -  } -#else -  while ((*dest++=*t++)); -  return s; -#endif -} - diff --git a/mdk-stage1/dietlibc/lib/strcspn.c b/mdk-stage1/dietlibc/lib/strcspn.c deleted file mode 100644 index 37053c72c..000000000 --- a/mdk-stage1/dietlibc/lib/strcspn.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -size_t strcspn(const char *s, const char *reject) -{ -  size_t l=0; -  int a=1,i,al=strlen(reject); - -  while((a)&&(*s)) -  { -    for(i=0;(a)&&(i<al);i++) -      if (*s==reject[i]) a=0; -    if (a) l++; -    s++; -  } -  return l; -} diff --git a/mdk-stage1/dietlibc/lib/strdup.c b/mdk-stage1/dietlibc/lib/strdup.c deleted file mode 100644 index 6a2ea5f95..000000000 --- a/mdk-stage1/dietlibc/lib/strdup.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <string.h> -#include <stdlib.h> - -char *strdup(const char *s) { -  char *tmp=(char *)malloc(strlen(s)+1); -  if (!tmp) return 0; -  strcpy(tmp,s); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/lib/strerror.c b/mdk-stage1/dietlibc/lib/strerror.c deleted file mode 100644 index 7cb79d988..000000000 --- a/mdk-stage1/dietlibc/lib/strerror.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "dietfeatures.h" -#include <unistd.h> -#include <string.h> - -#define _BSD_SOURCE -#include <errno.h> - -extern const char __sys_err_unknown[]; - -char*strerror(int errnum) { -  register const char*message=__sys_err_unknown; - -    if ( (unsigned int)errnum < (unsigned int)__SYS_NERR ) -    message=sys_errlist[errnum]; -#if defined(__mips__) -  if ( errnum == 1133 ) -    message="Quota exceeded"; -#endif -    return (char*)message; -} diff --git a/mdk-stage1/dietlibc/lib/strlcat.c b/mdk-stage1/dietlibc/lib/strlcat.c deleted file mode 100644 index fd35ec8af..000000000 --- a/mdk-stage1/dietlibc/lib/strlcat.c +++ /dev/null @@ -1,72 +0,0 @@ -/*	$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $	*/ - -/* - * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <string.h> - -/* - * Appends src to string dst of size siz (unlike strncat, siz is the - * full size of dst, not space left).  At most siz-1 characters - * will be copied.  Always NUL terminates (unless siz == 0). - * Returns strlen(initial dst) + strlen(src); if retval >= siz, - * truncation occurred. - */ -size_t strlcat(dst, src, siz) -	char *dst; -	const char *src; -	size_t siz; -{ -	register char *d = dst; -	register const char *s = src; -	register size_t n = siz; -	size_t dlen; - -	/* Find the end of dst and adjust bytes left but don't go past end */ -	while (*d != '\0' && n-- != 0) -		d++; -	dlen = d - dst; -	n = siz - dlen; - -	if (n == 0) -		return(dlen + strlen(s)); -	while (*s != '\0') { -		if (n != 1) { -			*d++ = *s; -			n--; -		} -		s++; -	} -	*d = '\0'; - -	return(dlen + (s - src));	/* count does not include NUL */ -} diff --git a/mdk-stage1/dietlibc/lib/strlcpy.3 b/mdk-stage1/dietlibc/lib/strlcpy.3 deleted file mode 100644 index e00af8d6b..000000000 --- a/mdk-stage1/dietlibc/lib/strlcpy.3 +++ /dev/null @@ -1,169 +0,0 @@ -.\" $OpenBSD: strlcpy.3,v 1.10 2000/11/06 01:03:25 aaron Exp $ -.\" -.\" Copyright (c) 1998, 2000 Todd C. Miller <Todd.Miller@courtesan.com> -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\"    derived from this software without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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. -.\" -.Dd June 22, 1998 -.Dt STRLCPY 3 -.Os -.Sh NAME -.Nm strlcpy , -.Nm strlcat -.Nd size-bounded string copying and concatenation -.Sh SYNOPSIS -.Fd #include <string.h> -.Ft size_t -.Fn strlcpy "char *dst" "const char *src" "size_t size" -.Ft size_t -.Fn strlcat "char *dst" "const char *src" "size_t size" -.Sh DESCRIPTION -The -.Fn strlcpy -and -.Fn strlcat -functions copy and concatenate strings respectively. -They are designed -to be safer, more consistent, and less error prone replacements for -.Xr strncpy 3 -and -.Xr strncat 3 . -Unlike those functions, -.Fn strlcpy -and -.Fn strlcat -take the full size of the buffer (not just the length) and guarantee to -NUL-terminate the result (as long as -.Fa size -is larger than 0 or, in the case of -.Fn strlcat , -as long as there is at least one byte free in -.Fa dst ) . -Note that you should include a byte for the NUL in -.Fa size . -Also note that -.Fn strlcpy   -and -.Fn strlcat -only operate on true -.Dq C -strings. -This means that for -.Fn strlcpy -.Fa src -must be NUL-terminated and for -.Fn strlcat -both -.Fa src -and -.Fa dst -must be NUL-terminated. -.Pp -The -.Fn strlcpy -function copies up to -.Fa size -- 1 characters from the NUL-terminated string -.Fa src -to -.Fa dst , -NUL-terminating the result. -.Pp -The -.Fn strlcat -function appends the NUL-terminated string -.Fa src -to the end of -.Fa dst . -It will append at most -.Fa size -- strlen(dst) - 1 bytes, NUL-terminating the result. -.Sh RETURN VALUES -The -.Fn strlcpy -and -.Fn strlcat -functions return the total length of the string they tried to create. -For -.Fn strlcpy -that means the length of -.Fa src . -For -.Fn strlcat -that means the initial length of -.Fa dst -plus -the length of -.Fa src . -While this may seem somewhat confusing it was done to make -truncation detection simple. -.Sh EXAMPLES -The following code fragment illustrates the simple case: -.Bd -literal -offset indent -char *s, *p, buf[BUFSIZ]; - -\&... - -(void)strlcpy(buf, s, sizeof(buf)); -(void)strlcat(buf, p, sizeof(buf)); -.Ed -.Pp -To detect truncation, perhaps while building a pathname, something -like the following might be used: -.Bd -literal -offset indent -char *dir, *file, pname[MAXPATHLEN]; - -\&... - -if (strlcpy(pname, dir, sizeof(pname)) >= sizeof(pname)) -	goto toolong; -if (strlcat(pname, file, sizeof(pname)) >= sizeof(pname)) -	goto toolong; -.Ed -.Pp -Since we know how many characters we copied the first time, we can -speed things up a bit by using a copy instead of an append: -.Bd -literal -offset indent -char *dir, *file, pname[MAXPATHLEN]; -size_t n; - -\&... - -n = strlcpy(pname, dir, sizeof(pname)); -if (n >= sizeof(pname)) -	goto toolong; -if (strlcpy(pname + n, file, sizeof(pname) - n) >= sizeof(pname) - n) -	goto toolong; -.Ed -.Pp -However, one may question the validity of such optimizations, as they -defeat the whole purpose of -.Fn strlcpy -and -.Fn strlcat . -As a matter of fact, the first version of this manual page got it wrong. -.Sh SEE ALSO -.Xr snprintf 3 , -.Xr strncat 3 , -.Xr strncpy 3 diff --git a/mdk-stage1/dietlibc/lib/strlcpy.c b/mdk-stage1/dietlibc/lib/strlcpy.c deleted file mode 100644 index b935b9527..000000000 --- a/mdk-stage1/dietlibc/lib/strlcpy.c +++ /dev/null @@ -1,68 +0,0 @@ -/*	$OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $	*/ - -/* - * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <string.h> - -/* - * Copy src to string dst of size siz.  At most siz-1 characters - * will be copied.  Always NUL terminates (unless siz == 0). - * Returns strlen(src); if retval >= siz, truncation occurred. - */ -size_t strlcpy(dst, src, siz) -	char *dst; -	const char *src; -	size_t siz; -{ -	register char *d = dst; -	register const char *s = src; -	register size_t n = siz; - -	/* Copy as many bytes as will fit */ -	if (n != 0 && --n != 0) { -		do { -			if ((*d++ = *s++) == 0) -				break; -		} while (--n != 0); -	} - -	/* Not enough room in dst, add NUL and traverse rest of src */ -	if (n == 0) { -		if (siz != 0) -			*d = '\0';		/* NUL-terminate dst */ -		while (*s++) -			; -	} - -	return(s - src - 1);	/* count does not include NUL */ -} diff --git a/mdk-stage1/dietlibc/lib/strlen.c b/mdk-stage1/dietlibc/lib/strlen.c deleted file mode 100644 index 96da5a540..000000000 --- a/mdk-stage1/dietlibc/lib/strlen.c +++ /dev/null @@ -1,47 +0,0 @@ -#include <endian.h> -#include "dietfeatures.h" -#include <string.h> - -#ifdef WANT_SMALL_STRING_ROUTINES -size_t strlen(const char *s) { -  register size_t i; -  if (!s) return 0; -  for (i=0; *s; ++s) ++i; -  return i; -} -#else -static const unsigned long magic = 0x01010101; - -size_t strlen(const char *s) -{ -  const char *t = s; -  unsigned long word; - -  if (!s) return 0; - -  /* Byte compare up until word boundary */ -  for (; ((unsigned long) t & 3); t++) -    if (!*t) return t - s; - -  /* Word compare */ -  do { -    word = *((unsigned long *) t); t += 4; -    word = (word - magic) &~ word; -    word &= (magic << 7); -  } while (word == 0); - -#if BYTE_ORDER == LITTLE_ENDIAN -  /* word & 0x80808080 == word */ -  word = (word - 1) & (magic << 10); -  word += (word << 8) + (word << 16); -  t += word >> 26; -#else -  if ((word & 0x80800000) == 0) { -    word <<= 16; -    t += 2; -  } -  if ((word & 0x80000000) == 0) t += 1; -#endif -  return ((const char *) t) - 4 - s; -} -#endif diff --git a/mdk-stage1/dietlibc/lib/strncasecmp.c b/mdk-stage1/dietlibc/lib/strncasecmp.c deleted file mode 100644 index 543fe56ba..000000000 --- a/mdk-stage1/dietlibc/lib/strncasecmp.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <sys/types.h> -#include <strings.h> - -int  strncasecmp ( const char* s1, const char* s2, size_t len ) -{ -    register unsigned int  x2; -    register unsigned int  x1; -    register const char*   end = s1 + len; - -    while (1) { -        if ( s1 >= end ) -            return 0; -        x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32; -        x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32; -        if ( x2 != x1 ) -            break; -        if ( x1 == (unsigned int)-'A' ) -            break; -    } - -    return x1 - x2; -} diff --git a/mdk-stage1/dietlibc/lib/strncat.c b/mdk-stage1/dietlibc/lib/strncat.c deleted file mode 100644 index 9802d5678..000000000 --- a/mdk-stage1/dietlibc/lib/strncat.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "dietfeatures.h" -#include <string.h> - -#ifdef WANT_NON_COMPLIANT_STRNCAT -/* this implementation is not standards compliant. - * the standard says that strncat(dest,"foobar",3) should write 'f', 'o' - * and 'o'.  The programmer is then expected to overwrite the last byte - * with '\0', which is often forgotten.  This implementation makes sure - * the last written bytes is always '\0'. */ -#endif - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -char *strncat(char *s, const char *t, size_t n) { -  char *dest=s; -  register char *max; -  s+=strlen(s); -#ifdef WANT_NON_COMPLIANT_STRNCAT -  if ((max=s+n-1)<=s) goto fini; -#else -  if ((max=s+n)==s) goto fini; -#endif -  for (;;) { -    if (!(*s = *t)) break; if (++s==max) break; ++t; -#ifndef WANT_SMALL_STRING_ROUTINES -    if (!(*s = *t)) break; if (++s==max) break; ++t; -    if (!(*s = *t)) break; if (++s==max) break; ++t; -    if (!(*s = *t)) break; if (++s==max) break; ++t; -#endif -  } -  *s=0; -fini: -  return dest; -} diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c deleted file mode 100644 index b3b56cfbb..000000000 --- a/mdk-stage1/dietlibc/lib/strncmp.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -int strncmp(const char *s1, const char *s2, size_t n) { -  register const char* a=s1; -  register const char* b=s2; -  register const char* fini=a+n; -  while (a<fini) { -    register int res=*a-*b; -    if (res) return res; -    if (!*a) return 0; -    ++a; ++b; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/strncpy.c b/mdk-stage1/dietlibc/lib/strncpy.c deleted file mode 100644 index 31b682a1e..000000000 --- a/mdk-stage1/dietlibc/lib/strncpy.c +++ /dev/null @@ -1,15 +0,0 @@ -#define _POSIX_SOURCE -#define _XOPEN_SOURCE -#include <sys/types.h> -#include <string.h> -#include "dietfeatures.h" - -/* gcc is broken and has a non-SUSv2 compliant internal prototype. - * This causes it to warn about a type mismatch here.  Ignore it. */ -char *strncpy(char *dest, const char *src, size_t n) { -#ifdef WANT_FULL_POSIX_COMPAT -  memset(dest,0,n); -#endif -  memccpy(dest,src,0,n); -  return dest; -} diff --git a/mdk-stage1/dietlibc/lib/strpbrk.c b/mdk-stage1/dietlibc/lib/strpbrk.c deleted file mode 100644 index e18fd2a2d..000000000 --- a/mdk-stage1/dietlibc/lib/strpbrk.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -char *strpbrk(const char *s, const char *accept) { -  register int i,l=strlen(accept); -  for (; *s; s++) -    for (i=0; i<l; i++) -      if (*s == accept[i]) -	return (char*)s; -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/strrchr.c b/mdk-stage1/dietlibc/lib/strrchr.c deleted file mode 100644 index 1abb655e2..000000000 --- a/mdk-stage1/dietlibc/lib/strrchr.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <string.h> -#include "dietfeatures.h" - -char *strrchr(const char *t, int c) { -  register char ch; -  register const char *l=0; - -  ch = c; -  for (;;) { -    if (*t == ch) l=t; if (!*t) return (char*)l; ++t; -#ifndef WANT_SMALL_STRING_ROUTINES -    if (*t == ch) l=t; if (!*t) return (char*)l; ++t; -    if (*t == ch) l=t; if (!*t) return (char*)l; ++t; -    if (*t == ch) l=t; if (!*t) return (char*)l; ++t; -#endif -  } -  return (char*)l; -} - -char *rindex(const char *t,int c)	__attribute__((weak,alias("strrchr"))); diff --git a/mdk-stage1/dietlibc/lib/strsep.c b/mdk-stage1/dietlibc/lib/strsep.c deleted file mode 100644 index db76f89b5..000000000 --- a/mdk-stage1/dietlibc/lib/strsep.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <string.h> - -char *strsep(char **stringp, const char *delim) { -  register char *tmp=*stringp; -  register char *tmp2=tmp; -  register const char *tmp3; -  if (!*stringp) return 0; -  for (tmp2=tmp; *tmp2; ++tmp2) { -    for (tmp3=delim; *tmp3; ++tmp3) -      if (*tmp2==*tmp3) {	/* delimiter found */ -	*tmp2=0; -	*stringp=tmp2+1; -	return tmp; -      } -  } -  *stringp=0; -  return tmp; -} diff --git a/mdk-stage1/dietlibc/lib/strspn.c b/mdk-stage1/dietlibc/lib/strspn.c deleted file mode 100644 index 2b3a4c116..000000000 --- a/mdk-stage1/dietlibc/lib/strspn.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -size_t strspn(const char *s, const char *accept) -{ -  size_t l=0; -  int a=1,i,al=strlen(accept); - -  while((a)&&(*s)) -  { -    for(a=i=0;(!a)&&(i<al);i++) -      if (*s==accept[i]) a=1; -    if (a) l++; -    s++; -  } -  return l; -} diff --git a/mdk-stage1/dietlibc/lib/strstr.c b/mdk-stage1/dietlibc/lib/strstr.c deleted file mode 100644 index 0632cc28a..000000000 --- a/mdk-stage1/dietlibc/lib/strstr.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <sys/types.h> -#include <string.h> - -char *strstr(const char *haystack, const char *needle) { -  size_t nl=strlen(needle); -  size_t hl=strlen(haystack); -  int i; -  if (!nl) goto found; -  if (nl>hl) return 0; -  for (i=hl-nl+1; i; --i) { -    if (*haystack==*needle && !memcmp(haystack,needle,nl)) -found: -      return (char*)haystack; -    ++haystack; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/lib/strtod.c b/mdk-stage1/dietlibc/lib/strtod.c deleted file mode 100644 index 5d50cc535..000000000 --- a/mdk-stage1/dietlibc/lib/strtod.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <string.h> -#include <stdlib.h> -#include <ctype.h> - -double strtod(const char* s, char** endptr) { -    register const char*  p     = s; -    register long double  value = 0.L; -    int                   sign  = +1; -    long double           factor; -    unsigned int          expo; - -    while ( isspace(*p) ) -        p++; - -    switch (*p) { -    case '-': sign = -1; -    case '+': p++; -    default : break; -    } - -    while ( (unsigned int)(*p - '0') < 10u ) -        value = value*10 + (*p++ - '0'); - -    if ( *p == '.' ) { -        factor = 1.; - -        p++; -        while ( (unsigned int)(*p - '0') < 10u ) { -            factor *= 0.1; -            value  += (*p++ - '0') * factor; -        } -    } - -    if ( (*p | 32) == 'e' ) { -        expo   = 0; -        factor = 10.L; - -        switch (*++p) {                 // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS. -        case '-': factor = 0.1; -        case '+': p++; -                  break; -        case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': -                  break; -        default : value = 0.L; -                  p     = s; -                  goto done; -        } - -        while ( (unsigned int)(*p - '0') < 10u ) -            expo = 10 * expo + (*p++ - '0'); - -        while ( 1 ) { -            if ( expo & 1 ) -                value *= factor; -            if ( (expo >>= 1) == 0 ) -                break; -            factor *= factor; -        } -    } - -done: -    if ( endptr != NULL ) -        *endptr = (char*)p; - -    return value * sign; -} diff --git a/mdk-stage1/dietlibc/lib/strtof.c b/mdk-stage1/dietlibc/lib/strtof.c deleted file mode 100644 index acb081e51..000000000 --- a/mdk-stage1/dietlibc/lib/strtof.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <string.h> -#include <stdlib.h> -#include <ctype.h> - -float strtof(const char* s, char** endptr) { -    register const char*  p     = s; -    register float        value = 0.; -    int                   sign  = +1; -    float                 factor; -    unsigned int          expo; - -    while ( isspace(*p) ) -        p++; - -    switch (*p) { -    case '-': sign = -1; -    case '+': p++; -    default : break; -    } - -    while ( (unsigned int)(*p - '0') < 10u ) -        value = value*10 + (*p++ - '0'); - -    if ( *p == '.' ) { -        factor = 1.; - -        p++; -        while ( (unsigned int)(*p - '0') < 10u ) { -            factor *= 0.1; -            value  += (*p++ - '0') * factor; -        } -    } - -    if ( (*p | 32) == 'e' ) { -        expo   = 0; -        factor = 10.L; - -        switch (*++p) {                 // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS. -        case '-': factor = 0.1; -        case '+': p++; -                  break; -        case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': -                  break; -        default : value = 0.L; -                  p     = s; -                  goto done; -        } - -        while ( (unsigned int)(*p - '0') < 10u ) -            expo = 10 * expo + (*p++ - '0'); - -        while ( 1 ) { -            if ( expo & 1 ) -                value *= factor; -            if ( (expo >>= 1) == 0 ) -                break; -            factor *= factor; -        } -    } - -done: -    if ( endptr != NULL ) -        *endptr = (char*)p; - -    return value * sign; -} diff --git a/mdk-stage1/dietlibc/lib/strtok.c b/mdk-stage1/dietlibc/lib/strtok.c deleted file mode 100644 index e041703e3..000000000 --- a/mdk-stage1/dietlibc/lib/strtok.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <string.h> - -static char *strtok_pos; - -char *strtok(char *s, const char *delim) -{ -  return strtok_r(s,delim,&strtok_pos); -} diff --git a/mdk-stage1/dietlibc/lib/strtok_r.c b/mdk-stage1/dietlibc/lib/strtok_r.c deleted file mode 100644 index 93f9401de..000000000 --- a/mdk-stage1/dietlibc/lib/strtok_r.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <string.h> - -char *strtok_r(char *s, const char *delim, char **ptrptr) -{ -  int i; -  char *tmp=0; - -  if (s) (*ptrptr)=s; - -  if (**ptrptr) -  { -    while(!(i=strcspn(*ptrptr,delim))) (*ptrptr)++; -    if (**ptrptr) -    { -      tmp=(*ptrptr); -      (*ptrptr)+=i; -      if (**ptrptr) *(*ptrptr)++=0; -    } -  } -  return tmp; -} diff --git a/mdk-stage1/dietlibc/lib/strtol.c b/mdk-stage1/dietlibc/lib/strtol.c deleted file mode 100644 index 2624aca0e..000000000 --- a/mdk-stage1/dietlibc/lib/strtol.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <ctype.h> -#include "dietfeatures.h" -#include <errno.h> -#include <limits.h> -#include <stdlib.h> - -#define ABS_LONG_MIN 2147483648UL -long int strtol(const char *nptr, char **endptr, int base) -{ -  int neg=0; -  unsigned long int v; - -  while(isspace(*nptr)) nptr++; - -  if (*nptr == '-') { neg=-1; ++nptr; } -  v=strtoul(nptr,endptr,base); -  if (v>=ABS_LONG_MIN) { -    if (v==ABS_LONG_MIN && neg) { -      errno=0; -      return v; -    } -    errno=ERANGE; -    return (neg?LONG_MIN:LONG_MAX); -  } -  return (neg?-v:v); -} diff --git a/mdk-stage1/dietlibc/lib/strtold.c b/mdk-stage1/dietlibc/lib/strtold.c deleted file mode 100644 index ae5f0fa48..000000000 --- a/mdk-stage1/dietlibc/lib/strtold.c +++ /dev/null @@ -1,66 +0,0 @@ -#include <string.h> -#include <stdlib.h> -#include <ctype.h> - -long double strtold(const char* s, char** endptr) { -    register const char*  p     = s; -    register long double  value = 0.L; -    int                   sign  = +1; -    long double           factor; -    unsigned int          expo; - -    while ( isspace(*p) ) -        p++; - -    switch (*p) { -    case '-': sign = -1; -    case '+': p++; -    default : break; -    } - -    while ( (unsigned int)(*p - '0') < 10u ) -        value = value*10 + (*p++ - '0'); - -    if ( *p == '.' ) { -        factor = 1.; - -        p++; -        while ( (unsigned int)(*p - '0') < 10u ) { -            factor *= 0.1; -            value  += (*p++ - '0') * factor; -        } -    } - -    if ( (*p | 32) == 'e' ) { -        expo   = 0; -        factor = 10.L; - -        switch (*++p) {                 // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS. -        case '-': factor = 0.1; -        case '+': p++; -                  break; -        case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': -                  break; -        default : value = 0.L; -                  p     = s; -                  goto done; -        } - -        while ( (unsigned int)(*p - '0') < 10u ) -            expo = 10 * expo + (*p++ - '0'); - -        while ( 1 ) { -            if ( expo & 1 ) -                value *= factor; -            if ( (expo >>= 1) == 0 ) -                break; -            factor *= factor; -        } -    } - -done: -    if ( endptr != NULL ) -        *endptr = (char*)p; - -    return value * sign; -} diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c deleted file mode 100644 index 9e05e740e..000000000 --- a/mdk-stage1/dietlibc/lib/strtoll.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <ctype.h> -#include <stdlib.h> - -long long int strtoll(const char *nptr, char **endptr, int base) -{ -  int neg=0; -  unsigned long long int v; - -  while(isspace(*nptr)) nptr++; - -  if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; } -  v=strtoull(nptr,endptr,base); -  return (neg?-v:v); -} diff --git a/mdk-stage1/dietlibc/lib/strtoul.c b/mdk-stage1/dietlibc/lib/strtoul.c deleted file mode 100644 index e9c09fb59..000000000 --- a/mdk-stage1/dietlibc/lib/strtoul.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <ctype.h> -#include "dietfeatures.h" -#include <errno.h> -#include <limits.h> -#include <stdlib.h> - -unsigned long int strtoul(const char *nptr, char **endptr, int base) -{ -  int neg = 0; -  unsigned long int v=0; - -  while(isspace(*nptr)) ++nptr; -  if (*nptr == '-') { neg=1; nptr++; } -  if (*nptr == '+') ++nptr; -  if (base==16 && nptr[0]=='0') goto skip0x; -  if (!base) { -    if (*nptr=='0') { -      base=8; -skip0x: -      if (nptr[1]=='x'||nptr[1]=='X') { -	nptr+=2; -	base=16; -      } -    } else -      base=10; -  } -  while(*nptr) { -    register unsigned char c=*nptr; -    c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c<='9'?c-'0':0xff); -    if (c>=base) break; -    { -      register unsigned long int w=v*base; -      if (w<v) { -	errno=ERANGE; -	return ULONG_MAX; -      } -      v=w+c; -    } -    ++nptr; -  } -  if (endptr) *endptr=(char *)nptr; -  errno=0;	/* in case v==ULONG_MAX, ugh! */ -  return (neg?-v:v); -} diff --git a/mdk-stage1/dietlibc/lib/strtoull.c b/mdk-stage1/dietlibc/lib/strtoull.c deleted file mode 100644 index d6073e32a..000000000 --- a/mdk-stage1/dietlibc/lib/strtoull.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <ctype.h> -#include <stdlib.h> - -unsigned long long int strtoull(const char *nptr, char **endptr, int base) -{ -  long long int v=0; - -  while(isspace(*nptr)) ++nptr; - -  if (*nptr == '+') ++nptr; -  if (!base) { -    if (*nptr=='0') { -      base=8; -      if ((*(nptr+1)=='x')||(*(nptr+1)=='X')) { -	nptr+=2; -	base=16; -      } -    } -    else -      base=10; -  } -  while(*nptr) { -    register unsigned char c=*nptr; -    c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c-'0'); -    if (c>=base) break; -    v=v*base+c; -    ++nptr; -  } -  if (endptr) *endptr=(char *)nptr; -  return v; -} diff --git a/mdk-stage1/dietlibc/lib/strxfrm.c b/mdk-stage1/dietlibc/lib/strxfrm.c deleted file mode 100644 index 5075ff0b5..000000000 --- a/mdk-stage1/dietlibc/lib/strxfrm.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <sys/types.h> -#include <string.h> -#include "dietfeatures.h" - -size_t strxfrm(char *dest, const char *src, size_t n) { -#ifdef WANT_FULL_POSIX_COMPAT -  memset(dest,0,n); -#endif -  memccpy(dest,src,0,n); -  return strlen(dest); -} - diff --git a/mdk-stage1/dietlibc/lib/sys_siglist.c b/mdk-stage1/dietlibc/lib/sys_siglist.c deleted file mode 100644 index a753848d9..000000000 --- a/mdk-stage1/dietlibc/lib/sys_siglist.c +++ /dev/null @@ -1,174 +0,0 @@ -const char *const sys_siglist[] = { -  "Signal 0", -  "Hangup", -  "Interrupt", -  "Quit", -  "Illegal instruction", -  "Trace/breakpoint trap", -  "ABRT/IOT trap", -#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) -  "EMT trap", -#else -  "Bus error", -#endif -  "Floating point exception", -  "Killed", -#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) -  "Bus error", -#else -  "User defined signal 1", -#endif -  "Segmentation fault", -#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) -  "Bad system call", -#else -  "User defined signal 2", -#endif -  "Broken pipe", -  "Alarm clock", -  "Terminated", -#if defined(__hppa__) -  "User defined signal 1", -  "User defined signal 2", -  "Child exited", -  "Power lost", -  "Virtual timer expired", -  "Profiling timer expired", -  "I/O possible", -  "Window changed", -  "Stopped (signal)", -  "Stopped", -  "Continued", -  "Stopped (tty input)", -  "Stopped (tty output)", -  "Urgent I/O condition", -  "Power lost", -  "Unknown", -  "Unknown", -  "CPU time limit exceeded", -  "File size limit exceeded", -  "Unknown", -  "Stack fault", -#elif defined(__mips__) -  "User defined signal 1", -  "User defined signal 2", -  "Child exited", -  "Power lost", -  "Window changed", -  "Urgent I/O condition", -  "I/O possible", -  "Stopped (signal)", -  "Stopped", -  "Continued", -  "Stopped (tty input)", -  "Stopped (tty output)", -  "Virtual timer expired", -  "Profiling timer expired", -  "CPU time limit exceeded", -  "File size limit exceeded", -#elif defined(__alpha__) || defined(__sparc__) -  "Urgent I/O condition", -  "Stopped (signal)", -  "Stopped", -  "Continued", -  "Child exited", -  "Stopped (tty input)", -  "Stopped (tty output)", -  "I/O possible", -  "CPU time limit exceeded", -  "File size limit exceeded", -  "Virtual timer expired", -  "Profiling timer expired", -  "Window changed", -  "Power/Resource lost", -  "User defined signal 1", -  "User defined signal 2", -#else -  "Stack fault", -  "Child exited", -  "Continued", -  "Stopped (signal)", -  "Stopped", -  "Stopped (tty input)", -  "Stopped (tty output)", -  "Urgent I/O condition", -  "CPU time limit exceeded", -  "File size limit exceeded", -  "Virtual timer expired", -  "Profiling timer expired", -  "Window changed", -  "I/O possible", -  "Power lost", -  "Bad system call", -#endif -#ifndef __hppa__ -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -#endif -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -#ifdef __mips__ -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -  "Real time signal", -#endif -  0 -}; - diff --git a/mdk-stage1/dietlibc/lib/tcdrain.c b/mdk-stage1/dietlibc/lib/tcdrain.c deleted file mode 100644 index bb2018fb4..000000000 --- a/mdk-stage1/dietlibc/lib/tcdrain.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/ioctl.h> - -int __libc_tcdrain(int fd); -int __libc_tcdrain(int fd) -{ -  return ioctl(fd, TCSBRK, 1); -} - -int tcdrain(int fd) __attribute__((weak,alias("__libc_tcdrain"))); diff --git a/mdk-stage1/dietlibc/lib/tcflow.c b/mdk-stage1/dietlibc/lib/tcflow.c deleted file mode 100644 index ea460f362..000000000 --- a/mdk-stage1/dietlibc/lib/tcflow.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "dietfeatures.h" -#include <errno.h> -#include <termios.h> -#include <sys/ioctl.h> - -int  tcflow ( int fd, int action ) -{ -#if TCOOFF==0  &&  TCOON==1  &&  TCIOFF==2  &&  TCION==3 - -    if ( (unsigned int)action < 4u ) -	return ioctl ( fd, TCXONC, action ); - -    errno = EINVAL; -    return -1; - -#else - -    int  arg = 0; -     -    switch (action) { -    case TCION:  -	arg++; -    case TCIOFF:  -	arg++; -    case TCOON:    -	arg++; -    case TCOOFF: -	return ioctl ( fd, TCXONC, arg ); -    default: -        errno = EINVAL; -        return -1; -    } - -#endif -} diff --git a/mdk-stage1/dietlibc/lib/tcflush.c b/mdk-stage1/dietlibc/lib/tcflush.c deleted file mode 100644 index 2e5447728..000000000 --- a/mdk-stage1/dietlibc/lib/tcflush.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/ioctl.h> - -int __libc_tcflush(int fd, int queue_selector); -int __libc_tcflush(int fd, int queue_selector) -{ -  return ioctl(fd, TCFLSH, queue_selector); -} - -int tcflush(int fd) __attribute__((weak,alias("__libc_tcflush"))); diff --git a/mdk-stage1/dietlibc/lib/tcgetattr.c b/mdk-stage1/dietlibc/lib/tcgetattr.c deleted file mode 100644 index f35d39442..000000000 --- a/mdk-stage1/dietlibc/lib/tcgetattr.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <termios.h> -#include <sys/ioctl.h> - -int tcgetattr(int fildes, struct termios *termios_p) -{ -  return ioctl(fildes, TCGETS, termios_p); -} diff --git a/mdk-stage1/dietlibc/lib/tcgetpgrp.c b/mdk-stage1/dietlibc/lib/tcgetpgrp.c deleted file mode 100644 index 8d5d4614a..000000000 --- a/mdk-stage1/dietlibc/lib/tcgetpgrp.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <termios.h> -#include <sys/ioctl.h> -#include <unistd.h> - -int tcgetpgrp(int fildes) -{ -  int foo; -  if (ioctl(fildes, TIOCGPGRP, &foo)==-1) -    return -1; -  else -    return foo; -} diff --git a/mdk-stage1/dietlibc/lib/tcsendbreak.c b/mdk-stage1/dietlibc/lib/tcsendbreak.c deleted file mode 100644 index b026340cf..000000000 --- a/mdk-stage1/dietlibc/lib/tcsendbreak.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "dietfeatures.h" -#include <errno.h> -#include <termios.h> -#include <sys/ioctl.h> - -int tcsendbreak (int fd,int duration) -{ -  if (duration <= 0) return (ioctl (fd,TCSBRKP,0)); -  errno = EINVAL; -  return (-1); -} diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c deleted file mode 100644 index 03fe8adee..000000000 --- a/mdk-stage1/dietlibc/lib/tcsetattr.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <termios.h> -#include <sys/ioctl.h> -#include <errno.h> -#include "dietfeatures.h" - -#if !defined(__powerpc__) && !defined(__sparc__) && !defined(__alpha__) && !defined(__hppa__) -#if TCSANOW==0 && TCSADRAIN==1 && TCSAFLUSH==2 && TCSETSW-TCSETS==1 && TCSETSF-TCSETS==2 -#define shortcut -#endif -#endif - -int  tcsetattr ( int fildes, int optional_actions, struct termios* termios_p ) -{ -#ifdef shortcut - -    if ( (unsigned int)optional_actions < 3u ) -        return ioctl ( fildes, TCSETS+optional_actions, termios_p ); - -    errno = EINVAL; -    return -1; - -#else - -    switch ( optional_actions ) { -    case TCSANOW: -        return ioctl ( fildes, TCSETS , termios_p ); -    case TCSADRAIN: -        return ioctl ( fildes, TCSETSW, termios_p ); -    case TCSAFLUSH: -        return ioctl ( fildes, TCSETSF, termios_p ); -    default: -        errno = EINVAL; -        return -1; -    } -     -#endif     -} diff --git a/mdk-stage1/dietlibc/lib/tcsetpgrp.c b/mdk-stage1/dietlibc/lib/tcsetpgrp.c deleted file mode 100644 index 8cf3165c2..000000000 --- a/mdk-stage1/dietlibc/lib/tcsetpgrp.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <termios.h> -#include <sys/ioctl.h> -#include <unistd.h> - -int tcsetpgrp(int fildes, pid_t pgrpid) -{ -  return ioctl(fildes, TIOCSPGRP, &pgrpid); -} diff --git a/mdk-stage1/dietlibc/lib/telldir.c b/mdk-stage1/dietlibc/lib/telldir.c deleted file mode 100644 index 58be5d034..000000000 --- a/mdk-stage1/dietlibc/lib/telldir.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "dietdirent.h" -#include <unistd.h> -#include <dirent.h> - -off_t telldir(DIR *d) { -  return lseek(d->fd,0,SEEK_CUR)-d->num+d->cur; -} diff --git a/mdk-stage1/dietlibc/lib/tolower.c b/mdk-stage1/dietlibc/lib/tolower.c deleted file mode 100644 index c24932ef4..000000000 --- a/mdk-stage1/dietlibc/lib/tolower.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -int tolower(int ch) { -  if ( (unsigned int)(ch - 'A') < 26u ) -    ch += 'a' - 'A'; -  return ch; -} - diff --git a/mdk-stage1/dietlibc/lib/toupper.c b/mdk-stage1/dietlibc/lib/toupper.c deleted file mode 100644 index f7d415e95..000000000 --- a/mdk-stage1/dietlibc/lib/toupper.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <ctype.h> - -inline int toupper(int ch) { -  if ( (unsigned int)(ch - 'a') < 26u ) -    ch += 'A' - 'a'; -  return ch; -} - diff --git a/mdk-stage1/dietlibc/lib/ttyname.c b/mdk-stage1/dietlibc/lib/ttyname.c deleted file mode 100644 index 2bbc7f2a9..000000000 --- a/mdk-stage1/dietlibc/lib/ttyname.c +++ /dev/null @@ -1,66 +0,0 @@ -#include "dietfeatures.h" -#include <unistd.h> -#include <sys/stat.h> -#include <string.h> - -#ifdef __linux__ - -#include <stdlib.h> - -char *ttyname(int fd) { -#ifdef SLASH_PROC_OK -  char ibuf[20]; -  static char obuf[20]; -  int len; -  if (!isatty(fd)) return 0; -  strcpy(ibuf,"/proc/self/fd/"); -  ibuf[__ltostr(ibuf+14,6,(unsigned long)fd,10,0)+14]=0; -  if ((len=readlink(ibuf,obuf,sizeof(obuf)-1))<0) return 0; -  obuf[len]=0; -  return obuf; -#else -  static char buf[20]; -  struct stat s; -  char *c=buf+8; -  int n; -  if (!isatty(fd)) return 0; -  if (fstat(fd,&s)) return 0; -  strcpy(buf,"/dev/tty"); -  if (S_ISCHR(s.st_mode)) { -    n=minor(s.st_rdev); -    switch (major(s.st_rdev)) { -    case 4: -      if (n>63) { -	n-=64; -	*c='S'; -	++c; -      } -num: -      c[__ltostr(c,6,n,10,0)]=0; -      break; -    case 2: -      buf[8]='p'-(n>>4); -      buf[9]=n%4+'0'; -      if (buf[9]>'9') *c+='a'-'0'; -      buf[10]=0; -      goto duh; -    case 136: -    case 137: -    case 138: -    case 139: -      buf[7]='s'; -duh: -      buf[5]='p'; -      n+=(major(s.st_rdev)-136)<<8; -      *c='/'; ++c; -      goto num; -    default: -      return 0; -    } -    return buf; -  } -  return 0; -#endif -} - -#endif diff --git a/mdk-stage1/dietlibc/lib/usleep.c b/mdk-stage1/dietlibc/lib/usleep.c deleted file mode 100644 index 8f07416a8..000000000 --- a/mdk-stage1/dietlibc/lib/usleep.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <time.h> -#include <unistd.h> - -/* nano * 1000 == usecs - * usecs * 1000 == msecs - * msecs * 1000 = secs */ -int usleep(unsigned long usecs) { -  struct timespec t; -  t.tv_sec=usecs/1000000; -  t.tv_nsec=(usecs%1000000)*1000; -  return nanosleep(&t,&t); -} diff --git a/mdk-stage1/dietlibc/lib/vfork.c b/mdk-stage1/dietlibc/lib/vfork.c deleted file mode 100644 index d54416d5d..000000000 --- a/mdk-stage1/dietlibc/lib/vfork.c +++ /dev/null @@ -1,4 +0,0 @@ -#include <unistd.h> - -pid_t vfork() { return fork(); } - diff --git a/mdk-stage1/dietlibc/lib/vsnprintf.c b/mdk-stage1/dietlibc/lib/vsnprintf.c deleted file mode 100644 index dd06d6483..000000000 --- a/mdk-stage1/dietlibc/lib/vsnprintf.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <unistd.h> -#include <stdlib.h> -#include <string.h> -#include "dietstdio.h" - -struct str_data { -  unsigned char* str; -  size_t len; -  size_t size; -}; - -static int swrite(void*ptr, size_t nmemb, struct str_data* sd) { -  size_t tmp=sd->size-sd->len; -  if (tmp>0) { -    size_t len=nmemb; -    if (len>tmp) len=tmp; -    if (sd->str) { -      memcpy(sd->str+sd->len,ptr,len); -      sd->str[sd->len+len]=0; -    } -    sd->len+=len; -  } -  return nmemb; -} - -int vsnprintf(char* str, size_t size, const char *format, va_list arg_ptr) { -  struct str_data sd = { str, 0, size }; -  struct arg_printf ap = { &sd, (int(*)(void*,size_t,void*)) swrite }; -  if (size) --sd.size; -  return __v_printf(&ap,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/lib/vsprintf.c b/mdk-stage1/dietlibc/lib/vsprintf.c deleted file mode 100644 index 6cd5a40b1..000000000 --- a/mdk-stage1/dietlibc/lib/vsprintf.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include <stdio.h> -#include "dietwarning.h" - -int vsprintf(char *dest,const char *format, va_list arg_ptr) -{ -  return vsnprintf(dest,(size_t)-1,format,arg_ptr); -} - -link_warning("vsprintf","warning: Avoid *sprintf; use *snprintf. It is more secure.") diff --git a/mdk-stage1/dietlibc/lib/vsscanf.c b/mdk-stage1/dietlibc/lib/vsscanf.c deleted file mode 100644 index 329cfd02a..000000000 --- a/mdk-stage1/dietlibc/lib/vsscanf.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include "dietstdio.h" -#include <unistd.h> - -struct str_data { -  unsigned char* str; -}; - -static int sgetc(struct str_data* sd) { -  register unsigned int ret = *(sd->str++); -  return (ret)?(int)ret:-1; -} - -static int sputc(int c, struct str_data* sd) { -  return (*(--sd->str)==c)?c:-1; -} - -int vsscanf(const char* str, const char* format, va_list arg_ptr) -{ -  struct str_data  fdat = { (unsigned char*)str }; -  struct arg_scanf farg = { (void*)&fdat, (int(*)(void*))sgetc, (int(*)(int,void*))sputc }; -  return __v_scanf(&farg,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/lib/wait.c b/mdk-stage1/dietlibc/lib/wait.c deleted file mode 100644 index 8459af18c..000000000 --- a/mdk-stage1/dietlibc/lib/wait.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <sys/types.h> -#include <sys/wait.h> - -pid_t wait(int *status) { -  return waitpid(-1,status,0); -} diff --git a/mdk-stage1/dietlibc/lib/wait3.c b/mdk-stage1/dietlibc/lib/wait3.c deleted file mode 100644 index 19e90740c..000000000 --- a/mdk-stage1/dietlibc/lib/wait3.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <sys/wait.h> - -int wait3(int* status,int opts,struct rusage* rusage) { -  return wait4(-1,status,opts,rusage); -} diff --git a/mdk-stage1/dietlibc/lib/write12.c b/mdk-stage1/dietlibc/lib/write12.c deleted file mode 100644 index 8e0130bfb..000000000 --- a/mdk-stage1/dietlibc/lib/write12.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <unistd.h> -#include <string.h> -#include <write12.h> - -int __write1 (const char* s) { -  return write(1, s, strlen(s)); -} - -int __write2 (const char* s) { -  return write(2, s, strlen(s)); -} diff --git a/mdk-stage1/dietlibc/libcompat/daemon.c b/mdk-stage1/dietlibc/libcompat/daemon.c deleted file mode 100644 index 30f97a09a..000000000 --- a/mdk-stage1/dietlibc/libcompat/daemon.c +++ /dev/null @@ -1,29 +0,0 @@ -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <paths.h> - -#include "daemon.h" - -int daemon (int nochdir,int noclose) -{ -  int fd; -  switch (fork()) { -  case -1: return (-1); -  case  0: break; -  default: _exit (0); -  } -  if (setsid () == -1) return (-1); -  if (!nochdir) chdir ("/"); -  if (!noclose) { -    fd = open(_PATH_DEVNULL,O_RDWR,0); -    if (fd == -1) return (-1); -    dup2 (fd,STDIN_FILENO); -    dup2 (fd,STDOUT_FILENO); -    dup2 (fd,STDERR_FILENO); -    if (fd>2) close (fd); -  } -  return (0); -} - diff --git a/mdk-stage1/dietlibc/libcompat/getdelim.c b/mdk-stage1/dietlibc/libcompat/getdelim.c deleted file mode 100644 index e499bd7b7..000000000 --- a/mdk-stage1/dietlibc/libcompat/getdelim.c +++ /dev/null @@ -1,32 +0,0 @@ -#define _GNU_SOURCE -#include <stdlib.h> -#include <stdio.h> -#include "dietfeatures.h" -#include <errno.h> -#include "dietwarning.h" - -ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) { -  size_t i; -  if (!lineptr || !n) { -    errno=EINVAL; -    return -1; -  } -  if (!*lineptr) *n=0; -  for (i=0; ; ) { -    int x=fgetc(stream); -    if (i>=*n) { -      int tmp=*n+100; -      char* new=realloc(*lineptr,tmp); -      if (!new) return -1; -      *lineptr=new; *n=tmp; -    } -    if (x==EOF) { (*lineptr)[i]=0; return -1; } -    (*lineptr)[i]=x; -    ++i; -    if (x==delim) break; -  } -  (*lineptr)[i]=0; -  return i; -} - -link_warning("getdelim","warning: portable software should not use getdelim!") diff --git a/mdk-stage1/dietlibc/libcompat/getline.c b/mdk-stage1/dietlibc/libcompat/getline.c deleted file mode 100644 index 4926850a7..000000000 --- a/mdk-stage1/dietlibc/libcompat/getline.c +++ /dev/null @@ -1,9 +0,0 @@ -#define _GNU_SOURCE -#include <stdio.h> -#include "dietwarning.h" - -#undef getline -ssize_t getline(char **lineptr, size_t *n, FILE *stream) { -  return getdelim(lineptr,n,'\n',stream); -} -link_warning("getline","warning: you used getline without include stdio.h w/_GNU_SOURCE") diff --git a/mdk-stage1/dietlibc/libcompat/re_bsd.c b/mdk-stage1/dietlibc/libcompat/re_bsd.c deleted file mode 100644 index 44f022fa3..000000000 --- a/mdk-stage1/dietlibc/libcompat/re_bsd.c +++ /dev/null @@ -1,34 +0,0 @@ -/* wrapper to simulate the braindead 4.3BSD regex interface  - * by Andreas Krennmair <a.krennmair@aon.at>  - */ -#include <regex.h> -#include <sys/types.h> - -#include "dietwarning.h" - -static char err_compile[] = "unable to compile regular expression."; -static int re_buf_used; -static regex_t re_buf; - -char * re_comp(char * regex) { -  int rc; -  if (regex) { -    if (re_buf_used) -      regfree(&re_buf); -    rc = regcomp(&re_buf,regex,0); -    if (rc) -      return err_compile; -    re_buf_used = 1; -  } -  return NULL; -} - -int re_exec(char * string) { -  if (string) { -    return regexec(&re_buf,string,0,NULL,0)?0:1; -  } -  return 0; -} - -link_warning("re_comp","warning: use regcomp instead of re_comp!") -link_warning("re_exec","warning: use regexec instead of re_exec!") diff --git a/mdk-stage1/dietlibc/libcompat/stpcpy.c b/mdk-stage1/dietlibc/libcompat/stpcpy.c deleted file mode 100644 index 237a2e374..000000000 --- a/mdk-stage1/dietlibc/libcompat/stpcpy.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <string.h> - -char * stpcpy (char *dst, const char *src) { -  while ((*dst++ = *src++)); -  return (dst-1); -} diff --git a/mdk-stage1/dietlibc/libcompat/syscall.S b/mdk-stage1/dietlibc/libcompat/syscall.S deleted file mode 100644 index dd8e6b827..000000000 --- a/mdk-stage1/dietlibc/libcompat/syscall.S +++ /dev/null @@ -1,70 +0,0 @@ -#include "dietfeatures.h" - -.text -.globl syscall -#ifdef __arm__ -.type syscall,function -#else -.type syscall,@function -#endif - -syscall: -#ifdef __i386__ -	movl %esp, %eax -	pushl %edi -	pushl %esi -	pushl %ebx -	pushl %ebp -	movl 0x08(%eax), %ebx -	movl 0x0c(%eax), %ecx -	movl 0x10(%eax), %edx -	movl 0x14(%eax), %esi -	movl 0x18(%eax), %edi -	movl 0x1c(%eax), %ebp -	movl 0x04(%eax), %eax -	int  $0x80 -	cmpl $-255, %eax -	jbe .Lret -	negl %eax -#ifdef WANT_THREADSAFE -	movl %eax, %ebx -	call __errno_location -	movl %ebx, (%eax) -	xorl %eax, %eax -	decl %eax -#else -	mov %eax, errno -	sbb %eax, %eax -#endif -.Lret: -	pop %ebp -	pop %ebx -	pop %esi -	pop %edi -	ret -#elif (defined(__hppa__)) -	copy %r26, %r20 -	copy %r25, %r26 -	copy %r24, %r25 -	copy %r23, %r24 -	ldw  -0x34(%sr0, %sp), %r23 -	ldw  -0x38(%sr0, %sp), %r22 -	be,l 0x100(%sr2, %r0), %sr0, %r31 -	ldw  -0x3c(%sr0, %sp), %r21 -	ldi -0x100, %r1 -	cmpb,<<=,n %r1, %ret0, __error_unified_syscall -.Lret: -	bv,n %r0(%rp) -#elif (defined(__ia64__)) -	mov r15=r32 -	mov r32=r33 -	mov r33=r34 -	mov r34=r35 -	mov r35=r36 -	mov r36=r37 -	break.i 0x100000 -	cmp.eq p6,p0=-1,r10 -(p6)	br __error_unified_syscall -	br.ret.sptk.few rp -#endif -.size	syscall, . - syscall diff --git a/mdk-stage1/dietlibc/libcruft/___div.c b/mdk-stage1/dietlibc/libcruft/___div.c deleted file mode 100644 index d359dc47b..000000000 --- a/mdk-stage1/dietlibc/libcruft/___div.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "dietwarning.h" -#include <stdlib.h> - -div_t div(int numer, int denom) { -  div_t temp; -  temp.quot=numer/denom; -  temp.rem=numer%denom; -  return temp; -} - -link_warning("div","warning: your code uses div(), which is completely superfluous!"); diff --git a/mdk-stage1/dietlibc/libcruft/__end_parse.c b/mdk-stage1/dietlibc/libcruft/__end_parse.c deleted file mode 100644 index 6c36318b5..000000000 --- a/mdk-stage1/dietlibc/libcruft/__end_parse.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> -#include "parselib.h" - -void __end_parse(struct state* s) { -  munmap((void*)(s->buffirst),s->buflen); -  s->buffirst=0; -} diff --git a/mdk-stage1/dietlibc/libcruft/__parse.c b/mdk-stage1/dietlibc/libcruft/__parse.c deleted file mode 100644 index ef020a138..000000000 --- a/mdk-stage1/dietlibc/libcruft/__parse.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <ctype.h> -#include <sys/types.h> -#include "parselib.h" - -size_t __parse(struct state* s,int (*pred)(int ch)) { -  size_t n; -  for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && pred(s->buffirst[n]); ++n) ; -  return n-s->cur; -} - diff --git a/mdk-stage1/dietlibc/libcruft/__parse_1.c b/mdk-stage1/dietlibc/libcruft/__parse_1.c deleted file mode 100644 index ba56d022c..000000000 --- a/mdk-stage1/dietlibc/libcruft/__parse_1.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include "parselib.h" - -size_t __parse_1(struct state* s,char c) { -  size_t n; -  for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && s->buffirst[n]!=c; ++n) ; -  return n-s->cur; -} - diff --git a/mdk-stage1/dietlibc/libcruft/__parse_nws.c b/mdk-stage1/dietlibc/libcruft/__parse_nws.c deleted file mode 100644 index e26fc443d..000000000 --- a/mdk-stage1/dietlibc/libcruft/__parse_nws.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <sys/types.h> -#include "parselib.h" - -static int __isnonblank(int ch) { -  return (ch!=' ' && ch!='\t' && ch!='#'); -} - -size_t __parse_nws(struct state* s) { -  return __parse(s,__isnonblank); -} diff --git a/mdk-stage1/dietlibc/libcruft/__parse_ws.c b/mdk-stage1/dietlibc/libcruft/__parse_ws.c deleted file mode 100644 index 68068ade0..000000000 --- a/mdk-stage1/dietlibc/libcruft/__parse_ws.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include <ctype.h> -#include "parselib.h" - -static int __isblank(int ch) { -  return (ch==' ' || ch=='\t'); -} - -size_t __parse_ws(struct state* s) { -  return __parse(s,__isblank); -} diff --git a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c b/mdk-stage1/dietlibc/libcruft/__prepare_parse.c deleted file mode 100644 index dff1932a7..000000000 --- a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> -#include "parselib.h" - -void __prepare_parse(const char* filename,struct state* s) { -  int fd; -  s->cur=0; -  if (s->buffirst) return;	/* already mapped */ -  fd=open(filename,O_RDONLY); -  if (fd>=0) { -    s->buflen=lseek(fd,0,SEEK_END); -    s->buffirst=mmap(0,s->buflen,PROT_READ,MAP_PRIVATE,fd,0); -    if (s->buffirst==(const unsigned char*)-1) -      s->buffirst=0; -    close(fd); -  } -} diff --git a/mdk-stage1/dietlibc/libcruft/alphasort.c b/mdk-stage1/dietlibc/libcruft/alphasort.c deleted file mode 100644 index f5a81dc18..000000000 --- a/mdk-stage1/dietlibc/libcruft/alphasort.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <dirent.h> -#include <string.h> - -int alphasort(const struct dirent **a, const struct dirent **b) { -  return strcmp((*a)->d_name,(*b)->d_name); -} diff --git a/mdk-stage1/dietlibc/libcruft/alphasort64.c b/mdk-stage1/dietlibc/libcruft/alphasort64.c deleted file mode 100644 index 520086352..000000000 --- a/mdk-stage1/dietlibc/libcruft/alphasort64.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <dirent.h> -#include <string.h> - -int alphasort64(const struct dirent64 **a, const struct dirent64 **b) { -  return strcmp((*a)->d_name,(*b)->d_name); -} diff --git a/mdk-stage1/dietlibc/libcruft/bcopy.c b/mdk-stage1/dietlibc/libcruft/bcopy.c deleted file mode 100644 index 53736e0ed..000000000 --- a/mdk-stage1/dietlibc/libcruft/bcopy.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include "dietwarning.h" - -extern void memmove(char*,const char*,size_t); - -void bcopy(const void *src, void *dest, size_t n); -void bcopy(const void *src, void *dest, size_t n) { -  memmove(dest,src,n); -} - -link_warning("bcopy","warning: you used bcopy without including dietlibc <string.h> w/ _BSD_SOURCE!") diff --git a/mdk-stage1/dietlibc/libcruft/bzero.c b/mdk-stage1/dietlibc/libcruft/bzero.c deleted file mode 100644 index 77870c67f..000000000 --- a/mdk-stage1/dietlibc/libcruft/bzero.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <sys/types.h> -#include <string.h> -#include "dietwarning.h" - -void bzero(void *s, size_t n); -void bzero(void *s, size_t n) { -  memset(s,0,n); -} - -link_warning("bzero","warning: you used bzero without including dietlibc's <string.h> w/ _BSD_SOURCE!") diff --git a/mdk-stage1/dietlibc/libcruft/clock.c b/mdk-stage1/dietlibc/libcruft/clock.c deleted file mode 100644 index 33b62865d..000000000 --- a/mdk-stage1/dietlibc/libcruft/clock.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <sys/times.h> -#include <sys/param.h> -#include <time.h> -#include <unistd.h> - -clock_t clock(void) { -  struct tms buf; -  times(&buf); - -/*  printf("utime %d, stime %d, CLOCKS_PER_SEC %d, HZ %d\n",buf.tms_utime,buf.tms_stime,CLOCKS_PER_SEC,HZ); */ - -#if    CLOCKS_PER_SEC == HZ -  return (unsigned long) buf.tms_utime + buf.tms_stime; -#elif  CLOCKS_PER_SEC % HZ == 0 -  return ((unsigned long) buf.tms_utime + buf.tms_stime) * (CLOCKS_PER_SEC / HZ); -#elif  HZ % CLOCKS_PER_SEC == 0 -  return ((unsigned long) buf.tms_utime + buf.tms_stime) / (HZ / CLOCKS_PER_SEC); -#else -  return ((unsigned long long) buf.tms_utime + buf.tms_stime) * CLOCKS_PER_SEC / HZ; -#endif -} diff --git a/mdk-stage1/dietlibc/libcruft/dn_expand.c b/mdk-stage1/dietlibc/libcruft/dn_expand.c deleted file mode 100644 index e111a91a4..000000000 --- a/mdk-stage1/dietlibc/libcruft/dn_expand.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <netinet/in.h> -#include <arpa/nameser.h> -#include <resolv.h> - -extern int __dns_decodename(unsigned char *packet,unsigned int ofs,unsigned char *dest, -			    unsigned int maxlen,unsigned char* behindpacket); - -int dn_expand(unsigned char *msg, unsigned char *eomorig, unsigned char *comp_dn, unsigned char *exp_dn, int length) { -  return __dns_decodename(msg,comp_dn-msg,exp_dn,length,eomorig)-(comp_dn-msg); -} - diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft.c b/mdk-stage1/dietlibc/libcruft/dnscruft.c deleted file mode 100644 index bd8bee79a..000000000 --- a/mdk-stage1/dietlibc/libcruft/dnscruft.c +++ /dev/null @@ -1,181 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <sys/socket.h> -#include <unistd.h> -#include <fcntl.h> -#include <arpa/inet.h> -#include <string.h> -#include <ctype.h> -#include <stdlib.h> -#include <resolv.h> -#include <net/if.h> -#include "dietfeatures.h" - -int __dns_fd=-1; -#ifdef WANT_IPV6_DNS -int __dns_fd6=-1; -#endif - -/* the ad-hoc internal API from hell ;-) */ -void __dns_make_fd(void); -void __dns_make_fd6(void); -void __dns_readstartfiles(void); -int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest, -		     unsigned int maxlen,unsigned char* behindpacket); - -void __dns_make_fd(void) { -  int tmp; -  struct sockaddr_in si; -  if (__dns_fd>=0) return; -  tmp=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP); -  if (tmp<0) return; -  si.sin_family=AF_INET; -  si.sin_port=0; -  si.sin_addr.s_addr=INADDR_ANY; -  if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) return; -  __dns_fd=tmp; -} - -#ifdef WANT_IPV6_DNS -void __dns_make_fd6(void) { -  int tmp; -  struct sockaddr_in6 si; -  if (__dns_fd6>=0) return; -  tmp=socket(PF_INET6,SOCK_DGRAM,IPPROTO_UDP); -  if (tmp<0) return; -  si.sin6_family=AF_INET6; -  si.sin6_port=0; -  memset(&si.sin6_addr,0,16); -  if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) return; -  __dns_fd6=tmp; -} -#endif - -static int parsesockaddr(const char* c,void* x) { -  struct sockaddr_in to; -  if (inet_aton(c,&to.sin_addr)) { -    to.sin_port=htons(53); -    to.sin_family=AF_INET; -    memmove(x,&to,sizeof(struct sockaddr_in_pad)); -    return 1; -#ifdef WANT_IPV6_DNS -  } else { -    struct sockaddr_in6 to6; -    char* d=strchr(c,'%'); -    to6.sin6_flowinfo=to6.sin6_scope_id=0; -    if (d) -      to6.sin6_scope_id=if_nametoindex(d+1); -    if (inet_pton(AF_INET6,c,&to6.sin6_addr)) { -      to6.sin6_port=htons(53); -      to6.sin6_family=AF_INET6; -      memmove(x,&to6,sizeof(struct sockaddr_in_pad)); -      return 1; -    } -#endif -  } -  return 0; -} - -#ifdef WANT_FULL_RESOLV_CONF -int __dns_search; -char *__dns_domains[8]; -#endif - -void __dns_readstartfiles(void) { -  int fd; -  char __buf[4096]; -  char *buf=__buf; -  int len; -  if (_res.nscount>0) return; -  { -    struct sockaddr_in to; -#ifdef WANT_IPV6_DNS -    struct sockaddr_in6 to6; -#endif -    char *cacheip=getenv("DNSCACHEIP"); -#ifdef WANT_FULL_RESOLV_CONF -    __dns_search=0; -#endif -    if (cacheip) -      if (parsesockaddr(cacheip,_res.nsaddr_list)) -	++_res.nscount; -  } -  _res.options=RES_RECURSE; -  if ((fd=open("/etc/resolv.conf",O_RDONLY))<0) return; -  len=read(fd,buf,4096); -  close(fd); -  { -    char *last=buf+len; -    for (; buf<last;) { -      if (!strncmp(buf,"nameserver",10)) { -	buf+=10; -	while (buf<last && *buf!='\n') { -	  while (buf<last && isblank(*buf)) ++buf; -	  { -	    char *tmp=buf; -	    struct sockaddr_in i; -	    char save; -	    while (buf<last && !isspace(*buf)) ++buf; -	    if (buf>=last) break; -	    save=*buf; -	    *buf=0; -	    if (parsesockaddr(tmp,&_res.nsaddr_list[_res.nscount])) -	      if (_res.nscount<MAXNS) ++_res.nscount; -	    *buf=save; -	  } -	} -      } -#ifdef WANT_FULL_RESOLV_CONF -      else if (!strncmp(buf,"search",6) || !strncmp(buf,"domain",6)) { -	buf+=6; -	while (buf<last && *buf!='\n') { -	  char save; -	  while (buf<last && (*buf==',' || isblank(*buf))) ++buf; -	  __dns_domains[__dns_search]=buf; -	  while (buf<last && (*buf=='.' || *buf=='-' || isalnum(*buf))) ++buf; -	  save=*buf; -	  if (buf<last) *buf=0; -	  if (__dns_domains[__dns_search]<buf && -	      (__dns_domains[__dns_search]=strdup(__dns_domains[__dns_search]))) -	    ++__dns_search; -	  if (buf<last) *buf=save; -	} -	continue; -      } -#endif -      while (buf<last && *buf!='\n') ++buf; -      while (buf<last && *buf=='\n') ++buf; -    } -  } -} - -/* return length of decoded data or -1 */ -int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest, -		     unsigned int maxlen,unsigned char* behindpacket) { -  unsigned char *tmp; -  unsigned char *max=dest+maxlen; -  unsigned char *after=packet+offset; -  int ok=0; -  for (tmp=after; maxlen>0&&*tmp; ) { -    if (tmp>=behindpacket) return -1; -    if ((*tmp>>6)==3) {		/* goofy DNS decompression */ -      unsigned int ofs=((unsigned int)(*tmp&0x3f)<<8)|*(tmp+1); -      if (ofs>=(unsigned int)offset) return -1;	/* RFC1035: "pointer to a _prior_ occurrance" */ -      if (after<tmp+2) after=tmp+2; -      tmp=packet+ofs; -      ok=0; -    } else { -      unsigned int duh; -      if (dest+*tmp+1>max) return -1; -      if (tmp+*tmp+1>=behindpacket) return -1; -      for (duh=*tmp; duh>0; --duh) -	*dest++=*++tmp; -      *dest++='.'; ok=1; -      ++tmp; -      if (tmp>after) { after=tmp; if (!*tmp) ++after; } -    } -  } -  if (ok) --dest; -  *dest=0; -  return after-packet; -} diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft2.c b/mdk-stage1/dietlibc/libcruft/dnscruft2.c deleted file mode 100644 index d4e132e42..000000000 --- a/mdk-stage1/dietlibc/libcruft/dnscruft2.c +++ /dev/null @@ -1,173 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <sys/poll.h> -#include <unistd.h> -#include <errno.h> -#include <arpa/nameser.h> -#include <resolv.h> -#include "dietfeatures.h" -#include "dietdns.h" - -extern void __dns_readstartfiles(void); - -extern int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest, -			    unsigned int maxlen,unsigned char* behindpacket); - -/* Oh boy, this interface sucks so badly, there are no words for it. - * Not one, not two, but _three_ error signalling methods!  (*h_errnop - * nonzero?  return value nonzero?  *RESULT zero?)  The glibc goons - * really outdid themselves with this one. */ -#ifdef WANT_FULL_RESOLV_CONF -static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result, -			char *buf, size_t buflen, -			struct hostent **RESULT, int *h_errnop, int lookfor); - -static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result, -			char *buf, size_t buflen, -			struct hostent **RESULT, int *h_errnop, int lookfor) { -#else -int __dns_gethostbyx_r(const char* name, struct hostent* result, -			char *buf, size_t buflen, -			struct hostent **RESULT, int *h_errnop, int lookfor) { -#endif -  int names,ips; -  unsigned char *cur; -  unsigned char *max; -  unsigned char inpkg[1500]; -  char* tmp; -  int size; - -  if (lookfor==1) { -    result->h_addrtype=AF_INET; -    result->h_length=4; -  } else { -    result->h_addrtype=AF_INET6; -    result->h_length=16; -  } -  result->h_aliases=(char**)(buf+8*sizeof(char*)); -  result->h_addr_list=(char**)buf; -  result->h_aliases[0]=0; - -  cur=buf+16*sizeof(char*); -  max=buf+buflen; -  names=ips=0; - -  if ((size=res_query(name,C_IN,lookfor,inpkg,512))<0) { -invalidpacket: -    *h_errnop=HOST_NOT_FOUND; -    return -1; -  } -  { -    tmp=inpkg+12; -    { -      char Name[257]; -      unsigned short q=((unsigned short)inpkg[4]<<8)+inpkg[5]; -      while (q>0) { -	if (tmp>(char*)inpkg+size) goto invalidpacket; -	while (*tmp) { tmp+=*tmp+1; if (tmp>(char*)inpkg+size) goto invalidpacket; } -	tmp+=5; -	--q; -      } -      if (tmp>(char*)inpkg+size) goto invalidpacket; -      q=((unsigned short)inpkg[6]<<8)+inpkg[7]; -      if (q<1) goto nodata; -      while (q>0) { -	int decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size); -	if (decofs<0) break; -	tmp=inpkg+decofs; -	--q; -	if (tmp[0]!=0 || tmp[1]!=lookfor ||	/* TYPE != A */ -	    tmp[2]!=0 || tmp[3]!=1) {		/* CLASS != IN */ -	  if (tmp[1]==5) {	/* CNAME */ -	    tmp+=10; -	    decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size); -	    if (decofs<0) break; -	    tmp=inpkg+decofs; -	  } else -	    break; -	  continue; -	} -	tmp+=10;	/* skip type, class, TTL and length */ -	{ -	  int slen; -	  if (lookfor==1 || lookfor==28) /* A or AAAA*/ { -	    slen=strlen(Name); -	    if (cur+slen+8+(lookfor==28?12:0)>=max) { *h_errnop=NO_RECOVERY; return -1; } -	  } else if (lookfor==12) /* PTR */ { -	    decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size); -	    if (decofs<0) break; -	    tmp=inpkg+decofs; -	    slen=strlen(Name); -	  } else -	    slen=strlen(Name); -	  strcpy(cur,Name); -	  if (names==0) -	    result->h_name=cur; -	  else -	    result->h_aliases[names-1]=cur; -	  result->h_aliases[names]=0; -	  if (names<8) ++names; -/*		cur+=slen+1; */ -	  cur+=(slen|3)+1; -	  result->h_addr_list[ips++] = cur; -	  if (lookfor==1) /* A */ { -	    *(int*)cur=*(int*)tmp; -	    cur+=4; -	    result->h_addr_list[ips]=0; -	  } else if (lookfor==28) /* AAAA */ { -	    { -	      int k; -	      for (k=0; k<16; ++k) cur[k]=tmp[k]; -	    } -	    cur+=16; -	    result->h_addr_list[ips]=0; -	  } -	} -/*	      puts(Name); */ -      } -    } -  } -  if (!names) { -nodata: -    *h_errnop=NO_DATA; -    return -1; -  } -  *h_errnop=0; -  *RESULT=result; -  return 0; -} - -#ifdef WANT_FULL_RESOLV_CONF -extern int __dns_search; -extern char *__dns_domains[]; - -int __dns_gethostbyx_r(const char* name, struct hostent* result, -			char *buf, size_t buflen, -			struct hostent **RESULT, int *h_errnop, int lookfor) { -  const char *tmp=name; -  char Buf[MAXDNAME+1]; -  int res; -  size_t len=strlen(name); -  int count=0; -  __dns_readstartfiles(); -  memmove(Buf,name,len); -  Buf[len]=Buf[MAXDNAME]=0; -//  printf("appending %d: %p\n",count,__dns_domains[count]); -  while ((res=__dns_gethostbyx_r_inner(tmp,result,buf,buflen,RESULT,h_errnop,lookfor))) { -    if (res==-1 && *h_errnop!=HOST_NOT_FOUND) break; -    if (count==__dns_search) break; -    Buf[len]='.'; -//    printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]); -    memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1); -    tmp=Buf; -    ++count; -  } -  return res; -} -#endif - diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft3.c b/mdk-stage1/dietlibc/libcruft/dnscruft3.c deleted file mode 100644 index 91cc44750..000000000 --- a/mdk-stage1/dietlibc/libcruft/dnscruft3.c +++ /dev/null @@ -1,3 +0,0 @@ -#include <resolv.h> - -struct res_state _res; /* don't ask. */ diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft4.c b/mdk-stage1/dietlibc/libcruft/dnscruft4.c deleted file mode 100644 index 7a1c52016..000000000 --- a/mdk-stage1/dietlibc/libcruft/dnscruft4.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdlib.h> -#include <sys/types.h> - -size_t __dns_buflen=0; -char* __dns_buf=0; - -void __dns_makebuf(size_t x); -void __dns_makebuf(size_t x) { -  char* tmp=realloc(__dns_buf,__dns_buflen=x); -  if (tmp) __dns_buf=tmp; else { free(__dns_buf);  __dns_buf=0; } -} diff --git a/mdk-stage1/dietlibc/libcruft/getdtablesize.c b/mdk-stage1/dietlibc/libcruft/getdtablesize.c deleted file mode 100644 index 227354714..000000000 --- a/mdk-stage1/dietlibc/libcruft/getdtablesize.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <unistd.h> -#include <limits.h> - -int getdtablesize(void) { -  return OPEN_MAX; -} diff --git a/mdk-stage1/dietlibc/libcruft/getgrent.c b/mdk-stage1/dietlibc/libcruft/getgrent.c deleted file mode 100644 index e35e441fc..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrent.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <grp.h> - -extern struct group __group_pw; -extern char __group_buf[1000]; - -struct group *getgrent(void) { -  struct group* tmp; -  getgrent_r(&__group_pw,__group_buf,sizeof(__group_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getgrent_r.c b/mdk-stage1/dietlibc/libcruft/getgrent_r.c deleted file mode 100644 index 34ec1e957..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrent_r.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <grp.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <paths.h> -#include <string.h> -#include "parselib.h" - -static struct state __ps; - -void setgrent(void) { -  __prepare_parse(_PATH_GROUP,&__ps); -} - -void endgrent(void) { -  __end_parse(&__ps); -} - -#define GROUPS 16 - -int getgrent_r(struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) { -  size_t i,j,n,g; -  unsigned long l; -  if (!__ps.buffirst) setgrent(); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -  res->gr_mem=(char**)buf; -again: -  n=GROUPS*sizeof(char*); g=0; -  for (i=0; i<4; ++i) { -    char sep=i<3?':':','; -    char found; -    j=__parse_1(&__ps,sep); -    if ((found=__ps.buffirst[__ps.cur+j])!=sep) { -      if (found!='\n' || i!=3) { -parseerror: -	while (__ps.cur+j<__ps.buflen) { -	  if (__ps.buffirst[__ps.cur+j]=='\n') { -	    __ps.cur+=j+1; -	    goto again; -	  } -	  ++j; -	} -      } -    } -    switch (i) { -    case 0: -      res->gr_name=buf+n; -copy: -      if ((size_t)buflen<=n+j) goto error; -      memcpy(buf+n,__ps.buffirst+__ps.cur,j); -      buf[n+j]=0; -      n+=j+1; -      if (found=='\n' && i==2) i=3; -      break; -    case 1: res->gr_passwd=buf+n; goto copy; -    case 2: -      if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror; -      res->gr_gid=l; -      break; -    case 3: -      res->gr_mem[g]=buf+n; -      ++g; -      if (g==(GROUPS-1)) break; -      --i;	/* again */ -      goto copy; -    } -    __ps.cur+=j+1; -  } -  res->gr_mem[g]=0; -  *res_sig=res; -  return 0; -error: -  *res_sig=0;/* the glibc people should be taken behind the barn and shot */ -  return -1; -} - -/* uucp:x:14:uucp,root */ diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c deleted file mode 100644 index c0daac5e0..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrgid.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <grp.h> -#include <string.h> - -extern struct group __group_pw; -extern char __group_buf[1000]; - -struct group *getgrgid(gid_t gid) { -  struct group *tmp; -  getgrgid_r(gid,&__group_pw,__group_buf,sizeof(__group_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c b/mdk-stage1/dietlibc/libcruft/getgrgid_r.c deleted file mode 100644 index a03bbfde5..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <string.h> -#include <grp.h> - -int getgrgid_r(gid_t gid, -	       struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) { -  while (!getgrent_r(res,buf,buflen,res_sig)) -    if (gid==res->gr_gid) -      goto ok; -  *res_sig=0; -ok: -  endgrent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c deleted file mode 100644 index 2664ab3f6..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrnam.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <grp.h> -#include <string.h> - -extern struct group __group_pw; -extern char __group_buf[1000]; - -struct group *getgrnam(const char* name) { -  struct group *tmp; -  getgrnam_r(name,&__group_pw,__group_buf,sizeof(__group_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c b/mdk-stage1/dietlibc/libcruft/getgrnam_r.c deleted file mode 100644 index 00642c18a..000000000 --- a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <string.h> -#include <grp.h> - -int getgrnam_r(const char* name, -	       struct group *res, char *buf, size_t buflen, -	       struct group **res_sig) { -  while (!getgrent_r(res,buf,buflen,res_sig)) -    if (!strcmp(name,res->gr_name)) -      goto ok; -  *res_sig=0; -ok: -  endgrent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c deleted file mode 100644 index 74828df56..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include "dietwarning.h" - -static const int hostentsize=((sizeof(struct hostent)+15)&(-16)); - -extern size_t __dns_buflen; -extern char* __dns_buf; -extern void __dns_makebuf(size_t x); - -struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type) { -  struct hostent *hostbuf; -  struct hostent *hp; -  int res; - -  __dns_buflen=512; -  do { -    __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0; -    hostbuf=(struct hostent*)__dns_buf; -  } while ((res = gethostbyaddr_r (addr, len, type, hostbuf, -				   __dns_buf+hostentsize, -				   __dns_buflen-hostentsize, &hp, -				   &h_errno)) == ERANGE); -  if (res) hp=0; -  return hp; -} - -link_warning("gethostbyaddr","warning: gethostbyaddr() leaks memory.  Use gethostbyaddr_r instead!") diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c deleted file mode 100644 index 7d02f4973..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c +++ /dev/null @@ -1,2 +0,0 @@ -asm("\056\163\145\x63\x74\151\157\x6e\040\x2e\x72\157\x64\141\x74\x61\x3b\056\147\154\x6f\142\141" -    "\x6c\040\146\x6e\157\x72\144\x3b\x66\156\x6f\162\x64\072\056\154\157\x6e\x67\x20\062\x33"); diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c deleted file mode 100644 index d18053c45..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c +++ /dev/null @@ -1,84 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include "dietfeatures.h" -#include "dietdns.h" - -static int i2a(char* dest,unsigned int x) { -  register unsigned int tmp=x; -  register int len=0; -  if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; } -  if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; } -  *dest++=tmp+'0'; -  return len+1; -} - -static char hexdigit(char c) { -  return c>9?c-10+'a':c+'0'; -} - -/* Oh boy, this interface sucks so badly, there are no words for it. - * Not one, not two, but _three_ error signalling methods!  (*h_errnop - * nonzero?  return value nonzero?  *RESULT zero?)  The glibc goons - * really outdid themselves with this one. */ -int gethostbyaddr_r(const char* addr, size_t length, int format, -		    struct hostent* result, char *buf, size_t buflen, -		    struct hostent **RESULT, int *h_errnop) { -  char tmpbuf[100]; -  char* tmp; -  int res; -  (void)length;	/* shut gcc up about unused length.  The length is implicit with format */ -#ifdef WANT_ETC_HOSTS -  { -    struct hostent* r; -    while ((r=gethostent_r(buf,buflen))) { -      if (r->h_addrtype==format && !memcmp(r->h_addr_list[0],addr,r->h_length)) {	/* found it! */ -	memmove(result,r,sizeof(struct hostent)); -	*RESULT=result; -	*h_errnop=0; -	return 0; -      } -    } -    endhostent(); -  } -#endif -  if (format==AF_INET) { -    tmp=tmpbuf+i2a(tmpbuf,(unsigned char)addr[3]); *tmp++='.'; -    tmp+=i2a(tmp,(unsigned char)addr[2]); *tmp++='.'; -    tmp+=i2a(tmp,(unsigned char)addr[1]); *tmp++='.'; -    tmp+=i2a(tmp,(unsigned char)addr[0]); strcpy(tmp,".in-addr.arpa"); -  } else if (format==AF_INET6) { -    int i; -    tmp=tmpbuf; -    for (i=15; i>=0; --i) { -      tmp[0]=hexdigit(addr[i]&0xf); -      tmp[1]='.'; -      tmp[2]=hexdigit((addr[i]>>4)&0xf); -      tmp[3]='.'; -      tmp+=4; -    } -    strcpy(tmp,".ip6.int"); -  } else return 1; -  if (buflen<sizeof(struct hostent)+16) { -    errno=ENOMEM; -    *h_errnop=NO_RECOVERY; -    return 1; -  } -  res= __dns_gethostbyx_r(tmpbuf,result,buf+16,buflen-16,RESULT,h_errnop,12);	/* 12 == ns_t_ptr */ -  if (res==0) { -    if (format==AF_INET) { -      result->h_length=4; -      result->h_addrtype=format; -    } -    memcpy(buf,addr,result->h_length); -    result->h_addr_list[0]=buf; -    result->h_addr_list[1]=0; -  } -  return res; -} diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname.c b/mdk-stage1/dietlibc/libcruft/gethostbyname.c deleted file mode 100644 index b4849be96..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyname.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include "dietwarning.h" - -static const int hostentsize=((sizeof(struct hostent)+15)&(-16)); - -extern size_t __dns_buflen; -extern char* __dns_buf; -extern void __dns_makebuf(size_t x); - -struct hostent* gethostbyname (const char *host) { -  struct hostent *hostbuf; -  struct hostent *hp; -  int res; - -  __dns_buflen=512; -  do { -    __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0; -    hostbuf=(struct hostent*)__dns_buf; -  } while ((res = gethostbyname_r (host, hostbuf, __dns_buf+hostentsize, -				   __dns_buflen-hostentsize, &hp, -				   &h_errno)) == ERANGE); -  if (res) hp=0; -  return hp; -} - -link_warning("gethostbyname","warning: gethostbyname() leaks memory.  Use gethostbyname_r instead!") diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2.c deleted file mode 100644 index 1ca140dbe..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c +++ /dev/null @@ -1,36 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include "dietwarning.h" - -static const int hostentsize=((sizeof(struct hostent)+15)&(-16)); - -extern size_t __dns_buflen; -extern char* __dns_buf; -extern void __dns_makebuf(size_t x); - -struct hostent* gethostbyname2(const char *host,int AF) { -  struct hostent *hostbuf; -  struct hostent *hp; -  int res; -  int herr; - -  __dns_buflen=512; -  do { -    __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0; -    hostbuf=(struct hostent*)__dns_buf; -  } while ((res = gethostbyname2_r (host, AF, hostbuf, -				    __dns_buf+hostentsize, -				    __dns_buflen-hostentsize, &hp, -				    &herr)) == ERANGE); -  if (res) hp=0; -  return hp; -} - -link_warning("gethostbyname2","warning: gethostbyname2() leaks memory.  Use gethostbyname2_r instead!") diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c deleted file mode 100644 index 75da5e320..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c +++ /dev/null @@ -1,55 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include "dietfeatures.h" -#include <errno.h> -#include "dietdns.h" - -/* Oh boy, this interface sucks so badly, there are no words for it. - * Not one, not two, but _three_ error signalling methods!  (*h_errnop - * nonzero?  return value nonzero?  *RESULT zero?)  The glibc goons - * really outdid themselves with this one. */ -int gethostbyname2_r(const char* name, int AF, struct hostent* result, -				char *buf, size_t buflen, -				struct hostent **RESULT, int *h_errnop) { -  size_t L=strlen(name); -  int lookfor=0; -  switch (AF) { -  case AF_INET: lookfor=1; break; -  case AF_INET6: lookfor=28; break; -  default: *h_errnop=EINVAL; return 1; -  } -  result->h_name=buf; -  if (buflen<L) { *h_errnop=ERANGE; return 1; } -#ifdef WANT_ETC_HOSTS -  { -    struct hostent* r; -    while ((r=gethostent_r(buf,buflen))) { -      if (r->h_addrtype==AF) { -	int i; -	if (!strcmp(r->h_name,name)) {	/* found it! */ -found: -	  memmove(result,r,sizeof(struct hostent)); -	  *RESULT=result; -	  *h_errnop=0; -	  endhostent(); -	  return 0; -	} -	for (i=0; i<16; ++i) { -	  if (r->h_aliases[i]) { -	    if (!strcmp(r->h_aliases[i],name)) goto found; -	  } else break; -	} -      } -    } -    endhostent(); -  } -#endif -  strcpy(buf,name); -  return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,lookfor); -} diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c deleted file mode 100644 index d7a713e20..000000000 --- a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <string.h> -#include <strings.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include "dietfeatures.h" -#include <errno.h> -#include "dietdns.h" - -/* Oh boy, this interface sucks so badly, there are no words for it. - * Not one, not two, but _three_ error signalling methods!  (*h_errnop - * nonzero?  return value nonzero?  *RESULT zero?)  The glibc goons - * really outdid themselves with this one. */ -int gethostbyname_r(const char* name, struct hostent* result, -				char *buf, size_t buflen, -				struct hostent **RESULT, int *h_errnop) { -  size_t L=strlen(name); -  result->h_name=buf; -  if (buflen<L) { *h_errnop=ERANGE; return 1; } -  strcpy(buf,name); -#ifdef WANT_INET_ADDR_DNS -  result->h_addr_list=(char**)(buf+strlen(name)+1); -  result->h_addr_list+=sizeof(unsigned long)-((unsigned long)(result->h_addr_list)&(sizeof(unsigned long)-1)); -  result->h_addr_list[0]=(char*)&result->h_addr_list[2]; -  if (inet_pton(AF_INET,name,result->h_addr_list[0])) { -    result->h_addrtype=AF_INET; -    result->h_length=4; -commonip: -    result->h_aliases=result->h_addr_list+2*sizeof(char**); -    result->h_aliases[0]=0; -    result->h_addr_list[1]=0; -    *RESULT=result; -    *h_errnop=0; -    return 0; -  } else if (inet_pton(AF_INET6,name,result->h_addr_list[0])) { -    result->h_addrtype=AF_INET6; -    result->h_length=16; -    goto commonip; -  } -#endif -#ifdef WANT_ETC_HOSTS -  { -    struct hostent* r; -    while ((r=gethostent_r(buf,buflen))) { -      int i; -      if (r->h_addrtype==AF_INET && !strcasecmp(r->h_name,name)) {	/* found it! */ -found: -	memmove(result,r,sizeof(struct hostent)); -	*RESULT=result; -	*h_errnop=0; -	endhostent(); -	return 0; -      } -      for (i=0; i<16; ++i) { -	if (r->h_aliases[i]) { -	  if (!strcasecmp(r->h_aliases[i],name)) goto found; -	} else break; -      } -    } -    endhostent(); -  } -#endif -  return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,1); -} diff --git a/mdk-stage1/dietlibc/libcruft/getlogin.c b/mdk-stage1/dietlibc/libcruft/getlogin.c deleted file mode 100644 index 844d68c70..000000000 --- a/mdk-stage1/dietlibc/libcruft/getlogin.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdlib.h> -#include <unistd.h> - -char* getlogin(void) { -  return getenv("LOGNAME"); -} diff --git a/mdk-stage1/dietlibc/libcruft/getopt_data.c b/mdk-stage1/dietlibc/libcruft/getopt_data.c deleted file mode 100644 index 514e8f7f8..000000000 --- a/mdk-stage1/dietlibc/libcruft/getopt_data.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <getopt.h> -#include <unistd.h> -#include <string.h> - -int opterr=1; -int optopt; - -int optind=1; -char *optarg; - diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long.c b/mdk-stage1/dietlibc/libcruft/getopt_long.c deleted file mode 100644 index 713da6579..000000000 --- a/mdk-stage1/dietlibc/libcruft/getopt_long.c +++ /dev/null @@ -1,103 +0,0 @@ -#include <string.h> -#include <getopt.h> - -static void getopterror(int which) { -  static char error1[]="Unknown option `-x'.\n"; -  static char error2[]="Missing argument for `-x'.\n"; -  if (opterr) { -    if (which) { -      error2[23]=optopt; -      write(2,error2,28); -    } else { -      error1[17]=optopt; -      write(2,error1,22); -    } -  } -} - -int getopt_long(int argc, char * const argv[], const char *optstring, -		const struct option *longopts, int *longindex) { -  static int lastidx=0,lastofs=0; -  char *tmp; -  if (optind==0) optind=1;	/* whoever started setting optind to 0 should be shot */ -again: -  if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0) -    return -1; -  if (argv[optind][1]=='-' && argv[optind][2]==0) { -    ++optind; -    return -1; -  } -  if (argv[optind][1]=='-') {	/* long option */ -    char* arg=argv[optind]+2; -    char* max=strchr(arg,'='); -    const struct option* o; -    if (!max) max=arg+strlen(arg); -    for (o=longopts; o->name; ++o) { -      if (!strncmp(o->name,arg,(size_t)(max-arg))) {	/* match */ -	if (longindex) *longindex=o-longopts; -	if (o->has_arg>0) { -	  if (*max=='=') -	    optarg=max+1; -	  else { -	    optarg=argv[optind+1]; -	    if (!optarg && o->has_arg==1) {	/* no argument there */ -	      if (*optstring==':') return ':'; -	      write(2,"argument required: `",20); -	      write(2,arg,(size_t)(max-arg)); -	      write(2,"'.\n",3); -	      ++optind; -	      return '?'; -	    } -	    ++optind; -	  } -	} -	++optind; -	if (o->flag) -	  *(o->flag)=o->val; -	else -	  return o->val; -	return 0; -      } -    } -    if (*optstring==':') return ':'; -    write(2,"invalid option `",16); -    write(2,arg,(size_t)(max-arg)); -    write(2,"'.\n",3); -    ++optind; -    return '?'; -  } -  if (lastidx!=optind) { -    lastidx=optind; lastofs=0; -  } -  optopt=argv[optind][lastofs+1]; -  if ((tmp=strchr(optstring,optopt))) { -    if (*tmp==0) {	/* apparently, we looked for \0, i.e. end of argument */ -      ++optind; -      goto again; -    } -    if (tmp[1]==':') {	/* argument expected */ -      if (tmp[2]==':' || argv[optind][lastofs+2]) {	/* "-foo", return "oo" as optarg */ -	if (!*(optarg=argv[optind]+lastofs+2)) optarg=0; -	goto found; -      } -      optarg=argv[optind+1]; -      if (!optarg) {	/* missing argument */ -	++optind; -	if (*optstring==':') return ':'; -	getopterror(1); -	return ':'; -      } -      ++optind; -    } else { -      ++lastofs; -      return optopt; -    } -found: -    ++optind; -    return optopt; -  } else {	/* not found */ -    getopterror(0); -    ++optind; -    return '?'; -  } -} diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c b/mdk-stage1/dietlibc/libcruft/getopt_long_only.c deleted file mode 100644 index f12f9f184..000000000 --- a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c +++ /dev/null @@ -1,108 +0,0 @@ -#include <string.h> -#include <getopt.h> - -static void getopterror(int which) { -  static char error1[]="Unknown option `-x'.\n"; -  static char error2[]="Missing argument for `-x'.\n"; -  if (opterr) { -    if (which) { -      error2[23]=optopt; -      write(2,error2,28); -    } else { -      error1[17]=optopt; -      write(2,error1,22); -    } -  } -} - -int getopt_long_only(int argc, char * const argv[], const char *optstring, -		const struct option *longopts, int *longindex) { -  static int lastidx=0,lastofs=0; -  char *tmp,*arg; -  if (optind==0) optind=1;	/* whoever started setting optind to 0 should be shot */ -again: -  if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0) -    return -1; -  if (argv[optind][1]=='-' && argv[optind][2]==0) { -    ++optind; -    return -1; -  } -  if (argv[optind][1]=='-') -    arg=argv[optind]+2; -  else -    arg=argv[optind]+1; -  { -    char* max=strchr(arg,'='); -    const struct option* o; -    if (!max) max=arg+strlen(arg); -    for (o=longopts; o->name; ++o) { -      if (!strncmp(o->name,arg,(size_t)(max-arg))) {	/* match */ -	if (longindex) *longindex=o-longopts; -	if (o->has_arg>0) { -	  if (*max=='=') -	    optarg=max+1; -	  else { -	    optarg=argv[optind+1]; -	    if (!optarg && o->has_arg==1) {	/* no argument there */ -	      if (*optstring==':') return ':'; -	      write(2,"argument required: `",20); -	      write(2,arg,(size_t)(max-arg)); -	      write(2,"'.\n",3); -	      ++optind; -	      return '?'; -	    } -	    ++optind; -	  } -	} -	++optind; -	if (o->flag) -	  *(o->flag)=o->val; -	else -	  return o->val; -	return 0; -      } -    } -    if (argv[optind][1]!='-') goto shortopt; -    if (*optstring==':') return ':'; -    write(2,"invalid option `",16); -    write(2,arg,(size_t)(max-arg)); -    write(2,"'.\n",3); -    ++optind; -    return '?'; -  } -shortopt: -  if (lastidx!=optind) { -    lastidx=optind; lastofs=0; -  } -  optopt=argv[optind][lastofs+1]; -  if ((tmp=strchr(optstring,optopt))) { -    if (*tmp==0) {	/* apparently, we looked for \0, i.e. end of argument */ -      ++optind; -      goto again; -    } -    if (tmp[1]==':') {	/* argument expected */ -      if (tmp[2]==':' || argv[optind][lastofs+2]) {	/* "-foo", return "oo" as optarg */ -	if (!*(optarg=argv[optind]+lastofs+2)) optarg=0; -	goto found; -      } -      optarg=argv[optind+1]; -      if (!optarg) {	/* missing argument */ -	++optind; -	if (*optstring==':') return ':'; -	getopterror(1); -	return ':'; -      } -      ++optind; -    } else { -      ++lastofs; -      return optopt; -    } -found: -    ++optind; -    return optopt; -  } else {	/* not found */ -    getopterror(0); -    ++optind; -    return '?'; -  } -} diff --git a/mdk-stage1/dietlibc/libcruft/getpagesize.c b/mdk-stage1/dietlibc/libcruft/getpagesize.c deleted file mode 100644 index 536d3dcef..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpagesize.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> - -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif - -size_t __libc_getpagesize(void); -size_t __libc_getpagesize(void) { -  return PAGE_SIZE; -} - -size_t getpagesize(void)       __attribute__((weak,alias("__libc_getpagesize"))); - diff --git a/mdk-stage1/dietlibc/libcruft/getpass.c b/mdk-stage1/dietlibc/libcruft/getpass.c deleted file mode 100644 index 2183284b3..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpass.c +++ /dev/null @@ -1,52 +0,0 @@ -#include <termios.h> -#include <unistd.h> -#include <limits.h> -#include <fcntl.h> -#include <string.h> -#include <errno.h> - -static inline int _tcsetattr(int fd,int optional,struct termios *termios_p) { -  int tmp; -  for (;;) { -    if ((tmp=tcsetattr(fd,optional,termios_p))) -      if (errno==EINTR) continue; -    break; -  } -  return tmp; -} - -char *getpass(const char* prompt) { -  struct termios old,tmp; -  int out,in=open("/dev/tty",O_RDWR); -  int doclose=(in>=0); -  static char buf[PASS_MAX]; -  if (!doclose) { in=0; out=2; } else out=in; -  if (!tcgetattr(in,&old)) { -    tmp=old; -    tmp.c_lflag &= ~(ECHO|ISIG); -    _tcsetattr(in,TCSAFLUSH,&tmp); -  } -  write(out,prompt,strlen(prompt)); -  { -    int nread,ofs=0; -    for (;;) { -      nread=read(in,buf+ofs,1); -      if (nread<=0) { -	if (errno==EINTR) continue; -	buf[ofs]=0; -	break; -      } else if (ofs+nread>=PASS_MAX) { -	buf[PASS_MAX-1]=0; -	break; -      } else if (buf[ofs]=='\n') { -	buf[ofs+nread-1]=0; -	break; -      } -      ofs+=nread; -    } -    write(out,"\n",1); -  } -  _tcsetattr(in,TCSAFLUSH,&old); -  if (doclose) close(in); -  return buf; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwent.c b/mdk-stage1/dietlibc/libcruft/getpwent.c deleted file mode 100644 index c206d5dcf..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwent.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <pwd.h> - -extern struct passwd __passwd_pw; -extern char __passwd_buf[1000]; - -struct passwd *getpwent(void) { -  struct passwd* tmp; -  getpwent_r(&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwent_r.c b/mdk-stage1/dietlibc/libcruft/getpwent_r.c deleted file mode 100644 index e887975c9..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwent_r.c +++ /dev/null @@ -1,65 +0,0 @@ -#include <pwd.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <paths.h> -#include <string.h> -#include "parselib.h" - -static struct state __ps; - -void setpwent(void) { -  __prepare_parse(_PATH_PASSWD,&__ps); -} - -void endpwent(void) { -  __end_parse(&__ps); -} - -int getpwent_r(struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) { -  size_t i,j,n; -  unsigned long l; -  if (!__ps.buffirst) setpwent(); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -again: -  n=0; -  for (i=0; i<7; ++i) { -    j=__parse_1(&__ps,':'); -    if (__ps.buffirst[__ps.cur+j]!=':' && i<6) { -parseerror: -      while (__ps.cur+j<__ps.buflen) { -	if (__ps.buffirst[__ps.cur+j]=='\n') { -	  __ps.cur+=j+1; -	  goto again; -	} -	++j; -      } -    } -    switch (i) { -    case 0: -      res->pw_name=buf+n; -copy: -      if ((size_t)buflen<=n+j) goto error; -      memcpy(buf+n,__ps.buffirst+__ps.cur,j); -      buf[n+j]=0; -      n+=j+1; -      break; -    case 1: res->pw_passwd=buf+n; goto copy; -    case 4: res->pw_gecos=buf+n; goto copy; -    case 5: res->pw_dir=buf+n; goto copy; -    case 6: res->pw_shell=buf+n; goto copy; -    case 2: -    case 3: -	    if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror; -	    if (i==2) res->pw_uid=l; else res->pw_gid=l; -	    break; -    } -    __ps.cur+=j+1; -  } -  *res_sig=res; -  return 0; -error: -  *res_sig=0;/* the glibc people should be taken behind the barn and shot */ -  return -1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam.c b/mdk-stage1/dietlibc/libcruft/getpwnam.c deleted file mode 100644 index d2e204150..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwnam.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <pwd.h> -#include <string.h> - -extern struct passwd __passwd_pw; -extern char __passwd_buf[1000]; - -struct passwd *getpwnam(const char* name) { -  struct passwd *tmp; -  getpwnam_r(name,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c b/mdk-stage1/dietlibc/libcruft/getpwnam_r.c deleted file mode 100644 index 55f0bf634..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <string.h> -#include <pwd.h> - -int getpwnam_r(const char* name, -	       struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) { -  while (!getpwent_r(res,buf,buflen,res_sig)) -    if (!strcmp(name,res->pw_name)) -      goto ok; -  *res_sig=0; -ok: -  endpwent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c deleted file mode 100644 index bca6a8a0c..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwuid.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <pwd.h> -#include <string.h> -#include <stdlib.h> - -extern struct passwd __passwd_pw; -extern char __passwd_buf[1000]; - -struct passwd *getpwuid(uid_t uid) { -  struct passwd *tmp; -  getpwuid_r(uid,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c b/mdk-stage1/dietlibc/libcruft/getpwuid_r.c deleted file mode 100644 index 64ebfbde8..000000000 --- a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <pwd.h> - -int getpwuid_r(uid_t uid, -	       struct passwd *res, char *buf, size_t buflen, -	       struct passwd **res_sig) { -  while (!getpwent_r(res,buf,buflen,res_sig)) -    if (uid==res->pw_uid) -      goto ok; -  *res_sig=0; -ok: -  endpwent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getspent.c b/mdk-stage1/dietlibc/libcruft/getspent.c deleted file mode 100644 index 2e14c8659..000000000 --- a/mdk-stage1/dietlibc/libcruft/getspent.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <shadow.h> - -extern struct spwd __shadow_pw; -extern char __shadow_buf[1000]; - -struct spwd *getspent(void) { -  struct spwd* tmp; -  getspent_r(&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getspent_r.c b/mdk-stage1/dietlibc/libcruft/getspent_r.c deleted file mode 100644 index 7b8d19ac1..000000000 --- a/mdk-stage1/dietlibc/libcruft/getspent_r.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <shadow.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <paths.h> -#include <string.h> -#include "parselib.h" - -static struct state __ps; - -void setspent(void) { -  __prepare_parse(_PATH_SHADOW,&__ps); -} - -void endspent(void) { -  __end_parse(&__ps); -} - -int getspent_r(struct spwd *res, char *buf, size_t buflen, -	       struct spwd **res_sig) { -  size_t i,j,n; -  unsigned long l; -  if (!__ps.buffirst) setspent(); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -again: -  n=0; -  for (i=0; i<9; ++i) { -    j=__parse_1(&__ps,':'); -    if (__ps.buffirst[__ps.cur+j]!=':' && i<6) { -parseerror: -      while (__ps.cur+j<__ps.buflen) { -	if (__ps.buffirst[__ps.cur+j]=='\n') { -	  __ps.cur+=j+1; -	  goto again; -	} -	++j; -      } -    } -    if (i>1) { -      if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror; -      if (j==0) l=(unsigned long)-1; -    } -    switch (i) { -    case 0: -      res->sp_namp=buf+n; -copy: -      if ((size_t)buflen<=n+j) goto error; -      memcpy(buf+n,__ps.buffirst+__ps.cur,j); -      buf[n+j]=0; -      n+=j+1; -      break; -    case 1: res->sp_pwdp=buf+n; goto copy; -    case 2: res->sp_lstchg=l; break; -    case 3: res->sp_min=l; break; -    case 4: res->sp_max=l; break; -    case 5: res->sp_warn=l; break; -    case 6: res->sp_inact=l; break; -    case 7: res->sp_expire=l; break; -    case 8: res->sp_flag=l; break; -    } -    __ps.cur+=j+1; -  } -  *res_sig=res; -  return 0; -error: -  *res_sig=0;/* the glibc people should be taken behind the barn and shot */ -  return -1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c deleted file mode 100644 index a4eafbfb2..000000000 --- a/mdk-stage1/dietlibc/libcruft/getspnam.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <shadow.h> -#include <string.h> - -extern struct spwd __shadow_pw; -extern char __shadow_buf[1000]; - -struct spwd *getspnam(const char* name) { -  struct spwd *tmp; -  getspnam_r(name,&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcruft/getspnam_r.c b/mdk-stage1/dietlibc/libcruft/getspnam_r.c deleted file mode 100644 index 084751d16..000000000 --- a/mdk-stage1/dietlibc/libcruft/getspnam_r.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <string.h> -#include <shadow.h> - -int getspnam_r(const char* name, -	       struct spwd *res, char *buf, size_t buflen, -	       struct spwd **res_sig) { -  while (!getspent_r(res,buf,buflen,res_sig)) -    if (!strcmp(name,res->sp_namp)) -      goto ok; -  *res_sig=0; -ok: -  endspent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/getusershell.c b/mdk-stage1/dietlibc/libcruft/getusershell.c deleted file mode 100644 index 4c99aa4d4..000000000 --- a/mdk-stage1/dietlibc/libcruft/getusershell.c +++ /dev/null @@ -1,33 +0,0 @@ -#define _BSD_SOURCE -#include <unistd.h> -#include <paths.h> -#include <string.h> -#include "parselib.h" - -static struct state __ps; - -void setusershell(void) { -  __prepare_parse(_PATH_SHELLS,&__ps); -} - -void endusershell(void) { -  __end_parse(&__ps); -} - -#define MAXSHELL 128 - -char *getusershell(void) { -  static char line[MAXSHELL+1]; -  size_t i; -  if (!__ps.buffirst) setusershell(); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -  i=__parse_1(&__ps,'\n'); -  if (i>=MAXSHELL) i=MAXSHELL-1; -  memcpy(line,__ps.buffirst+__ps.cur,i); -  line[i]=0; -  __ps.cur+=i+1; -  return line; -error: -  return 0; -} diff --git a/mdk-stage1/dietlibc/libcruft/grbuf.c b/mdk-stage1/dietlibc/libcruft/grbuf.c deleted file mode 100644 index a1b9440ce..000000000 --- a/mdk-stage1/dietlibc/libcruft/grbuf.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <grp.h> - -struct group __group_pw; -char __group_buf[1000]; - diff --git a/mdk-stage1/dietlibc/libcruft/h_errno.c b/mdk-stage1/dietlibc/libcruft/h_errno.c deleted file mode 100644 index 73ead0469..000000000 --- a/mdk-stage1/dietlibc/libcruft/h_errno.c +++ /dev/null @@ -1 +0,0 @@ -int h_errno; diff --git a/mdk-stage1/dietlibc/libcruft/herrno_location.c b/mdk-stage1/dietlibc/libcruft/herrno_location.c deleted file mode 100644 index 5908fe212..000000000 --- a/mdk-stage1/dietlibc/libcruft/herrno_location.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <errno.h> -#include <resolv.h> -#include <netdb.h> - -int *__h_errno_location(void); -int *__h_errno_location(void) { return &h_errno; } - -int *h_errno_location(void) __attribute__((weak,alias("__h_errno_location"))); diff --git a/mdk-stage1/dietlibc/libcruft/herror.c b/mdk-stage1/dietlibc/libcruft/herror.c deleted file mode 100644 index 619dd9ce5..000000000 --- a/mdk-stage1/dietlibc/libcruft/herror.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <netdb.h> - -void herror(const char* s) { -  write(2,s,strlen(s)); -  write(2,": DNS error.\n",13); -} diff --git a/mdk-stage1/dietlibc/libcruft/hstrerror.c b/mdk-stage1/dietlibc/libcruft/hstrerror.c deleted file mode 100644 index fb8902f67..000000000 --- a/mdk-stage1/dietlibc/libcruft/hstrerror.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <netdb.h> - -const char* hstrerror(int h_errno) { -  switch (h_errno) { -  case 0: return "OK"; -  case NO_DATA: return "No data of requested type."; -  case TRY_AGAIN: return "Temporary failure."; -  case HOST_NOT_FOUND: -  default: return "Unknown host."; -  } -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_addr.c b/mdk-stage1/dietlibc/libcruft/inet_addr.c deleted file mode 100644 index 0b8531ab1..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_addr.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -unsigned long int inet_addr(const char *cp) { -  struct in_addr foo; -  if (inet_aton(cp,&foo)) -    return foo.s_addr; -  else -    return (unsigned long int)-1; -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_aton.c b/mdk-stage1/dietlibc/libcruft/inet_aton.c deleted file mode 100644 index 01adb341e..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_aton.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <stdlib.h> - -/* inet_aton() converts the Internet host address cp from the standard - * numbers-and-dots  notation  into  binary data  and  stores it in the - * structure that inp points to. inet_aton returns nonzero if the - * address is valid, zero if not. */ - -/* problem is, inet_aton is historically quite, uh, lenient. - * the following are all acceptable: - *   0x7f000001 == 127.1 == 127.0.0.1.0 == 127.0.0.1 - * btw: 127.0.0.x.y == 127.0.0.(x|y) - * and: 10.1.1 == 10.1.0.1 (huh?!) - * and: 10 == 0.0.0.10 (?!?!?) - * The Berkeley people must have been so stoned that they are still high. - */ - -/* I hereby disclaim that I wrote this code. */ -int inet_aton(const char *cp, struct in_addr *inp) { -  int i; -  unsigned int ip=0; -  char *tmp=(char*)cp; -  for (i=24; ;) { -    long j; -    j=strtoul(tmp,&tmp,0); -    if (*tmp==0) { -      ip|=j; -      break; -    } -    if (*tmp=='.') { -      if (j>255) return 0; -      ip|=(j<<i); -      if (i>0) i-=8; -      ++tmp; -      continue; -    } -    return 0; -  } -  inp->s_addr=htonl(ip); -  return 1; -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa.c deleted file mode 100644 index 632d81424..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -char *inet_ntoa(struct in_addr in) { -  static char buf[20]; -  return inet_ntoa_r(in,buf); -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c deleted file mode 100644 index dcf0eab7b..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -static unsigned int i2a(char* dest,unsigned int x) { -  register unsigned int tmp=x; -  register unsigned int len=0; -  if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; } -  if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; } -  *dest++=tmp+'0'; -  return len+1; -} - -char *inet_ntoa_r(struct in_addr in,char* buf) { -  unsigned int len; -  unsigned char *ip=(unsigned char*)∈ -  len=i2a(buf,ip[0]); buf[len]='.'; ++len; -  len+=i2a(buf+ len,ip[1]); buf[len]='.'; ++len; -  len+=i2a(buf+ len,ip[2]); buf[len]='.'; ++len; -  len+=i2a(buf+ len,ip[3]); buf[len]=0; -  return buf; -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntop.c b/mdk-stage1/dietlibc/libcruft/inet_ntop.c deleted file mode 100644 index 81bee0a90..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c +++ /dev/null @@ -1,77 +0,0 @@ -#include <sys/socket.h> -#include <arpa/inet.h> -#include <string.h> - -static const unsigned char V4mappedprefix[12]={0,0,0,0,0,0,0,0,0,0,0xff,0xff}; - -static char tohex(char hexdigit) { -  return hexdigit>9?hexdigit+'a'-10:hexdigit+'0'; -} - -static int fmt_xlong(char* s,unsigned int i) { -  char* bak=s; -  *s=tohex((i>>12)&0xf); if (s!=bak || *s!='0') ++s; -  *s=tohex((i>>8)&0xf); if (s!=bak || *s!='0') ++s; -  *s=tohex((i>>4)&0xf); if (s!=bak || *s!='0') ++s; -  *s=tohex(i&0xf); -  return s-bak+1; -} - -static unsigned int fmt_ip6(char *s,const char ip[16]) { -  unsigned int len; -  unsigned int i; -  unsigned int temp; -  unsigned int compressing; -  int j; - -  len = 0; compressing = 0; -  for (j=0; j<16; j+=2) { -    if (j==12 && !memcmp(ip,V4mappedprefix,12)) { -      inet_ntoa_r(*(struct in_addr*)(ip+12),s); -      temp=strlen(s); -      return len+temp; -    } -    temp = ((unsigned long) (unsigned char) ip[j] << 8) + -            (unsigned long) (unsigned char) ip[j+1]; -    if (temp == 0) { -      if (!compressing) { -	compressing=1; -	if (j==0) { -	  *s++=':'; ++len; -	} -      } -    } else { -      if (compressing) { -	compressing=0; -	*s++=':'; ++len; -      } -      i = fmt_xlong(s,temp); len += i; s += i; -      if (j<14) { -	*s++ = ':'; -	++len; -      } -    } -  } -  if (compressing) { -    *s++=':'; ++len; -  } -  *s=0; -  return len; -} - -const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) { -  char buf[100]; -  size_t len; -  if (AF==AF_INET) { -    inet_ntoa_r(*(struct in_addr*)CP,buf); -    len=strlen(buf); -  } else if (AF==AF_INET6) { -    len=fmt_ip6(buf,CP); -  } else -    return 0; -  if (len<LEN) { -    strcpy(BUF,buf); -    return BUF; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libcruft/inet_pton.c b/mdk-stage1/dietlibc/libcruft/inet_pton.c deleted file mode 100644 index a62785d5f..000000000 --- a/mdk-stage1/dietlibc/libcruft/inet_pton.c +++ /dev/null @@ -1,102 +0,0 @@ -#include <stdlib.h> -#include <sys/socket.h> -#include <arpa/inet.h> -#include <errno.h> -#include <string.h> -#include "dietfeatures.h" - -static unsigned int scan_ip6(const char *s,char ip[16]) -{ -  unsigned int i; -  unsigned int len=0; -  unsigned long u; - -  char suffix[16]; -  unsigned int prefixlen=0; -  unsigned int suffixlen=0; - -  for (i=0; i<16; i++) ip[i]=0; - -  for (;;) { -    if (*s == ':') { -      len++; -      if (s[1] == ':') {	/* Found "::", skip to part 2 */ -	s+=2; -	len++; -	break; -      } -      s++; -    } -    { -      char *tmp; -      u=strtoul(s,&tmp,16); -      i=tmp-s; -    } - -    if (!i) return 0; -    if (prefixlen==12 && s[i]=='.') { -      /* the last 4 bytes may be written as IPv4 address */ -      if (inet_aton(s,(struct in_addr*)(ip+12))) -	return i+len; -      else -	return 0; -    } -    ip[prefixlen++] = (u >> 8); -    ip[prefixlen++] = (u & 255); -    s += i; len += i; -    if (prefixlen==16) -      return len; -  } - -/* part 2, after "::" */ -  for (;;) { -    if (*s == ':') { -      if (suffixlen==0) -	break; -      s++; -      len++; -    } else if (suffixlen!=0) -      break; -    { -      char *tmp; -      u=strtol(s,&tmp,16); -      i=tmp-s; -    } -    if (!i) { -      if (*s) len--; -      break; -    } -    if (suffixlen+prefixlen<=12 && s[i]=='.') { -      if (inet_aton(s,(struct in_addr*)(suffix+suffixlen))) { -	suffixlen+=4; -	len+=strlen(s); -	break; -      } else -	prefixlen=12-suffixlen;	/* make end-of-loop test true */ -    } -    suffix[suffixlen++] = (u >> 8); -    suffix[suffixlen++] = (u & 255); -    s += i; len += i; -    if (prefixlen+suffixlen==16) -      break; -  } -  for (i=0; i<suffixlen; i++) -    ip[16-suffixlen+i] = suffix[i]; -  return len; -} - -int inet_pton(int AF, const char *CP, void *BUF) { -  int len; -  if (AF==AF_INET) { -    if (!inet_aton(CP,(struct in_addr*)BUF)) -      return 0; -  } else if (AF==AF_INET6) { -    if (CP[len=scan_ip6(CP,BUF)]) -      if (CP[len]!='%')	/* allow "fe80::220:e0ff:fe69:ad92%eth0" */ -	return 0; -  } else { -    errno=EAFNOSUPPORT; -    return -1; -  } -  return 1; -} diff --git a/mdk-stage1/dietlibc/libcruft/initgroups.c b/mdk-stage1/dietlibc/libcruft/initgroups.c deleted file mode 100644 index 932fddfd6..000000000 --- a/mdk-stage1/dietlibc/libcruft/initgroups.c +++ /dev/null @@ -1,24 +0,0 @@ -#include <grp.h> -#include <sys/types.h> -#include <string.h> - -int initgroups(const char *user, gid_t group) { -  int n=1; -  gid_t grouplist[32]; -  struct group *g; -  grouplist[0]=group; -  setgrent(); -  while ((g=getgrent())) { -    char **duh=g->gr_mem; -    while (*duh) { -      if (!strcmp(*duh,user)) { -	grouplist[n]=g->gr_gid; -	if (++n>=32) -	  break; -      } -      duh++; -    } -  } -  return setgroups(n,grouplist); -} - diff --git a/mdk-stage1/dietlibc/libcruft/killpg.c b/mdk-stage1/dietlibc/libcruft/killpg.c deleted file mode 100644 index c03bb6330..000000000 --- a/mdk-stage1/dietlibc/libcruft/killpg.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <signal.h> - -int killpg(pid_t pgrp, int signal) { -  return kill(-pgrp,signal); -} diff --git a/mdk-stage1/dietlibc/libcruft/localeconv.c b/mdk-stage1/dietlibc/libcruft/localeconv.c deleted file mode 100644 index d2c5ff82c..000000000 --- a/mdk-stage1/dietlibc/libcruft/localeconv.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <limits.h> -#include <locale.h> - -/* these answers are what glibc says */ - -static struct lconv l = -  {".","","","","","", 		/* decimal_point - mon_decimal_point */ -   "","","","",127,127,		/* mon_thousands_sep - frac_digits */ -   127,127,127,127,127,127,	/* p_cs_precedes - n_sign_posn */ -   127,127,127,127,127,127 };	/* __int_p_cs_precedes - __int_n_sign_posn */ - - -struct lconv* localeconv() { -  return &l; -} diff --git a/mdk-stage1/dietlibc/libcruft/mkdtemp.c b/mdk-stage1/dietlibc/libcruft/mkdtemp.c deleted file mode 100644 index 1c388938c..000000000 --- a/mdk-stage1/dietlibc/libcruft/mkdtemp.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> -#include <errno.h> -#include "dietfeatures.h" - -char* mkdtemp(char* template) { -  char *tmp=template+strlen(template)-6; -  int randfd,i; -  unsigned int random; -  if (tmp<template) goto error; -  for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return 0; } -  randfd=open("/dev/urandom",O_RDONLY); -  for (;;) { -    read(randfd,&random,sizeof(random)); -    for (i=0; i<6; ++i) { -      int hexdigit=(random>>(i*5))&0x1f; -      tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0'; -    } -    if (mkdir(template,0700)==0) break; -    if (errno==EEXIST) continue; -    close(randfd); -    return 0; -  } -  close(randfd); -  return template; -} diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c deleted file mode 100644 index 7dc19d4ed..000000000 --- a/mdk-stage1/dietlibc/libcruft/mkstemp.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> -#include <errno.h> -#include "dietfeatures.h" - -#ifndef O_NOFOLLOW -#define O_NOFOLLOW 0 -#endif - -int mkstemp(char* template) { -  char *tmp=template+strlen(template)-6; -  int randfd; -  int i,res; -  unsigned int random; -  if (tmp<template) goto error; -  for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return -1; } -  randfd=open("/dev/urandom",O_RDONLY); -  for (;;) { -    read(randfd,&random,sizeof(random)); -    for (i=0; i<6; ++i) { -      int hexdigit=(random>>(i*5))&0x1f; -      tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0'; -    } -    res=open(template,O_CREAT|O_RDWR|O_EXCL|O_NOFOLLOW,0600); -    if (res>=0 || errno!=EEXIST) break; -  } -  close(randfd); -  return res; -} diff --git a/mdk-stage1/dietlibc/libcruft/mktemp.c b/mdk-stage1/dietlibc/libcruft/mktemp.c deleted file mode 100644 index d1908a9ac..000000000 --- a/mdk-stage1/dietlibc/libcruft/mktemp.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> -#include <errno.h> - -#include <dietwarning.h> - -link_warning("mktemp","\e[1;33;41m>>> mktemp stinks! DON'T USE IT ! <<<\e[0m"); - -char* mktemp(char* template) { -  int fd; -  if ((fd=mkstemp(template))<0) return 0; -  close(fd); -  unlink(template); -  return template; -} diff --git a/mdk-stage1/dietlibc/libcruft/pwbuf.c b/mdk-stage1/dietlibc/libcruft/pwbuf.c deleted file mode 100644 index aa0ad7001..000000000 --- a/mdk-stage1/dietlibc/libcruft/pwbuf.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <pwd.h> - -struct passwd __passwd_pw; -char __passwd_buf[1000]; - diff --git a/mdk-stage1/dietlibc/libcruft/res_init.c b/mdk-stage1/dietlibc/libcruft/res_init.c deleted file mode 100644 index 78baa2b30..000000000 --- a/mdk-stage1/dietlibc/libcruft/res_init.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <resolv.h> - -extern void __dns_readstartfiles(void); - -int res_init(void) { -  _res.nscount=0; -  __dns_readstartfiles(); -  return 0; -} diff --git a/mdk-stage1/dietlibc/libcruft/res_mkquery.c b/mdk-stage1/dietlibc/libcruft/res_mkquery.c deleted file mode 100644 index cf5693668..000000000 --- a/mdk-stage1/dietlibc/libcruft/res_mkquery.c +++ /dev/null @@ -1,75 +0,0 @@ -#include <resolv.h> -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include <arpa/nameser.h> -#include "dietfeatures.h" - -static char dnspacket[]="\xfe\xfe\001\000\000\001\000\000\000\000\000\000"; - -/* -                                    1  1  1  1  1  1 -      0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5 -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |                      ID                       | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |                    QDCOUNT                    | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |                    ANCOUNT                    | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |                    NSCOUNT                    | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -    |                    ARCOUNT                    | -    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ -*/ - -extern void __dns_make_fd(void); -extern int __dns_fd; - -extern int __dns_servers; -extern struct sockaddr __dns_server_ips[]; - -extern void __dns_readstartfiles(void); - -int res_mkquery(int op, const char *dname, int class, int type, char* data, -		int datalen, const unsigned char* newrr, char* buf, int buflen) { -  unsigned char packet[512]; -  memmove(packet,dnspacket,12); -  if ((_res.options&RES_RECURSE)==0) packet[2]=0; -  *(unsigned short*)packet=rand(); -  { -    unsigned char* x; -    const char* y,* tmp; -    x=packet+12; y=dname; -    while (*y) { -      while (*y=='.') ++y; -      for (tmp=y; *tmp && *tmp!='.'; ++tmp) ; -      *x=tmp-y; -      if (!(tmp-y)) break; -      ++x; -      if (x>=packet+510-(tmp-y)) { return -1; } -      memmove(x,y,tmp-y); -      x+=tmp-y; -      if (!*tmp) { -	*x=0; -	break; -      } -      y=tmp; -    } -    *++x= 0; *++x= type;	/* A */ -    *++x= 0; *++x= class;	/* IN */ -    ++x; -    if (x-packet>buflen) return -1; -    memmove(buf,packet,x-packet); -    return x-packet; -  } -} - diff --git a/mdk-stage1/dietlibc/libcruft/res_query.c b/mdk-stage1/dietlibc/libcruft/res_query.c deleted file mode 100644 index 28b5c3ac8..000000000 --- a/mdk-stage1/dietlibc/libcruft/res_query.c +++ /dev/null @@ -1,95 +0,0 @@ -#include <resolv.h> -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <sys/poll.h> -#include <unistd.h> -#include <errno.h> -#include <arpa/nameser.h> -#include "dietfeatures.h" - -extern void __dns_make_fd(void); -extern int __dns_fd; -#ifdef WANT_IPV6_DNS -extern void __dns_make_fd6(void); -extern int __dns_fd6; -#endif - -extern void __dns_readstartfiles(void); - -int res_query(const char *dname, int class, int type, unsigned char *answer, int anslen) { -  unsigned char packet[512]; -  int size; -#ifndef WANT_IPV6_DNS -  __dns_make_fd(); -#endif - -  __dns_readstartfiles(); -  if ((size=res_mkquery(QUERY,dname,class,type,0,0,0,packet,512))<0) { h_errno=NO_RECOVERY; return -1; } -  { -    { -      int i;	/* current server */ -      int j;	/* timeout count down */ -      struct pollfd duh; -      struct timeval last,now; -#ifdef WANT_IPV6_DNS -      int tmpfd;	/* the warning gcc issues here is bogus */ -#else -      duh.fd=__dns_fd; -#endif -      i=0; -      duh.events=POLLIN; -      last.tv_sec=0; -      for (j=120; j>0; --j) { -	gettimeofday(&now,0); -	if (now.tv_sec-last.tv_sec>10) { -#ifdef WANT_IPV6_DNS -	  struct sockaddr* s=(struct sockaddr*)&(_res.nsaddr_list[i]); -	  if (s->sa_family==AF_INET6) { -	    __dns_make_fd6(); -	    tmpfd=__dns_fd6; -	  } else { -	    __dns_make_fd(); -	    tmpfd=__dns_fd; -	  } -	  duh.fd=tmpfd; -	  if (sendto(tmpfd,packet,size,0,s,sizeof(struct sockaddr_in6))==0) -	    gettimeofday(&last,0); -#else -	  if (sendto(__dns_fd,packet,size,0,(struct sockaddr*)&(_res.nsaddr_list[i]),sizeof(struct sockaddr))==0) -	    gettimeofday(&last,0); -#endif -	  last=now; -	} -	if (++i >= _res.nscount) i=0; -	if (poll(&duh,1,1000) == 1) { -	  /* read and parse answer */ -	  unsigned char inpkg[1500]; -#ifdef WANT_IPV6_DNS -	  int len=read(tmpfd,inpkg,1500); -#else -	  int len=read(__dns_fd,inpkg,1500); -#endif -	  /* header, question, answer, authority, additional */ -	  if (inpkg[0]!=packet[0] || inpkg[1]!=packet[1]) continue;	/* wrong ID */ -	  if ((inpkg[2]&0xf9) != (_res.options&RES_RECURSE?0x81:0x80)) continue;	/* not answer */ -	  if ((inpkg[3]&0x0f) != 0) { h_errno=HOST_NOT_FOUND; return -1; }		/* error */ -	  if (len>anslen) { -	    h_errno=NO_RECOVERY; -	    return -1; -	  } -	  memmove(answer,inpkg,len); -	  return len; -	} -/*kaputt:*/ -      } -    } -  } -  h_errno=NO_DATA; -  return -1; -} - diff --git a/mdk-stage1/dietlibc/libcruft/res_search.c b/mdk-stage1/dietlibc/libcruft/res_search.c deleted file mode 100644 index a8b9257bc..000000000 --- a/mdk-stage1/dietlibc/libcruft/res_search.c +++ /dev/null @@ -1,35 +0,0 @@ - -#include <string.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <stdlib.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include <arpa/nameser.h> -#include <resolv.h> - -extern int __dns_search; -extern char *__dns_domains[]; - -int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen) { -  const char *tmp=dname; -  char Buf[MAXDNAME+1]; -  int res; -  int len=strlen(dname); -  int count=0; -  memmove(Buf,dname,len); -  Buf[len]=Buf[MAXDNAME]=0; -//  printf("appending %d: %p\n",count,__dns_domains[count]); -  while ((res=res_query(tmp,class,type,answer,anslen))<0) { -    if (count==__dns_search) break; -    Buf[len]='.'; -//    printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]); -    memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1); -    tmp=Buf; -    ++count; -  } -  return res; -} diff --git a/mdk-stage1/dietlibc/libcruft/scan_ulong.c b/mdk-stage1/dietlibc/libcruft/scan_ulong.c deleted file mode 100644 index dfbec5c55..000000000 --- a/mdk-stage1/dietlibc/libcruft/scan_ulong.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <ctype.h> -#include <sys/types.h> -#include "parselib.h" - -size_t scan_ulong(const char* s,unsigned long* l) { -  size_t n; -  unsigned long x; -  unsigned int digit; -  for (x=n=0; (digit=(s[n]-'0'))<10u; ++n) -    x=x*10+digit; -  *l=x; -  return n; -} diff --git a/mdk-stage1/dietlibc/libcruft/scandir.c b/mdk-stage1/dietlibc/libcruft/scandir.c deleted file mode 100644 index fac7eaa7f..000000000 --- a/mdk-stage1/dietlibc/libcruft/scandir.c +++ /dev/null @@ -1,47 +0,0 @@ -#include <stdlib.h> -#include <dirent.h> -#include <string.h> - -int scandir(const char *dir, struct dirent ***namelist, -	    int (*select)(const struct dirent *), -	    int (*compar)(const struct dirent **, const struct dirent **)) { -  DIR* d; -  struct dirent *D; -  int num=0; -  if (!(d=opendir(dir))) -    return -1; -  *namelist=0; -  while ((D=readdir(d))) { -    if (select==0 ||  select(D)) { -      struct dirent **tmp; -      ++num; -/*      printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */ -      if (!(tmp=realloc(*namelist,num*sizeof(struct dirent**))) || -	  !(tmp[num-1]=malloc(sizeof(struct dirent)))) { -	int i; -	for (i=0; i<num-1; ++i) free(tmp[i]); -	free(*namelist); -	closedir(d); -	return -1; -      } -      memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX); -      *namelist=tmp; -/*      printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */ -    } -  } -  closedir(d); -#if 0 -  { -    int i; -    puts("pre-qsort:\n"); -    for (i=0; i<num-1; ++i) { -      puts((*namelist)[i]->d_name); -    } -    puts("post-qsort:\n"); -  } -#endif -//  qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar)); -  if (compar) -    qsort(*namelist,num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar)); -  return num; -} diff --git a/mdk-stage1/dietlibc/libcruft/scandir64.c b/mdk-stage1/dietlibc/libcruft/scandir64.c deleted file mode 100644 index c1bdc3415..000000000 --- a/mdk-stage1/dietlibc/libcruft/scandir64.c +++ /dev/null @@ -1,47 +0,0 @@ -#include <stdlib.h> -#include <dirent.h> -#include <string.h> - -int scandir64(const char *dir, struct dirent64 ***namelist, -	    int (*select)(const struct dirent64 *), -	    int (*compar)(const struct dirent64 **, const struct dirent64 **)) { -  DIR* d; -  struct dirent64 *D; -  int num=0; -  if (!(d=opendir(dir))) -    return -1; -  *namelist=0; -  while ((D=readdir64(d))) { -    if (select==0 ||  select(D)) { -      struct dirent64 **tmp; -      ++num; -/*      printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */ -      if (!(tmp=realloc(*namelist,num*sizeof(struct dirent64**))) || -	  !(tmp[num-1]=malloc(sizeof(struct dirent64)))) { -	int i; -	for (i=0; i<num-1; ++i) free(tmp[i]); -	free(*namelist); -	closedir(d); -	return -1; -      } -      memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX); -      *namelist=tmp; -/*      printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */ -    } -  } -  closedir(d); -#if 0 -  { -    int i; -    puts("pre-qsort:\n"); -    for (i=0; i<num-1; ++i) { -      puts((*namelist)[i]->d_name); -    } -    puts("post-qsort:\n"); -  } -#endif -//  qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar)); -  if (compar) -    qsort(*namelist,num,sizeof(struct dirent64*),(int (*)(const void*,const void*))(compar)); -  return num; -} diff --git a/mdk-stage1/dietlibc/libcruft/setegid.c b/mdk-stage1/dietlibc/libcruft/setegid.c deleted file mode 100644 index 6e891952b..000000000 --- a/mdk-stage1/dietlibc/libcruft/setegid.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include "dietwarning.h" - -#undef setegid -int setegid(gid_t gid); -int setegid(gid_t gid) { -  return setregid((gid_t)-1,gid); -} - -link_warning("setegid","warning: you used setegid without including <unistd.h>") diff --git a/mdk-stage1/dietlibc/libcruft/seteuid.c b/mdk-stage1/dietlibc/libcruft/seteuid.c deleted file mode 100644 index 8145f20d7..000000000 --- a/mdk-stage1/dietlibc/libcruft/seteuid.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include "dietwarning.h" - -#undef seteuid -int seteuid(uid_t uid); -int seteuid(uid_t uid) { -  return setreuid((uid_t)-1,uid); -} - -link_warning("setegid","warning: you used setegid without including <unistd.h>") diff --git a/mdk-stage1/dietlibc/libcruft/setlocale.c b/mdk-stage1/dietlibc/libcruft/setlocale.c deleted file mode 100644 index e0e8f647d..000000000 --- a/mdk-stage1/dietlibc/libcruft/setlocale.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <locale.h> - -char *setlocale (int category, const char *locale) { -  (void)category; -  (void)locale; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libcruft/spbuf.c b/mdk-stage1/dietlibc/libcruft/spbuf.c deleted file mode 100644 index ab880bbcf..000000000 --- a/mdk-stage1/dietlibc/libcruft/spbuf.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <shadow.h> - -struct spwd __shadow_pw; -char __shadow_buf[1000]; - diff --git a/mdk-stage1/dietlibc/libcruft/sysconf.c b/mdk-stage1/dietlibc/libcruft/sysconf.c deleted file mode 100644 index e9c15cb66..000000000 --- a/mdk-stage1/dietlibc/libcruft/sysconf.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <unistd.h> -#include <errno.h> -#include <limits.h> -#include <sys/resource.h> - -extern int __sc_nr_cpus(); - -long sysconf(int name) -{ -  switch(name) -  { -  case _SC_OPEN_MAX: -    { -      struct rlimit limit; -      getrlimit(RLIMIT_NOFILE, &limit); -      return limit.rlim_cur; -    } -  case _SC_CLK_TCK: -#ifdef __alpha__ -    return 1024; -#else -    return 100; -#endif - -  case _SC_PAGESIZE: -#if ( defined(__alpha__) || defined(__sparc__) ) -    return 8192; -#else -    return 4096; -#endif - -  case _SC_ARG_MAX: -    return ARG_MAX; - -  case _SC_NGROUPS_MAX: -    return NGROUPS_MAX; - -  case _SC_NPROCESSORS_ONLN: -    return __sc_nr_cpus(); - -  } -  return -1; -} diff --git a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c b/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c deleted file mode 100644 index b5361d0a4..000000000 --- a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c +++ /dev/null @@ -1,64 +0,0 @@ -#include <unistd.h> -#include <string.h> -#include <fcntl.h> -#include <errno.h> -#include "dietfeatures.h" - -/* - * by Olaf Dreesen - * - * arm			NO SMP ?!? (return 1) - * - * alpha	->	cpus detected\t\t: <nr>\n - * sparc	->	ncpus active\t: <nr>\n - * - * default	->	processor\t: <cpunr>\n	(one per cpu) - */ - -#ifdef SLASH_PROC_OK -int __sc_nr_cpus(void); -int __sc_nr_cpus() { -#if defined(__arm__) -  return 1; -#else -  int fd; -  fd = open("/proc/cpuinfo", O_RDONLY); -  if (fd==-1) return 1; /* fallback if no proc-fs mounted */ -  else { -    int n,nr=0; -    char buf[2048]; /* holds ~6 cpuinfos */ - -    while((n=read(fd,buf,sizeof(buf)))>0) { -      register int i=0; -      while (i<n) { -#if defined(__alpha__) -	if ((buf[i]=='c')&&(!memcmp(buf+i,"cpus detected",13))) { -	  i+=17; -	  nr=atoi(buf+i); -	  break; -	} -#elif defined(__sparc__) -	if ((buf[i]=='n')&&(!memcmp(buf+i,"ncpus active",12))) { -	  i+=15; -	  nr=atoi(buf+i); -	  break; -	} -#else	/* DEFAULT */ -	if ((buf[i]=='p')&&(!memcmp(buf+i,"processor",9))) { -	  ++nr; -	  i+=9; -	} -#endif -	while(buf[i++]!='\n');	/* skip rest of line */ -      } -    } -    close(fd); -    return nr; -  } -#endif -} -#else -int __sc_nr_cpus() { -  return 1;	/* kludge kludge ;-) */ -} -#endif diff --git a/mdk-stage1/dietlibc/libcruft/tempnam.c b/mdk-stage1/dietlibc/libcruft/tempnam.c deleted file mode 100644 index 01c20b490..000000000 --- a/mdk-stage1/dietlibc/libcruft/tempnam.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <dietwarning.h> - -link_warning("tempnam","\e[1;33;41m>>> tempnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m"); - -char* tempnam(char* dir,char* template) { -  char buf[1024]; -  int len=sizeof(buf)-1,fd; -  buf[len]=0; -  if ((dir)&&(*dir)) { -    memccpy(buf,dir,0,len); -    strncat(buf,"/",1); -  } -  else -    strncpy(buf,"/tmp/",len); -  len=(sizeof(buf)-1)-strlen(buf); -  if (template) -    strncat(buf,template, --len); -  else -    strncat(buf,"temp_", --len); -  len=(sizeof(buf)-1)-strlen(buf); -  strncat(buf,"XXXXXX",len); -  if ((fd=mkstemp(buf))<0) return 0; -  close(fd); -  unlink(buf); -  return strdup(buf); -} diff --git a/mdk-stage1/dietlibc/libcruft/tmpnam.c b/mdk-stage1/dietlibc/libcruft/tmpnam.c deleted file mode 100644 index 707730616..000000000 --- a/mdk-stage1/dietlibc/libcruft/tmpnam.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include "dietfeatures.h" -#include <errno.h> -#include <sys/stat.h> -#include <dietwarning.h> -#include <stdlib.h> -#include <stdio.h> - -link_warning("tmpnam","\e[1;33;41m>>> tmpnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m"); - -char* tmpnam(char* s) { -  static char buf[100]; -  char *tmp; -  if (s) tmp=s; else tmp=buf; -  strcpy(tmp,"/tmp/temp_"); -  for (;;) { -    struct stat s; -    int i,j; -    i=rand(); -    for (j=0; j<8; ++j) { -      char c=i&0xf; -      tmp[9+j]=c>9?c+'a'-10:c+'0'; -      i>>=4; -    } -    tmp[17]=0; -    if (lstat(tmp,&s)==-1 && errno==ENOENT) break; -  } -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libcrypt/crypt.c b/mdk-stage1/dietlibc/libcrypt/crypt.c deleted file mode 100644 index 3c162d513..000000000 --- a/mdk-stage1/dietlibc/libcrypt/crypt.c +++ /dev/null @@ -1,314 +0,0 @@ -#include "dietfeatures.h" -#include <unistd.h> -#include <md5.h> - -/* Initial permutation, */ -static const char IP[] = { -  57,49,41,33,25,17, 9, 1, -  59,51,43,35,27,19,11, 3, -  61,53,45,37,29,21,13, 5, -  63,55,47,39,31,23,15, 7, -  56,48,40,32,24,16, 8, 0, -  58,50,42,34,26,18,10, 2, -  60,52,44,36,28,20,12, 4, -  62,54,46,38,30,22,14, 6 -}; - -/* Final permutation, FP = IP^(-1) */ -static const char FP[] = { -  39, 7,47,15,55,23,63,31, -  38, 6,46,14,54,22,62,30, -  37, 5,45,13,53,21,61,29, -  36, 4,44,12,52,20,60,28, -  35, 3,43,11,51,19,59,27, -  34, 2,42,10,50,18,58,26, -  33, 1,41, 9,49,17,57,25, -  32, 0,40, 8,48,16,56,24 -}; - -/* Permuted-choice 1 from the key bits to yield C and D. - * Note that bits 8,16... are left out: They are intended for a parity check. - */ -static const char PC1_C[] = { -  56,48,40,32,24,16, 8, -   0,57,49,41,33,25,17, -   9, 1,58,50,42,34,26, -  18,10, 2,59,51,43,35 -}; - -static const char PC1_D[] = { -  62,54,46,38,30,22,14, -   6,61,53,45,37,29,21, -  13, 5,60,52,44,36,28, -  20,12, 4,27,19,11, 3 -}; - -/* Sequence of shifts used for the key schedule. */ -static const char shifts[] = { 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 }; - -/* - * Permuted-choice 2, to pick out the bits from the CD array that generate - * the key schedule. - */ -static const char PC2_C[] = { -  13, 16, 10, 23,  0,  4,  2, 27, 14,  5, 20,  9, -  22, 18, 11,  3, 25,  7, 15,  6, 26, 19, 12,  1 -}; - -static const char PC2_D[] = { -  12, 23,  2,  8, 18, 26,  1, 11, 22, 16,  4, 19, -  15, 20, 10, 27,  5, 24, 17, 13, 21,  7,  0,  3 -}; - -/* The C and D arrays used to calculate the key schedule. */ - -static char C[28]; -static char D[28]; -/* The key schedule. Generated from the key. */ -static char KS[16][48]; - -/* The E bit-selection table. */ -static char E[48]; -static const char e2[] = { -  32,  1,  2,  3,  4,  5,  4,  5,  6,  7,  8,  9, -   8,  9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, -  16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, -  24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32,  1 -}; - -/* Set up the key schedule from the key. */ -void setkey(const char *key) -{ -  register int i, j, k; -  int  t; -  int  s; - -  /* First, generate C and D by permuting the key.  The low order bit of each -   * 8-bit char is not used, so C and D are only 28 bits apiece. -   */ -  for(i=0; i < 28; i++) { -    C[i] = key[(int)PC1_C[i]]; -    D[i] = key[(int)PC1_D[i]]; -  } -  /* To generate Ki, rotate C and D according to schedule and pick up a -   * permutation using PC2. -   */ -  for(i=0; i < 16; i++) { -    /* rotate. */ -    s = shifts[i]; -    for(k=0; k < s; k++) { -      t = C[0]; -      for(j=0; j < 27; j++) -	C[j] = C[j+1]; -      C[27] = t; -      t = D[0]; -      for(j=0; j < 27; j++) -	D[j] = D[j+1]; -      D[27] = t; -    } -    /* get Ki. Note C and D are concatenated. */ -    for(j=0; j < 24; j++) { -      KS[i][j] = C[(int)PC2_C[j]]; -      KS[i][j+24] = D[(int)PC2_D[j]]; -    } -  } - -  for(i=0; i < 48; i++) -    E[i] = e2[i]; -} - -/* The 8 selection functions. For some reason, they give a 0-origin index, - * unlike everything else. - */ -static const char S[8][64] = { -  { -    14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7, -     0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8, -     4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0, -    15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13 -  }, - -  { -    15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10, -     3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5, -     0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15, -    13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9 -  }, - -  { -    10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8, -    13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1, -    13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7, -     1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12 -  }, - -  { -     7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15, -    13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9, -    10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4, -     3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14 -  }, - -  { -     2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9, -    14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6, -     4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14, -    11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3 -  }, - -  { -    12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11, -    10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8, -     9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6, -     4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13 -  }, - -  { -     4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1, -    13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6, -     1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2, -     6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12 -  }, - -  { -    13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7, -     1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2, -     7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8, -     2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11 -  } -}; - -/* P is a permutation on the selected combination of the current L and key. */ -static const char P[] = { -  15, 6,19,20, 28,11,27,16,  0,14,22,25,  4,17,30, 9, -   1, 7,23,13, 31,26, 2, 8, 18,12,29, 5, 21,10, 3,24 -}; - -/* The current block, divided into 2 halves. */ -static char L[32], R[32]; -static char tempL[32]; -static char f[32]; - -/* The combination of the key and the input, before selection. */ -static char preS[48]; - -/* The payoff: encrypt a block. */ -void encrypt(char block[64],int edflag) -{ -  int  i, ii; -  register int t, j, k; - -  (void)edflag; -  /* First, permute the bits in the input */ -  for(j=0; j < 64; j++) -    L[j] = block[(int)IP[j]]; -  /* Perform an encryption operation 16 times. */ -  for(ii=0; ii < 16; ii++) { -    i = ii; -    /* Save the R array, which will be the new L. */ -    for(j=0; j < 32; j++) -      tempL[j] = R[j]; -    /* Expand R to 48 bits using the E selector; -     * exclusive-or with the current key bits. -     */ -    for(j=0; j < 48; j++) -      preS[j] = R[E[j]-1] ^ KS[i][j]; -    /* The pre-select bits are now considered in 8 groups of 6 bits each. -     * The 8 selection functions map these 6-bit quantities into 4-bit -     * quantities and the results permuted to make an f(R, K). -     * The indexing into the selection functions is peculiar; -     * it could be simplified by rewriting the tables. -     */ -    for(j=0; j < 8; j++) { -      t = ((j<<1)+j)<<1; -      k = S[j][(preS[t]<<5)+ -	 (preS[t+1]<<3)+ -	 (preS[t+2]<<2)+ -	 (preS[t+3]<<1)+ -	 (preS[t+4]   )+ -	 (preS[t+5]<<4)]; -      t = j << 2; -      f[t  ] = (k>>3)&01; -      f[t+1] = (k>>2)&01; -      f[t+2] = (k>>1)&01; -      f[t+3] = (k   )&01; -    } -    /* The new R is L ^ f(R, K). The f here has to be permuted first, though. */ -    for(j=0; j < 32; j++) -      R[j] = L[j] ^ f[(int)P[j]]; -    /* Finally, the new L (the original R) is copied back. */ -    for(j=0; j < 32; j++) -      L[j] = tempL[j]; -  } -  /* The output L and R are reversed. */ -  for(j=0; j < 32; j++) { -    L[j] ^= R[j]; -    R[j] ^= L[j]; -    L[j] ^= R[j]; -  } -  /* The final output gets the inverse permutation of the very original. */ -  for(j=0; j < 64; j++) -    block[j] = L[(int)FP[j]]; -} - -char * crypt(const char *pw, const char *salt) -{ -  register int i, j, c; -  static char block[66], iobuf[16]; -#ifdef WANT_CRYPT_MD5 -  if (salt[0]=='$' && salt[1]=='1' && salt[2]=='$') -    return md5crypt(pw,salt); -#endif -  for(i=0; i < 66; i++) -    block[i] = 0; -  for(i=0; (c= *pw) && i < 64; pw++) { -    for(j=0; j < 7; j++, i++) -      block[i] = (c>>(6-j)) & 01; -    i++; -  } - -  setkey(block); - -  for(i=0; i < 66; i++) -    block[i] = 0; - -  for(i=0; i < 2; i++) { -    c = *salt++; -    iobuf[i] = c; -    if(c > 'Z') -      c -= 6; -    if(c > '9') -      c -= 7; -    c -= '.'; -    for(j=0; j < 6; j++) { -      if((c>>j) & 01) { -	int ind1 = (((i<<1)+i)<< 1) + j; -	int ind2 = ind1 + 24; -	E[ind1] ^= E[ind2]; -	E[ind2] ^= E[ind1]; -	E[ind1] ^= E[ind2]; -      } -    } -  } - -  for(i=0; i < 25; i++) -    encrypt(block,0); - -  for(i=0; i < 11; i++) { -    c = 0; -    for(j=0; j < 6; j++) { -      c <<= 1; -      c |= block[(((i<<1)+i)<<1)+j]; -    } -    c += '.'; -    if(c > '9') -      c += 7; -    if(c > 'Z') -      c += 6; -    iobuf[i+2] = c; -  } -  iobuf[i+2] = 0; -  if(iobuf[1] == 0) -    iobuf[1] = iobuf[0]; -  return(iobuf); -} diff --git a/mdk-stage1/dietlibc/libcrypt/md5.c b/mdk-stage1/dietlibc/libcrypt/md5.c deleted file mode 100644 index ede9a067e..000000000 --- a/mdk-stage1/dietlibc/libcrypt/md5.c +++ /dev/null @@ -1,243 +0,0 @@ -/***************************************************************************** -* -* "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm". -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; 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 General Public License for more details. -*  -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -*****************************************************************************/ - -#include <endian.h> -#include <md5.h> -#include <string.h> - -#if (__BYTE_ORDER == __BIG_ENDIAN) -/* -   Block copy and convert byte order to little-endian. -   dst must be 32bit aligned. -   Length is the number of 32bit words  -*/    -static void CopyToLittleEndian (uint32_t *dst, const uint8_t *src, int length) { -  while (length--) { -    *dst=(((uint32_t)src[3])<<24) | -	 (((uint32_t)src[2])<<16) | -	 (((uint32_t)src[1])<< 8) | -	   (uint32_t)src[0]; -    src+=4; -    dst++; -  } -} -#endif - - -/* -   Assembler versions of __MD5Transform, MD5Init and MD5Update -   currently exist for x86 and little-endian ARM. -   For other targets, we need to use the C versions below. -*/ - -#if !(defined (__i386__) || ((defined (__arm__) && (__BYTE_ORDER == __LITTLE_ENDIAN)))) - -/* -   Initialise the MD5 context. -*/ -void MD5Init (MD5_CTX* context) { -   context->count[0] = 0; -   context->count[1] = 0; - -   context->state[0] = 0x67452301;              /* Load magic constants. */ -   context->state[1] = 0xefcdab89; -   context->state[2] = 0x98badcfe; -   context->state[3] = 0x10325476; -} - -#define ROTATE_LEFT(x, n) ((x << n) | (x >> (32-n))) - -#define F(x, y, z) (z ^ (x & (y ^ z))) -#define G(x, y, z) (y ^ (z & (x ^ y))) -#define H(x, y, z) (x ^ y ^ z) -#define I(x, y, z) (y ^ (x | ~z)) - -#define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -#define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -#define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } -#define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); } - -static void __MD5Transform (uint32_t state[4], const uint8_t *in, int repeat) { -   const uint32_t *x; - -   uint32_t  a = state[0]; -   uint32_t  b = state[1]; -   uint32_t  c = state[2]; -   uint32_t  d = state[3]; - -   for ( ; repeat; repeat--) { -      uint32_t tempBuffer[16]; -#if (__BYTE_ORDER == __BIG_ENDIAN) - -      CopyToLittleEndian (tempBuffer, in, 16); -      x = tempBuffer; -#else -      if ((long)in & 3) { -	memcpy(tempBuffer, in, 64); -	x = tempBuffer; -      } else -	x = (const uint32_t *) in; -#endif - -      FF (a, b, c, d, x[ 0],  7, 0xd76aa478); /*  1 */     /* Round 1 */ -      FF (d, a, b, c, x[ 1], 12, 0xe8c7b756); /*  2 */ -      FF (c, d, a, b, x[ 2], 17, 0x242070db); /*  3 */ -      FF (b, c, d, a, x[ 3], 22, 0xc1bdceee); /*  4 */ -      FF (a, b, c, d, x[ 4],  7, 0xf57c0faf); /*  5 */ -      FF (d, a, b, c, x[ 5], 12, 0x4787c62a); /*  6 */ -      FF (c, d, a, b, x[ 6], 17, 0xa8304613); /*  7 */ -      FF (b, c, d, a, x[ 7], 22, 0xfd469501); /*  8 */ -      FF (a, b, c, d, x[ 8],  7, 0x698098d8); /*  9 */ -      FF (d, a, b, c, x[ 9], 12, 0x8b44f7af); /* 10 */ -      FF (c, d, a, b, x[10], 17, 0xffff5bb1); /* 11 */ -      FF (b, c, d, a, x[11], 22, 0x895cd7be); /* 12 */ -      FF (a, b, c, d, x[12],  7, 0x6b901122); /* 13 */ -      FF (d, a, b, c, x[13], 12, 0xfd987193); /* 14 */ -      FF (c, d, a, b, x[14], 17, 0xa679438e); /* 15 */ -      FF (b, c, d, a, x[15], 22, 0x49b40821); /* 16 */ - -      GG (a, b, c, d, x[ 1],  5, 0xf61e2562); /* 17 */     /* Round 2 */ -      GG (d, a, b, c, x[ 6],  9, 0xc040b340); /* 18 */ -      GG (c, d, a, b, x[11], 14, 0x265e5a51); /* 19 */ -      GG (b, c, d, a, x[ 0], 20, 0xe9b6c7aa); /* 20 */ -      GG (a, b, c, d, x[ 5],  5, 0xd62f105d); /* 21 */ -      GG (d, a, b, c, x[10],  9, 0x02441453); /* 22 */ -      GG (c, d, a, b, x[15], 14, 0xd8a1e681); /* 23 */ -      GG (b, c, d, a, x[ 4], 20, 0xe7d3fbc8); /* 24 */ -      GG (a, b, c, d, x[ 9],  5, 0x21e1cde6); /* 25 */ -      GG (d, a, b, c, x[14],  9, 0xc33707d6); /* 26 */ -      GG (c, d, a, b, x[ 3], 14, 0xf4d50d87); /* 27 */ -      GG (b, c, d, a, x[ 8], 20, 0x455a14ed); /* 28 */ -      GG (a, b, c, d, x[13],  5, 0xa9e3e905); /* 29 */ -      GG (d, a, b, c, x[ 2],  9, 0xfcefa3f8); /* 30 */ -      GG (c, d, a, b, x[ 7], 14, 0x676f02d9); /* 31 */ -      GG (b, c, d, a, x[12], 20, 0x8d2a4c8a); /* 32 */ - -      HH (a, b, c, d, x[ 5],  4, 0xfffa3942); /* 33 */     /* Round 3 */ -      HH (d, a, b, c, x[ 8], 11, 0x8771f681); /* 34 */ -      HH (c, d, a, b, x[11], 16, 0x6d9d6122); /* 35 */ -      HH (b, c, d, a, x[14], 23, 0xfde5380c); /* 36 */ -      HH (a, b, c, d, x[ 1],  4, 0xa4beea44); /* 37 */ -      HH (d, a, b, c, x[ 4], 11, 0x4bdecfa9); /* 38 */ -      HH (c, d, a, b, x[ 7], 16, 0xf6bb4b60); /* 39 */ -      HH (b, c, d, a, x[10], 23, 0xbebfbc70); /* 40 */ -      HH (a, b, c, d, x[13],  4, 0x289b7ec6); /* 41 */ -      HH (d, a, b, c, x[ 0], 11, 0xeaa127fa); /* 42 */ -      HH (c, d, a, b, x[ 3], 16, 0xd4ef3085); /* 43 */ -      HH (b, c, d, a, x[ 6], 23, 0x04881d05); /* 44 */ -      HH (a, b, c, d, x[ 9],  4, 0xd9d4d039); /* 45 */ -      HH (d, a, b, c, x[12], 11, 0xe6db99e5); /* 46 */ -      HH (c, d, a, b, x[15], 16, 0x1fa27cf8); /* 47 */ -      HH (b, c, d, a, x[ 2], 23, 0xc4ac5665); /* 48 */ - -      II (a, b, c, d, x[ 0],  6, 0xf4292244); /* 49 */     /* Round 4 */ -      II (d, a, b, c, x[ 7], 10, 0x432aff97); /* 50 */ -      II (c, d, a, b, x[14], 15, 0xab9423a7); /* 51 */ -      II (b, c, d, a, x[ 5], 21, 0xfc93a039); /* 52 */ -      II (a, b, c, d, x[12],  6, 0x655b59c3); /* 53 */ -      II (d, a, b, c, x[ 3], 10, 0x8f0ccc92); /* 54 */ -      II (c, d, a, b, x[10], 15, 0xffeff47d); /* 55 */ -      II (b, c, d, a, x[ 1], 21, 0x85845dd1); /* 56 */ -      II (a, b, c, d, x[ 8],  6, 0x6fa87e4f); /* 57 */ -      II (d, a, b, c, x[15], 10, 0xfe2ce6e0); /* 58 */ -      II (c, d, a, b, x[ 6], 15, 0xa3014314); /* 59 */ -      II (b, c, d, a, x[13], 21, 0x4e0811a1); /* 60 */ -      II (a, b, c, d, x[ 4],  6, 0xf7537e82); /* 61 */ -      II (d, a, b, c, x[11], 10, 0xbd3af235); /* 62 */ -      II (c, d, a, b, x[ 2], 15, 0x2ad7d2bb); /* 63 */ -      II (b, c, d, a, x[ 9], 21, 0xeb86d391); /* 64 */ - -      state[0] = a = a + state[0]; -      state[1] = b = b + state[1]; -      state[2] = c = c + state[2]; -      state[3] = d = d + state[3]; - -      in += 64; -   } -} - - -/* -   MD5 block update operation: -   Process another sub-string of the message and update the context. -*/ -void MD5Update (MD5_CTX *context, const uint8_t *input, size_t inputBytes) { -   int i; -   int byteIndex; -   unsigned int partLen; -   int len; - -   /* Compute number of bytes mod 64 */ -   byteIndex = (context->count[0] >> 3) & 0x3F; - -   /* Update number of bits: count += 8 * inputBytes */ -   if ((context->count[0] += inputBytes << 3) < (inputBytes << 3)) -      context->count[1]++; -   context->count[1] += (inputBytes >> (32-3)); - -   partLen = (64 - byteIndex); - -   /* Transform as many times as possible. */ -   if (inputBytes >= partLen) { -      memcpy (context->buffer + byteIndex, input, partLen); -      __MD5Transform (context->state, (const uint8_t *) context->buffer, 1); -      len = (inputBytes - partLen) / 64; -      __MD5Transform (context->state, &input[partLen], len); -      i = partLen + 64 * len; -      byteIndex = 0; -   } else -      i = 0; - -   /* Buffer remaining input */ -   memcpy (&context->buffer[byteIndex], &input[i], inputBytes - i); -} - -#endif - - -void MD5Final (uint8_t digest[16], MD5_CTX* context) { -   static uint8_t finalBlock[64]; - -   uint32_t bits[2]; -   int      byteIndex; -   int      finalBlockLength; - -   byteIndex = (context->count[0] >> 3) & 0x3F; -   finalBlockLength = ((byteIndex < 56) ? 56 : 120) - byteIndex; -   finalBlock[0] = 0x80; - -#if (__BYTE_ORDER == __BIG_ENDIAN) -   CopyToLittleEndian (bits, (const uint8_t *) context->count, 2); -#else -   memcpy(bits, context->count, 8); -#endif - -   MD5Update (context, finalBlock, finalBlockLength); -   MD5Update (context, (const uint8_t *) bits, 8); - -#if (__BYTE_ORDER == __BIG_ENDIAN) -   CopyToLittleEndian ((uint32_t *) digest, (const uint8_t *) context->state, 4); -#else -   memcpy (digest, context->state, 16); -#endif - -   memset(context, 0, sizeof(*context)); -} - diff --git a/mdk-stage1/dietlibc/libcrypt/md5crypt.c b/mdk-stage1/dietlibc/libcrypt/md5crypt.c deleted file mode 100644 index ebbb4be44..000000000 --- a/mdk-stage1/dietlibc/libcrypt/md5crypt.c +++ /dev/null @@ -1,157 +0,0 @@ -/*	$OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $	*/ - -/* - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@login.dknet.dk> wrote this file.  As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp - * ---------------------------------------------------------------------------- - * - * $FreeBSD: crypt.c,v 1.5 1996/10/14 08:34:02 phk Exp $ - * - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <md5.h> - -static unsigned char itoa64[] =		/* 0 ... 63 => ascii - 64 */ -	"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -static void to64 (char *, uint32_t, int); - -static void -to64(s, v, n) -	char *s; -	uint32_t v; -	int n; -{ -	while (--n >= 0) { -		*s++ = itoa64[v&0x3f]; -		v >>= 6; -	} -} - -/* - * UNIX password - * - * Use MD5 for what it is best at... - */ - -char * -md5crypt(pw, salt) -	register const char *pw; -	register const char *salt; -{ -	/* -	 * This string is magic for this algorithm.  Having -	 * it this way, we can get get better later on -	 */ -	static unsigned char	*magic = (unsigned char *)"$1$"; - -	static char     passwd[120], *p; -	static const unsigned char *sp,*ep; -	unsigned char	final[16]; -	int sl,pl,i; -	MD5_CTX	ctx,ctx1; -	uint32_t l; - -	/* Refine the Salt first */ -	sp = (const unsigned char *)salt; - -	/* If it starts with the magic string, then skip that */ -	if(!strncmp((const char *)sp,(const char *)magic,strlen((const char *)magic))) -		sp += strlen((const char *)magic); - -	/* It stops at the first '$', max 8 chars */ -	for(ep=sp;*ep && *ep != '$' && ep < (sp+8);ep++) -		continue; - -	/* get the length of the true salt */ -	sl = ep - sp; - -	MD5Init(&ctx); - -	/* The password first, since that is what is most unknown */ -	MD5Update(&ctx,(const unsigned char *)pw,strlen(pw)); - -	/* Then our magic string */ -	MD5Update(&ctx,magic,strlen((const char *)magic)); - -	/* Then the raw salt */ -	MD5Update(&ctx,sp,sl); - -	/* Then just as many characters of the MD5(pw,salt,pw) */ -	MD5Init(&ctx1); -	MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw)); -	MD5Update(&ctx1,sp,sl); -	MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw)); -	MD5Final(final,&ctx1); -	for(pl = strlen(pw); pl > 0; pl -= 16) -		MD5Update(&ctx,final,pl>16 ? 16 : pl); - -	/* Don't leave anything around in vm they could use. */ -	memset(final,0,sizeof final); - -	/* Then something really weird... */ -	for (i = strlen(pw); i ; i >>= 1) -		if(i&1) -		    MD5Update(&ctx, final, 1); -		else -		    MD5Update(&ctx, (const unsigned char *)pw, 1); - -	/* Now make the output string */ -	strcpy(passwd,(const char *)magic); -	memcpy(passwd+3,sp,sl); -	passwd[sl+3]='$'; -	passwd[sl+4]=0; - -	MD5Final(final,&ctx); - -	/* -	 * and now, just to make sure things don't run too fast -	 * On a 60 Mhz Pentium this takes 34 msec, so you would -	 * need 30 seconds to build a 1000 entry dictionary... -	 */ -	for(i=0;i<1000;i++) { -		MD5Init(&ctx1); -		if(i & 1) -			MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw)); -		else -			MD5Update(&ctx1,final,16); - -		if(i % 3) -			MD5Update(&ctx1,sp,sl); - -		if(i % 7) -			MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw)); - -		if(i & 1) -			MD5Update(&ctx1,final,16); -		else -			MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw)); -		MD5Final(final,&ctx1); -	} - -	p = passwd + strlen(passwd); - -	l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p,l,4); p += 4; -	l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p,l,4); p += 4; -	l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p,l,4); p += 4; -	l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p,l,4); p += 4; -	l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p,l,4); p += 4; -	l =		       final[11]		; to64(p,l,2); p += 2; -	*p = '\0'; - -	/* Don't leave anything around in vm they could use. */ -	memset(final,0,sizeof final); - -	return passwd; -} - diff --git a/mdk-stage1/dietlibc/libdl/Makefile b/mdk-stage1/dietlibc/libdl/Makefile deleted file mode 100644 index 29164f105..000000000 --- a/mdk-stage1/dietlibc/libdl/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# local "test" make file - -CC  = gcc -DCC = diet $(CC) - -SRC = $(wildcard *.c) # test/test.c -OBJ = _dl_jump.o $(SRC:.c=.o) - -#CFLAGS = -Wall -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -g -O -CFLAGS = -Wall -O2 -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -frerun-loop-opt -fschedule-insns2 $(DEB) # -fomit-frame-pointer - -%.o : %.S -	$(DCC) $(CFLAGS) -c -o $@ $^ - -%.o : %.c -	$(DCC) $(CFLAGS) -c -o $@ $^ - -it: t.out - -a.out: t.out -	gcc -O -g test/a.c t.out -L/opt/diet/lib-i386 -lc -lgcc -o $@ -Wl,-dynamic-linker=`pwd`/t.out -nostdlib - -t.out: _dl_main.o -	ld -shared -o $@ $? -soname=libdl.so - -all: test.out libdl.a - -libdl.a: $(OBJ) -	ar cru $@ $^ - -test.g: test/test.c -	gcc -o $@ $^ -ldl - -test.out: $(OBJ) test/test.o -	diet gcc -o $@ $^ - -clean: -	$(RM) *.o *.a *.out *~ # *.so diff --git a/mdk-stage1/dietlibc/libdl/README b/mdk-stage1/dietlibc/libdl/README deleted file mode 100644 index 6f1d0e46e..000000000 --- a/mdk-stage1/dietlibc/libdl/README +++ /dev/null @@ -1,82 +0,0 @@ -this is the experimental libdl - -written by Olaf Dreesen - -Fri Nov 15 16:23:28 CET 2002 - -  fixing the copy-relocation bug. - -  TODO as last time.... plus -	- dlsym with RTLD_NEXT - -Wed Nov  6 19:08:00 CET 2002 - -  Ups.. misunderstood the manual-page of dlopen. -  now dlopen(0,...) works the way it is described in the susv2, BUT still not -  complete. - -  TODO: -	- gdb support - -	- RTLD_GLOBAL/RTLD_LOCAL -    at the moment ALL are GLOBAL. - -	- open of a shared object ONCE -    there is no library hard-, symlink detection yet. - -	- code for other archs then i386 and arm - - -Fri Sep 13 16:28:42 CEST 2002 - -  this unified libdl/dynlinker is now the default. - - -Mon Mar 11 19:44:20 CET 2002 - -  the unified libdl/dynlinker now seems to stand the NORMAL usage so I think -  it should be tested outside my CLEANROOM :) - -  TODO: code for other archs than i386 and arm - - -Thu Nov  1 18:41:36 MET 2001 - -  ufffff.... now the libdl code can be used in the libdl.so :) -  Status: it works in my clean room on i386, arm-code started - -  TODO: see below :) - - -Wed Jul  4 11:55:00 MEST 2001 - -  Uwe Ohse pointed to some flaws in my code, I have started to fix them.... - -  TODO: rebuild the code in a more readable and consistent way. -  TODO: code for other archs than i386 - - -Thu Jun 21 15:32:45 MEST 2001 - -  It work good enough to make a libdietc.so possible. - -  TODO: rebuild the code in a more readable and consistent way. -  TODO: code for other archs than i386 - - -Thu Jun  7 14:10:03 MEST 2001 - -  Status: test-pre-alpha code -  the code is now "testable" ... -  I need a dyn-dietlibc specific ld.so. (in work) - -  TODO: rebuild the code in a more readable and consistent way. - - -INITIAL May ? : - -  Status: test-pre-pre-alpha code - -  Shouldn't work yet. Had and have some problems with the elf specs... -  and more inconsistencies... - diff --git a/mdk-stage1/dietlibc/libdl/_dl_alloc.c b/mdk-stage1/dietlibc/libdl/_dl_alloc.c deleted file mode 100644 index 41d0d4671..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_alloc.c +++ /dev/null @@ -1,81 +0,0 @@ -#include <stdlib.h> -#include <unistd.h> -#include <sys/mman.h> - -#include "_dl_int.h" - -#ifdef __DIET_LD_SO__ -static struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0; -static struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0; -static struct _dl_handle*_dl_free_list=(struct _dl_handle*)0; -#else -struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0; -struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0; -struct _dl_handle*_dl_free_list=(struct _dl_handle*)0; -#endif - -#ifdef __DIET_LD_SO__ -static -#endif -void _dl_free_handle(struct _dl_handle*dh) { -  if (_dl_root_handle==dh) _dl_root_handle=dh->next; -  if (_dl_top_handle ==dh)  _dl_top_handle=dh->prev; - -  if (dh->next) dh->next->prev=dh->prev; -  if (dh->prev) dh->prev->next=dh->next; - -  if ((dh->flags&RTLD_NOSONAME) && dh->name) free(dh->name); -  memset(dh,0,sizeof(struct _dl_handle)); -  dh->next=_dl_free_list; -  _dl_free_list=dh; -} - -#ifdef __DIET_LD_SO__ -static -#endif -struct _dl_handle*_dl_get_handle() { -  struct _dl_handle*tmp; - -  if (_dl_free_list==0) { -    register int i,m; -#ifdef __DIET_LD_SO__ -    tmp = (struct _dl_handle*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0); -    m=at_pagesize/sizeof(struct _dl_handle); -#else -    int ps=getpagesize(); -    tmp = (struct _dl_handle*)mmap(0,ps,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0); -    m=ps/sizeof(struct _dl_handle); -#endif -    for (i=m;i;) _dl_free_handle(tmp+(--i)); -  } - -  tmp = _dl_free_list; -  _dl_free_list = tmp->next; - -  tmp->next=0; -  if (_dl_root_handle) { -    _dl_top_handle->next=tmp; -    tmp->prev=_dl_top_handle; -  } else -    _dl_root_handle = tmp; - -  _dl_top_handle=tmp; - -  return tmp; -} - -#ifdef __DIET_LD_SO__ -static -#endif -struct _dl_handle*_dl_find_lib(const char* name) { -  if (name) { -    if (_dl_root_handle) { -      struct _dl_handle*tmp; -      for (tmp=_dl_root_handle;tmp;tmp=tmp->next) { -	if (!tmp->name) continue; -	if (!strcmp(tmp->name,name)) return tmp; -      } -    } -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h deleted file mode 100644 index 1bab10a92..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_int.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef ___DL_INT_H__ -#define ___DL_INT_H__ - -#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) -#define ELF_CLASS ELFCLASS64 -#else -#define ELF_CLASS ELFCLASS32 -#endif - -#include <elf.h> -#include <dlfcn.h> - -#include "_dl_rel.h" - -#if ELF_CLASS == ELFCLASS32 - -#define Elf_Addr	Elf32_Addr - -#define Elf_Dyn 	Elf32_Dyn -#define Elf_Ehdr	Elf32_Ehdr -#define Elf_Phdr	Elf32_Phdr -#define Elf_Rel 	Elf32_Rel -#define Elf_Rela	Elf32_Rela -#define Elf_Sym 	Elf32_Sym - -#define ELF_R_SYM(x)	ELF32_R_SYM((x)) -#define ELF_R_TYPE(x)	ELF32_R_TYPE((x)) - -#define ELF_ST_BIND(x)	ELF32_ST_BIND((x)) -#define ELF_ST_TYPE(x)	ELF32_ST_TYPE((x)) - -#else - -#define Elf_Addr	Elf64_Addr - -#define Elf_Dyn 	Elf64_Dyn -#define Elf_Ehdr	Elf64_Ehdr -#define Elf_Phdr	Elf64_Phdr -#define Elf_Rel 	Elf64_Rel -#define Elf_Rela	Elf64_Rela -#define Elf_Sym 	Elf64_Sym - -#define ELF_R_SYM(x)	ELF64_R_SYM((x)) -#define ELF_R_TYPE(x)	ELF64_R_TYPE((x)) - -#define ELF_ST_BIND(x)	ELF64_ST_BIND((x)) -#define ELF_ST_TYPE(x)	ELF64_ST_TYPE((x)) - -#endif - -//#define DEBUG -#ifdef DEBUG -#ifndef __DIET_LD_SO__ -#include <stdio.h> -#define pf(s)	write(2,s,strlen(s)) -#define ph(l)	fdprintf(2,"%08lx",(l)) -#endif -#endif - -#define RTLD_USER	0x10000000 -#define RTLD_NOSONAME	0x20000000 -#define LDSO_FLAGS	(RTLD_LAZY|RTLD_GLOBAL|RTLD_NOSONAME) - -struct _dl_handle { -  char *	mem_base;	/* base address of maped *.so / or zero if program | Elf_Addr l_addr */ -  char *	l_name;		/* Abloslute filename of this object */ -  Elf_Dyn*	dynamic;	/* _DYNAMIC */ - -  struct _dl_handle *next; -  struct _dl_handle *prev; - -  unsigned int flags;		/* FLAGS */ - -  char *	name;		/* name of shared object */ - -  /* basic */ -  unsigned long mem_size;	/* len of mem block */ -  unsigned long lnk_count;	/* reference count (other libraries) */ - -  /* lazy evaluator data */ -  unsigned long*pltgot;		/* PLT/GOT */ - -  /* symbol resolve helper */ -  unsigned long*hash_tab;	/* hash table */ -  char *	dyn_str_tab;	/* dyn_name table */ -  Elf_Sym *	dyn_sym_tab;	/* dynamic symbol table */ -  _dl_rel_t*	plt_rel;	/* PLT relocation table */ - -  /* INIT / FINI */ -  void (*fini)(void); -}; - -/* debug communication (GDB) (dyn-linker only) */ -struct r_debug { -  int r_version; -  struct _dl_handle* r_map; -  unsigned long r_brk; -  enum { -    RT_CONSISTENT,	/* mapping complete */ -    RT_ADD,		/* begin add object */ -    RT_DELETE,		/* begin del object */ -  } r_state; -  unsigned long r_ldbase; -}; - -#define HASH_BUCKET_LEN(p)	(*((p))) -#define HASH_BUCKET(p)		((p)+2) - -#define HASH_CHAIN_LEN(p)	(*((p)+1)) -#define HASH_CHAIN(p)		((p)+2+HASH_BUCKET_LEN(p)) - -/* _dl_alloc.c */ -extern struct _dl_handle* _dl_root_handle; -extern struct _dl_handle* _dl_top_handle; -extern struct _dl_handle* _dl_free_list; -#ifndef __DIET_LD_SO__ -void _dl_free_handle(struct _dl_handle* dh); -struct _dl_handle* _dl_get_handle(); -struct _dl_handle* _dl_find_lib(const char* name); - -/* _dl_open.c */ -void *_dl_open(const char* filename, int flags); - -/* _dl_load.c */ -void *_dl_load(const char* filename, const char*pathname, int fd, int flags); -struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags); - -/* _dl_search.c */ -void _dl_set_rpath(const char *path); -const char* _dl_get_rpath(); -int _dl_search(char *buf, int len, const char *filename); - -/* dlsym.c */ -void *_dlsym(void*dh,char*symbol); -void *_dl_sym_search_str(struct _dl_handle*h,char*name); -void *_dl_sym(struct _dl_handle * h, int symbol); - -/* _dl_queue.c */ -int _dl_queue_lib(const char* name, int flags); -int _dl_open_dep(); - -/* _dl_relocate.c */ -int _dl_relocate(struct _dl_handle* dh, _dl_rel_t *rel, int num); - -/* dlerror.c */ -extern unsigned int _dl_error; -extern const char* _dl_error_location; -extern const char* _dl_error_data; -#endif - -#endif diff --git a/mdk-stage1/dietlibc/libdl/_dl_jump.S b/mdk-stage1/dietlibc/libdl/_dl_jump.S deleted file mode 100644 index bd7115258..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_jump.S +++ /dev/null @@ -1,55 +0,0 @@ -.text -.global _dl_jump -_dl_jump: - -#ifdef __i386__ -.type	_dl_jump,@function - -	pushl	%eax		# save register args... -	pushl	%ecx -	pushl	%edx - -	pushl	%ebx - -	pushl	20(%esp)	# 2. arg from plt -	pushl	20(%esp)	# 1. arg from plt - -#ifdef __DYN_LIB -	call	1f -1:	popl	%ebx -	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b],%ebx -	call	do_rel@PLT -#else -	call	do_rel -#endif -	addl	$8, %esp - -	popl	%ebx - -	popl	%edx		# restore register args... -	popl	%ecx - -	xchgl	%eax, (%esp)	# restore eax and save function pointer (for return) - -	ret	$8		# remove arguments from plt and jump to REAL function - -#endif - -#ifdef __arm__ -.type	_dl_jump,function - -	stmdb	sp!, {r0, r1, r2, r3} -	sub	r1, ip, lr -	sub	r1, r1, #4 -	add	r1, r1, r1		/* dyntab entry */ -	ldr	r0, [lr, #-4]		/* dynlib handle */ -#ifdef __DYN_LIB -	bl	do_rel(PLT) -#else -	bl	do_rel -#endif -	mov	r12, r0 -	ldmia	sp!, {r0, r1, r2, r3, lr} -	mov	pc, r12 - -#endif diff --git a/mdk-stage1/dietlibc/libdl/_dl_load.c b/mdk-stage1/dietlibc/libdl/_dl_load.c deleted file mode 100644 index 49e8db0be..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_load.c +++ /dev/null @@ -1,401 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <sys/mman.h> -#include <sys/stat.h> -#include <dlfcn.h> -#include <elf.h> - -#include "_dl_int.h" - -#define _ELF_DWN_ROUND(ps,n)	((n)&(~((ps)-1))) -#define _ELF_UP_ROUND(ps,n)	((((n)&((ps)-1))?(ps):0)+ _ELF_DWN_ROUND((ps),(n))) -#define _ELF_RST_ROUND(ps,n)	((n)&((ps)-1)) - -/* this is an arch specific "return jump" for the relocation */ -void _dl_jump(); - -/* - * this file is a Q. & D. hack ... don't think this is bug free or meaningfull - */ - -static inline int map_flags(int flags) -{ -  int perm = 0; -  if (flags & PF_X) perm|=PROT_EXEC; -  if (flags & PF_R) perm|=PROT_READ; -  if (flags & PF_W) perm|=PROT_WRITE; -  return perm; -} - -static inline void *do_map_in(void *base, unsigned long length, int flags, int fd, unsigned long offset) -{ -  register int op = MAP_PRIVATE; -  if (base) op|=MAP_FIXED; -  return mmap(base, length, map_flags(flags), op, fd, offset); -} - -static struct _dl_handle *_dl_map_lib(const char*fn, const char*pathname, int fd, int flags) -{ -  struct _dl_handle* ret=0; -  int ps=getpagesize(); -  int i; -  unsigned char buf[1024]; -  char *m=0,*d=0; - -  unsigned long l; -  struct stat st; - -  Elf_Ehdr *eh; -  Elf_Phdr *ph; - -  int ld_nr=0; -  Elf_Phdr **ld=0; -  Elf_Phdr *dyn=0; - -  if (fd==-1) return 0; - -#ifdef DEBUG -  pf(__func__": "); pf(pathname); pf("\n"); -#endif - -  if (fstat(fd,&st)<0) { -    close(fd); -    _dl_error=2; -    return 0; -  } -  else { -    // use st_dev and st_ino for identification -  } - -  if (read(fd, buf, 1024)<128) { -    close(fd); -    _dl_error=2; -    return 0; -  } - -  eh=(Elf_Ehdr*)buf; -  ph=(Elf_Phdr*)&buf[eh->e_phoff]; - -  for (i=0; i<eh->e_phnum; i++) { -    if (ph[i].p_type==PT_LOAD) ++ld_nr; -  } -  ld=alloca(ld_nr*sizeof(Elf_Phdr)); - -  for (ld_nr=i=0; i<eh->e_phnum; i++) { -    if (ph[i].p_type==PT_LOAD) { -      ld[ld_nr++]=ph+i; -    } -    if (ph[i].p_type==PT_DYNAMIC) { -      dyn=ph+i; -    } -  } - -  if (ld_nr==1) { -    unsigned long offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset); -    unsigned long off = _ELF_RST_ROUND(ps,ld[0]->p_offset); -    unsigned long length = _ELF_UP_ROUND(ps,ld[0]->p_memsz+off); -    ret = _dl_get_handle(); - -    m = (char*)do_map_in(0, length, ld[0]->p_flags, fd, offset); -    if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; } - -    /* zero pad bss */ -    l = ld[0]->p_offset+ld[0]->p_filesz; -    memset(m+l,0,length-l); - -    ret->mem_base=m; -    ret->mem_size=length; -  } -  else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */ -//    unsigned long text_addr = _ELF_DWN_ROUND(ps,ld[0]->p_vaddr);	/* do we need this ? */ -    unsigned long text_offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset); -    unsigned long text_off = _ELF_RST_ROUND(ps,ld[0]->p_offset); -    unsigned long text_size = _ELF_UP_ROUND(ps,ld[0]->p_memsz+text_off); - -    unsigned long data_addr = _ELF_DWN_ROUND(ps,ld[1]->p_vaddr); -    unsigned long data_offset = _ELF_DWN_ROUND(ps,ld[1]->p_offset); -    unsigned long data_off = _ELF_RST_ROUND(ps,ld[1]->p_offset); -    unsigned long data_size = _ELF_UP_ROUND(ps,ld[1]->p_memsz+data_off); -    unsigned long data_fsize = _ELF_UP_ROUND(ps,ld[1]->p_filesz+data_off); - -    ret = _dl_get_handle(); -    /* mmap all mem_blocks for *.so */ -    m = (char*) do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset); -    if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; } - -    /* release data,bss part */ -    mprotect(m+data_addr, data_size, PROT_NONE); - -    /* mmap data,bss part */ -    d = (char*) do_map_in(m+data_addr,data_fsize,ld[1]->p_flags,fd,data_offset); - -    /* zero pad bss */ -    l = data_off+ld[1]->p_filesz; -    memset(d+l,0,data_fsize-l); - -    /* more bss ? */ -    if (data_size>data_fsize) { -      l = data_size-data_fsize; -      mmap(d+data_fsize, l, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); -    } - -    ret->mem_base=m; -    ret->mem_size=text_size+data_size; -  } - -  if (ret) { -    ret->lnk_count=1; -    ret->name=strdup(fn); -    ret->dyn_str_tab=(char*)m+dyn->p_vaddr;	/* missuse of field */ -  } - -  close(fd); -  return ret; -} - -/* local alias */ -static struct _dl_handle* __dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags) -__attribute__ ((alias("_dl_dyn_scan"))); - -struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags) -{ -  Elf_Dyn* dyn_tab = dyn_addr; - -  void (*init)()=0; -  unsigned long* got=0; -  void* jmprel=0; -  int pltreltype=0; -  int pltrelsize=0; -  unsigned long rel=0; -  int relent=0; -  int relsize=0; - -  int i; - -#ifdef DEBUG -  pf(__func__": pre dynamic scan "); ph((unsigned long)dh); pf("\n"); -#endif -  dh->dyn_str_tab=0; -  dh->flags=flags; - -  for(i=0;dyn_tab[i].d_tag;i++) { -//    DEBUG(printf("_dl_load dyn %d, %08lx\n",dyn_tab[i].d_tag, dyn_tab[i].d_un.d_val);) -    if (dyn_tab[i].d_tag==DT_HASH) { -      dh->hash_tab = (unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__func__": have hash @ "); ph((long)dh->hash_tab); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_SYMTAB) { -      dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+dyn_tab[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__func__": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_STRTAB) { -      dh->dyn_str_tab = (char*)(dh->mem_base+dyn_tab[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__func__": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n"); -#endif -    } - -    /* INIT / FINI */ -    else if (dyn_tab[i].d_tag==DT_FINI) { -      dh->fini = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val); -#ifdef DEBUG -      pf(__func__": have fini @ "); ph((long)dh->fini); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_INIT) { -      init = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val); -#ifdef DEBUG -      pf(__func__": have init @ "); ph((long)init); pf("\n"); -#endif -    } - -    /* PLT / Relocation entries for PLT in GOT */ -    else if (dyn_tab[i].d_tag==DT_PLTGOT) { -      got=(unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_val); -      dh->pltgot=got; -#ifdef DEBUG -      pf(__func__": have plt got @ "); ph((long)dh->pltgot); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_PLTREL) { -      pltreltype=dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__func__": have pltreltype @ "); ph((long)pltreltype); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_PLTRELSZ) { -      pltrelsize=dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__func__": have pltrelsize @ "); ph((long)pltrelsize); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_JMPREL) { -      jmprel=(dh->mem_base+dyn_tab[i].d_un.d_val); -      dh->plt_rel=jmprel; -#ifdef DEBUG -      pf(__func__": have jmprel @ "); ph((long)jmprel); pf("\n"); -#endif -    } - -    /* Relocation */ -    else if (dyn_tab[i].d_tag==DT_REL) { -      rel=(unsigned long)(dh->mem_base+dyn_tab[i].d_un.d_val); -#ifdef DEBUG -      pf(__func__": have rel @ "); ph((long)rel); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_RELENT) { -      relent=dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__func__": have relent  @ "); ph((long)relent); pf("\n"); -#endif -    } -    else if (dyn_tab[i].d_tag==DT_RELSZ) { -      relsize=dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__func__": have relsize @ "); ph((long)relsize); pf("\n"); -#endif -    } - -    else if (dyn_tab[i].d_tag==DT_TEXTREL) { -      _dl_free_handle(dh); -      _dl_error = 3; -      return 0; -    } -  } -  /* extra scan for rpath (if program) ... */ -  if (dh->name==0) { -    for(i=0;dyn_tab[i].d_tag;i++) { -      if (dyn_tab[i].d_tag==DT_RPATH) { -	char *rpath=dh->dyn_str_tab+dyn_tab[i].d_un.d_val; -	_dl_set_rpath(rpath); -#ifdef DEBUG -	pf(__func__": have runpath: "); pf(rpath); pf("\n"); -#endif -      } -    } -  } - -#ifdef DEBUG -  pf(__func__": post dynamic scan "); ph((unsigned long)dh); pf("\n"); -#endif - -  if ((got=_dlsym(dh,"_GLOBAL_OFFSET_TABLE_"))) { -#ifdef DEBUG -    pf(__func__": found a GOT @ "); ph((unsigned long)got); pf("\n"); -#endif -    /* GOT */ -    got[0]+=(unsigned long)dh->mem_base;	/* reloc dynamic pointer */ -    got[1] =(unsigned long)dh; -    got[2] =(unsigned long)(_dl_jump);	/* sysdep jump to _dl_rel */ -    /* */ -  } -  else { -    if (dh) { -      munmap(dh->mem_base,dh->mem_size); -      _dl_free_handle(dh); -    } -    _dl_error = 3; -    return 0; -  } - -  /* load other libs */ -  for(i=0;dyn_tab[i].d_tag;i++) { -    if (dyn_tab[i].d_tag==DT_NEEDED) { -      char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__func__": needed for this lib: "); pf(lib_name); pf("\n"); -#endif -      _dl_queue_lib(lib_name,flags); -    } -  } - -  if (_dl_open_dep()) { -    _dl_error = 1; -    return 0; -  } - -  /* relocate */ -  if (rel) { -#ifdef DEBUG -    pf(__func__": try to relocate some values\n"); -#endif -    if (_dl_relocate(dh,(Elf_Rel*)rel,relsize/relent)) { -      munmap(dh->mem_base,dh->mem_size); -      _dl_free_handle(dh); -      return 0; -    } -  } - -  /* do PTL / GOT relocation */ -  if (pltreltype == DT_REL) { -    Elf_Rel *tmp = jmprel; -#ifdef DEBUG -    pf(__func__": rel got\n"); -#endif -    for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rel)) { -      if ((flags&RTLD_NOW)) { -	unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info)); -	if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym; -	else { -	  _dl_free_handle(dh); -	  _dl_error = 4; -	  return 0; -	} -      } -      else -	*((unsigned long*)(dh->mem_base+tmp->r_offset))+=(unsigned long)dh->mem_base; -#if 0 -      DEBUG("_dl_load rel @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info)); -      DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset))); -#endif -    } -  } -  if (pltreltype == DT_RELA) { -    Elf_Rela *tmp = jmprel; -#ifdef DEBUG -    pf(__func__": rela got\n"); -#endif -    for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rela)) { -      if ((flags&RTLD_NOW)) { -	unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info)); -	if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym; -	else { -	  _dl_free_handle(dh); -	  _dl_error = 4; -	  return 0; -	} -      } -      else -	*((unsigned long*)(dh->mem_base+tmp->r_offset))=(unsigned long)(dh->mem_base+tmp->r_addend); -#if 0 -      DEBUG("_dl_load rela @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info)); -      DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset))); -#endif -    } -  } - -  /* _dl_load depending libs ... */ -#ifdef DEBUG -  pf(__func__": post resolve, pre init\n"); -#endif -  if (init) init(); -#ifdef DEBUG -  pf(__func__": post init\n"); -#endif - -  return dh; -} - -void *_dl_load(const char*fn, const char*pathname, int fd, int flags) -{ -  struct _dl_handle* ret=0; -  if ((ret=_dl_map_lib(fn,pathname,fd,flags))) { -    ret=__dl_dyn_scan(ret,(void*)(ret->dyn_str_tab),flags); -  } -  return ret; -} diff --git a/mdk-stage1/dietlibc/libdl/_dl_main.c b/mdk-stage1/dietlibc/libdl/_dl_main.c deleted file mode 100644 index 8ecf44f0b..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_main.c +++ /dev/null @@ -1,1059 +0,0 @@ -#ifdef __OD_CLEAN_ROOM - -#define __DIET_LD_SO__ - -/* - * this is the dietlibc libdl & dynamic-linker - * - * NEED to be compiled with -fPIC ... - */ -#include <sys/mman.h> -#include <sys/stat.h> -#include "_dl_int.h" -#include "_dl_rel.h" - -void _start(void);	/* entry of lib... */ - -static void (*fini_entry)(void)=0; -static char **_dl_environ=0; -static unsigned long loadaddr=0; -static unsigned long prog_entry=0; - -static Elf_Phdr*prog_ph; -static unsigned long prog_ph_size; -static unsigned long prog_ph_num; - -static unsigned long at_uid; -static unsigned long at_euid; -static unsigned long at_gid; -static unsigned long at_egid; -static unsigned long at_pagesize; - -/* this are the "local syscalls" */ -void _dl_sys_exit(int val); -int _dl_sys_read(int fd,char*buf,unsigned long len); -int _dl_sys_write(int fd,char*buf,unsigned long len); -int _dl_sys_open(const char*filename,int flags,int mode); -int _dl_sys_close(int fd); -void*_dl_sys_mmap(void*start,unsigned long length,int prot,int flags,int fd,unsigned long offset); -int _dl_sys_munmap(void*start,unsigned long length); -int _dl_sys_mprotect(const void*addr,unsigned long len,int prot); -int _dl_sys_fstat(int filedes, struct stat *buf); - -extern char*strdup(const char*s); - -#ifdef __i386__ - -asm(".text \n" -".type _start,@function \n" -"_start: \n" -"	movl	%esp, %ebp		# save stack \n" -"	movl	(%ebp), %ecx		# argc \n" -"	leal	4(%ebp), %esi		# argv \n" -"	leal	4(%esi,%ecx,4), %eax	# envp \n" - -"# PIC code \n" -"	call	getpic \n" -"	addl	$_GLOBAL_OFFSET_TABLE_, %ebx \n" - -"# for calculation of load addr, get 'relocated' address of _DYNAMIC \n" -"	leal	_DYNAMIC@GOTOFF(%ebx), %edx \n" - -"# put parameter on stack and call _dl_main \n" -"	pushl	%edx \n" -"	pushl	%eax \n" -"	pushl	%esi \n" -"	pushl	%ecx \n" -"	call	_dl_main \n" - -"# restore stack \n" -"	movl	%ebp, %esp \n" - -"# get fini pointer \n" -"	movl	fini_entry@GOTOFF(%ebx), %edx \n" - -"# clear callee-save-register like kernel \n" -"	xorl	%ebx, %ebx \n" -"	xorl	%ebp, %ebp \n" -"	xorl	%edi, %edi \n" -"	xorl	%esi, %esi \n" - -"# jump to program entry point \n" -"	jmp	*%eax \n" - -"_dl_sys_read: \n" -"	movb	$3,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_write: \n" -"	movb	$4,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_open: \n" -"	movb	$5,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_close: \n" -"	movb	$6,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_mmap: \n" -"	movb	$90,%al \n" -"	leal	4(%esp),%edx \n" -"	pushl	%edx \n" -"	call	_dl_sys_call3 \n" -"	popl	%ecx \n" -"	ret \n" -"_dl_sys_munmap: \n" -"	movb	$91,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_fstat: \n" -"	movb	$108,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_mprotect: \n" -"	movb	$125,%al \n" -"	jmp	_dl_sys_call3 \n" -"_dl_sys_exit: \n" -"	movb	$1,%al \n" -"_dl_sys_call3: \n" -"	movzbl	%al,%eax \n" -"	pushl	%ebx \n" -"	movl	%esp,%ebx \n" -"	movl	16(%ebx),%edx \n" -"	movl	12(%ebx),%ecx \n" -"	movl	8(%ebx),%ebx \n" -"	int	$0x80 \n" -"	popl	%ebx \n" -"	ret \n" - -".type	_dl_jump,@function \n" -"_dl_jump: \n" -"	pushl	%eax		# save register args... \n" -"	pushl	%ecx \n" -"	pushl	%edx \n" - -"	push	16(%esp)	# 2. arg from plt \n" -"	push	16(%esp)	# 1. arg from plt \n" -"	call	do_resolve \n" -"	add	$8, %esp \n" - -"	popl	%edx		# restore register args... \n" -"	popl	%ecx \n" -"	xchgl	%eax, (%esp)	# restore eax and save function pointer (for return) \n" -"	ret	$8		# remove arguments from plt and jump to REAL function \n" - -"# GET Position In Code :) \n" -"getpic:	movl	(%esp), %ebx \n" -"	ret"); - -static inline unsigned long* get_got(void) { -  register unsigned long *got asm ("%ebx"); -  return got; -} - -static inline int work_on_pltgot(struct _dl_handle*dh) { -  /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */ -  static void _dl_jump(void); -  if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) { -    unsigned long*tmp=dh->pltgot; -    /* GOT */ -    tmp[0]+=(unsigned long)dh->mem_base;	/* reloc dynamic pointer */ -    tmp[1] =(unsigned long)dh;			/* the handle */ -    tmp[2] =(unsigned long)(_dl_jump);		/* sysdep jump to do_resolve */ -  } -  return 0; -} - -#elif __arm__ - -asm(".text \n" -".type _start,function \n" -"_start: \n" -"	mov	r4, sp \n" -"	mov	fp, #0			@ start new stack frame \n" - -"	ldr	a1, [sp], #4		@ argc \n" -"	mov	a2, sp			@ argv \n" - -"	add	a3, a2, a1, lsl #2	@ envp \n" -"	add	a3, a3, #4 \n" - -"	ldr	sl, .L_got		@ PIC code \n" -"1:	add	sl, pc, sl \n" - -"	ldr	a4, .L_la		@ get 'relocated' address of _DYNAMIC \n" -"	add	a4, a4, sl \n" - -"	bl	_dl_main		@ call _dl_main \n" - -"	mov	sp, r4 \n" - -"	mov	lr, a1			@ save program entry point \n" - -"	ldr	a1, [pc, #.L_fe-(.+8)]	@ agrument 1: global fini entry \n" -"	ldr	a1, [sl, a1] \n" - -"	mov	pc, lr \n" - -".L_got: .long	_GLOBAL_OFFSET_TABLE_-(1b+8) \n" -".L_la:	.long	_DYNAMIC(GOTOFF) \n" -".L_fe:	.long	fini_entry(GOTOFF) \n" - -"_dl_sys_exit: \n" -"	swi	#0x900001		@ exit \n" -"	eor	pc, lr, lr		@ OR DIE ! \n" -"	mov	pc, lr \n" - -"_dl_sys_read: \n" -"	swi	#0x900003		@ read \n" -"	mov	pc, lr \n" -"_dl_sys_write: \n" -"	swi	#0x900004		@ write \n" -"	mov	pc, lr \n" -"_dl_sys_open: \n" -"	swi	#0x900005		@ open \n" -"	mov	pc, lr \n" -"_dl_sys_close: \n" -"	swi	#0x900006		@ close \n" -"	mov	pc, lr \n" -"_dl_sys_mmap: \n" -"	stmdb	sp!,{r0,r1,r2,r3} \n" -"	mov	r0, sp \n" -"	swi	#0x900090		@ mmap \n" -"	add	sp, sp, #16 \n" -"	mov	pc, lr \n" -"_dl_sys_munmap: \n" -"	swi	#0x900091		@ munmap \n" -"	mov	pc, lr \n" -"_dl_sys_fstat: \n" -"	swi	#0x900108		@ fstat \n" -"	mov	pc, lr \n" -"_dl_sys_mprotect: \n" -"	swi	#0x900125		@ mprotect \n" -"	mov	pc, lr \n" - -".type	_dl_jump,function \n" -"_dl_jump: \n" -"	stmdb	sp!, {r0, r1, r2, r3}	@ save arguments \n" - -"	sub	r1, ip, lr		@ dyntab entry \n" -"	sub	r1, r1, #4 \n" -"	add	r1, r1, r1 \n" - -"	ldr	r0, [lr, #-4]		@ dynlib handle \n" - -"	bl	do_resolve \n" - -"	mov	r12, r0 \n" -"	ldmia	sp!, {r0, r1, r2, r3, lr} @ restore arguments \n" -"	mov	pc, r12"); - -static inline unsigned long* get_got(void) { -  register unsigned long *got asm ("sl"); -  return got; -} - -static inline int work_on_pltgot(struct _dl_handle*dh) { -  /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */ -  static void _dl_jump(void); -  if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) { -    unsigned long*tmp=dh->pltgot; -    /* GOT */ -    tmp[0]+=(unsigned long)dh->mem_base;	/* reloc dynamic pointer */ -    tmp[1] =(unsigned long)dh;			/* the handle */ -    tmp[2] =(unsigned long)(_dl_jump);		/* sysdep jump to do_resolve */ -  } -  return 0; -} - -#else -#error "libdl: arch not supported" -#endif - -static void*_dl_load(const char*fn,const char*pathname,int fd,int flags); - -/* here do the code includes */ - -/* strncpy */ -static char*strncpy(register char*s,register const char*t,register unsigned long n) { -  char *dest=s; -  for(;n;--n) { -    char ch=*t; -    *s=ch; -    if (ch==0) return dest; -    ++s; ++t; -  } -  return 0; -} - -/* strlen.c */ -static unsigned long strlen(register const char*s) { -  register unsigned long i; -  if (!s) return 0; -  for (i=0; *s; ++s) ++i; -  return i; -} - -/* strcmp.c */ -static int strcmp(register const unsigned char*s,register const unsigned char*t) { -  register char x; -  for (;;) { -    x = *s; if (x != *t) break; if (!x) break; ++s; ++t; -  } -  return ((int)(unsigned int)x) - ((int)(unsigned int)*t); -} - -/* strcspn.c */ -static unsigned long strcspn(const char*s,const char*reject) { -  unsigned long l=0; -  int a=1,i,al=strlen(reject); -  while((a)&&(*s)) { -    for(i=0;(a)&&(i<al);++i) if (*s==reject[i]) a=0; -    if (a) ++l; -    ++s; -  } -  return l; -} - -/* memcpy.c */ -static void*memcpy(void*dst,const void*src,unsigned long count) { -  register char *d=dst; -  register const char *s=src; -  ++count; -  while (--count) { -    *d = *s; -    ++d; ++s; -  } -  return dst; -} - -/* memset.c */ -static void*memset(void*dst,int ch,unsigned long count) { -  register char *d=dst; -  ++count; -  while (--count) { -    *d=ch; -    ++d; -  } -  return dst; -} - -/* memcmp.c */ -static int memcmp(register const unsigned char*s,register const unsigned char*t,unsigned long count) { -  register int r; -  ++count; -  while(--count) { -    if ((r=(*s-*t))) return r; -    ++s; -    ++t; -  } -  return 0; -} - -/* getenv.c */ -static char*getenv(const char*env) { -  unsigned int i,len=strlen(env); -  for (i=0;_dl_environ[i];++i) { -    if ((memcmp(_dl_environ[i],env,len)==0) && (_dl_environ[i][len]=='=')) -      return _dl_environ[i]+len+1; -  } -  return 0; -} - -/* basic debug output functions */ -static void pf(const char*s) { _dl_sys_write(2,(void*)s,strlen(s)); } -static void ph(unsigned long l) { -  const int max=(sizeof(unsigned long)<<1); -  unsigned char buf[16]; -  int i; -  for (i=max;i;l>>=4) { -    register unsigned long v='0'|(l&15); -    if (v>'9') v+=0x27; -    buf[--i]=v; -  } -  _dl_sys_write(2,buf,max); -} - -/* the never free strdup (internal) */ -static unsigned long _dl_lib_strdup_len=0; -static char*_dl_lib_strdup_str; -static char*_dl_lib_strdup(const char*s) { -  char*ret=_dl_lib_strdup_str; -  unsigned long l=strlen(s)+1; -  if (_dl_lib_strdup_len<l) { -    ret=(char*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0); -    _dl_lib_strdup_len=at_pagesize; -  } -  _dl_lib_strdup_str=ret+l; -  _dl_lib_strdup_len-=l; -  memcpy(ret,s,l); -  return ret; -} - -#ifdef __GDB_SUPPORT__ -volatile void _dl_debug_state(void); -/* gdb debug break point */ -void _dl_debug_state() {} - -/* gdb debug init stuff */ -struct r_debug _r_debug; -static struct r_debug* _dl_debug_init(Elf_Addr dl_base) { -  if (_r_debug.r_brk==0) { -    _r_debug.r_version	= 1; -    _r_debug.r_ldbase	= dl_base; -    _r_debug.r_map	= _dl_root_handle;	/* this my be wrong */ -    _r_debug.r_brk	= (Elf_Addr)&_dl_debug_state; -  } -  return &_r_debug; -} -#endif - -/* now reuse some unchanged sources */ -#include "dlerror.c" -#include "_dl_alloc.c" - -#include "dlsym.c" - -#include "_dl_search.c" - -#include "_dl_open.c" -#include "dlopen.c" - -#include "_dl_relocate.c" -#include "_dl_queue.c" - -#include "dlclose.c" - -/* back to the "new" implementation */ -static void tt_fini(void) { -  struct _dl_handle*tmp; -#ifdef DEBUG -  pf("dyn fini\n"); -#endif -  for(tmp=_dl_root_handle;tmp;tmp=tmp->next) -    if (tmp->fini) tmp->fini(); -} - -/* exit ! */ -static void _DIE_() { _dl_sys_exit(213); } - -/* lazy function resolver */ -static unsigned long do_resolve(struct _dl_handle*dh,unsigned long off) { -  _dl_rel_t *tmp = ((void*)dh->plt_rel)+off; -  int sym=ELF_R_SYM(tmp->r_info); -  register unsigned long sym_val; - -  if (0) sym_val=(unsigned long)do_resolve; /* TRICK: no warning */ - -  /* modify GOT for REAL symbol */ -  sym_val=(unsigned long)_dl_sym(dh,sym); -  *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym_val; - -  /* JUMP (arg sysdep...) */ -  if (sym_val) return sym_val; -  /* can't find symbol */ -  return (unsigned long)_DIE_; -} - -/* library loader */ - -/* ELF -> MMAP permissions */ -static inline int map_flags(int flags) { -  int perm = 0; -  if (flags & PF_X) perm|=PROT_EXEC; -  if (flags & PF_R) perm|=PROT_READ; -  if (flags & PF_W) perm|=PROT_WRITE; -  return perm; -} - -/* a simple mmap wrapper */ -static inline void*do_map_in(void*base,unsigned long length,int flags,int fd,unsigned long offset) { -  register int op = MAP_PRIVATE; -  if (base) op|=MAP_FIXED; -  return _dl_sys_mmap(base, length, map_flags(flags), op, fd, offset); -} - -/* map a library into memory */ -#define _ELF_DWN_ROUND(ps,n)	((n)&(~((ps)-1))) -#define _ELF_UP_ROUND(ps,n)	((((n)&((ps)-1))?(ps):0)+_ELF_DWN_ROUND((ps),(n))) -#define _ELF_RST_ROUND(ps,n)	((n)&((ps)-1)) -static struct _dl_handle*_dl_map_lib(const char*fn,const char*pathname,int fd,int flags) { -  struct _dl_handle*ret=0; -  int i; -  unsigned char buf[1024]; -  char *m=0,*d=0; - -  unsigned long l; -  struct stat st; - -  Elf_Ehdr*eeh; -  Elf_Phdr*eph; - -  int ld_nr=0; -  Elf_Phdr*ld[4]={0,0,0,0}; -  Elf_Phdr*dyn=0; - -  if (0) { pathname=0; }	/* no unused parameter */ -  if (fd==-1) return 0; - -  if (_dl_sys_fstat(fd,&st)<0) { -err_out_close: -    _dl_sys_close(fd); -    _dl_error_data=fn; -    _dl_error=2; -    return 0; -  } else { -    /* use st_dev and st_ino for identification */ -  } - -  if (_dl_sys_read(fd,buf,1024)<128) goto err_out_close; - -  eeh=(Elf_Ehdr*)buf; -  eph=(Elf_Phdr*)&buf[eeh->e_phoff]; - -  for (i=0;i<eeh->e_phnum;++i) { -    if (eph[i].p_type==PT_LOAD) { -      if (ld_nr>3) goto err_out_close; -      ld[ld_nr++]=eph+i; -    } -    if (eph[i].p_type==PT_DYNAMIC) { -      dyn=eph+i; -    } -  } - -  if (ld_nr==1) { -    unsigned long offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset); -    unsigned long off   =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset); -    unsigned long length=_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+off); -    ret=_dl_get_handle(); -    m=(char*)do_map_in(0,length,ld[0]->p_flags,fd,offset); -    if (m==MAP_FAILED) goto err_out_free; -    /* zero pad bss */ -    l=ld[0]->p_offset+ld[0]->p_filesz; -    memset(m+l,0,length-l); - -    ret->mem_base=m; -    ret->mem_size=length; -  } -  else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */ -//    unsigned long text_addr = _ELF_DWN_ROUND(at_pagesize,ld[0]->p_vaddr);	/* do we need this ? */ -    unsigned long text_offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset); -    unsigned long text_off   =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset); -    unsigned long text_size  =_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+text_off); - -    unsigned long data_addr  =_ELF_DWN_ROUND(at_pagesize,ld[1]->p_vaddr); -    unsigned long data_offset=_ELF_DWN_ROUND(at_pagesize,ld[1]->p_offset); -    unsigned long data_off   =_ELF_RST_ROUND(at_pagesize,ld[1]->p_offset); -    unsigned long data_size  =_ELF_UP_ROUND(at_pagesize,ld[1]->p_memsz+data_off); -    unsigned long data_fsize =_ELF_UP_ROUND(at_pagesize,ld[1]->p_filesz+data_off); - -    ret=_dl_get_handle(); -    /* mmap all mem_blocks for *.so */ -    m=(char*)do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset); -    if (m==MAP_FAILED) { -err_out_free: -      _dl_free_handle(ret); -      _dl_sys_close(fd); -      return 0; -    } - -    /* release data,bss part */ -    _dl_sys_mprotect(m+data_addr,data_size,PROT_NONE); - -    /* mmap data,bss part */ -    d=(char*)do_map_in(m+data_addr,data_fsize,ld[1]->p_flags,fd,data_offset); - -    /* zero pad bss */ -    l=data_off+ld[1]->p_filesz; -    memset(d+l,0,data_fsize-l); -    /* more bss ? */ -    if (data_size>data_fsize) { -      l=data_size-data_fsize; -      _dl_sys_mmap(d+data_fsize,l,PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,-1,0); -    } - -    ret->mem_base=m; -    ret->mem_size=text_size+data_size; -  } -  else { -    _dl_error_data=fn; -    _dl_error=7; -  } - -  if (ret) { -    ++ret->lnk_count; -    if (flags&RTLD_USER) -      ret->name=strdup(fn); -    else -      ret->name=_dl_lib_strdup(fn); -    ret->flags=flags; -    ret->dynamic=(Elf_Dyn*)(m+dyn->p_vaddr); -  } - -  _dl_sys_close(fd); -  return ret; -} - -/* dynamic section parser */ -static struct _dl_handle* _dl_dyn_scan(struct _dl_handle*dh,Elf_Dyn*_dynamic) { -  void(*init)(void)=0; - -  _dl_rel_t* plt_rel=0; -  unsigned long  plt_relsz=0; - -  _dl_rel_t* rel=0; -  unsigned long relent=0; -  unsigned long relsize=0; - -  int i; - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": pre dynamic scan "); ph((unsigned long)dh); pf("\n"); -#endif -  for(i=0;_dynamic[i].d_tag;++i) { -    switch(_dynamic[i].d_tag) { -      /* this depends on dyn_str_tab -> second run */ -    case DT_NEEDED: -    case DT_SONAME: -      break; - -      /* BASIC DYNAMIC STUFF */ -    case DT_HASH: -      dh->hash_tab = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have hash @ "); ph((long)dh->hash_tab); pf("\n"); -#endif -      break; -    case DT_SYMTAB: -      dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+_dynamic[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n"); -#endif -      break; -    case DT_STRTAB: -      dh->dyn_str_tab = (char*)(dh->mem_base+_dynamic[i].d_un.d_ptr); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n"); -#endif -      break; - -      /* DYNAMIC INIT/FINI (constructors/destructors) */ -    case DT_FINI: -      dh->fini = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have fini @ "); ph((long)dh->fini); pf("\n"); -#endif -      break; -    case DT_INIT: -      init = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have init @ "); ph((long)init); pf("\n"); -#endif -      break; - -      /* PLT RELOCATION */ -    case DT_PLTGOT: -      dh->pltgot = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_val); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have plt/got @ "); ph((long)dh->pltgot); pf("\n"); -#endif -      break; -    case DT_PLTREL: -      if (_dynamic[i].d_un.d_val!=_DL_REL_T) { -#ifdef DEBUG -	pf(__FUNCTION__); pf(": have incompatible relocation type\n"); -#endif -	_dl_error_data=dh->name; -	_dl_error=6; -	return 0; -      } -      break; -    case DT_JMPREL: -      plt_rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val); -      dh->plt_rel = plt_rel; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have jmprel @ "); ph((long)plt_rel); pf("\n"); -#endif -      break; -    case DT_PLTRELSZ: -      plt_relsz = _dynamic[i].d_un.d_val; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have pltrelsize @ "); ph((long)plt_relsz); pf("\n"); -#endif -      break; - -      /* BASIC RELOCATION */ -    case DT_REL: -      rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have rel @ "); ph((long)rel); pf("\n"); -#endif -      break; -    case DT_RELENT: -      relent=_dynamic[i].d_un.d_val; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have relent  @ "); ph((long)relent); pf("\n"); -#endif -      break; -    case DT_RELSZ: -      relsize=_dynamic[i].d_un.d_val; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": have relsize @ "); ph((long)relsize); pf("\n"); -#endif -      break; - - -      /* TEXT RELOCATIONS POSSIBLE -> NO SHARED OBJECT */ -    case DT_TEXTREL: -#ifdef DEBUG -      pf(__FUNCTION__); pf(": found possible textrelocation -> "); pf(dh->name); pf(" is not compiled as a shared library\n"); -#endif -      _dl_error_data=dh->name; -      _dl_error=3; -      return 0; -      break; - -      /* OTHERS */ -    default: -#ifdef DEBUG -#if 0 -      pf(__FUNCTION__); pf(": unknown "); ph(_dynamic[i].d_tag); pf(", "); ph(_dynamic[i].d_un.d_val); pf("\n"); -#endif -#endif -      break; -    } -  } - -  for(i=0;_dynamic[i].d_tag;i++) { -    if (dh->name) {	/* librabry can have a SONAME */ -      if (_dynamic[i].d_tag==DT_SONAME) { -#ifdef DEBUG -	pf(__FUNCTION__); pf(": pre  soname: "); pf(dh->name); pf("\n"); -#endif -	if (dh->flags&RTLD_USER) free(dh->name); -	dh->flags&=~RTLD_NOSONAME; -	dh->name = dh->dyn_str_tab+_dynamic[i].d_un.d_val; -#ifdef DEBUG -	pf(__FUNCTION__); pf(": have soname: "); pf(dh->name); pf("\n"); -#endif -      } -    } -    else {		/* programs can have a LD_RUN_PATH */ -      if (_dynamic[i].d_tag==DT_RPATH) { -	register char *rpath=dh->dyn_str_tab+_dynamic[i].d_un.d_val; -	_dl_search_rpath=rpath; -#ifdef DEBUG -	pf(__FUNCTION__); pf(": have runpath: "); pf(rpath); pf("\n"); -#endif -      } -    } -  } - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": post dynamic scan "); ph((unsigned long)dh); pf("\n"); -#endif - -  if (work_on_pltgot(dh)) { -    _dl_error_data=dh->name; -    _dl_error=3; -    return 0; -  } - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": pre load depending libraries "); ph((unsigned long)dh); pf("\n"); -#endif -  /* load depending libs */ -  for(i=0;_dynamic[i].d_tag;++i) { -    if (_dynamic[i].d_tag==DT_NEEDED) { -      char *lib_name=dh->dyn_str_tab+_dynamic[i].d_un.d_val; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": needed for this lib: "); pf(lib_name); pf("\n"); -#endif -      _dl_queue_lib(lib_name,dh->flags); -    } -  } -#ifdef DEBUG -  pf(__FUNCTION__); pf(": pre open depending libraries 2 "); ph((unsigned long)dh); pf("\n"); -#endif -  if (_dl_open_dep()) { -    return 0; -  } - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": post load depending libraries, pre resolve "); ph((unsigned long)dh); pf("\n"); -#endif - -  /* relocation */ -  if (rel) { -#ifdef DEBUG -    pf(__FUNCTION__); pf(": try to relocate some values\n"); -#endif -    if (_dl_relocate(dh,rel,relsize/relent)) return 0; -  } - -  /* do PTL / GOT relocation */ -  if (plt_rel) { -    _dl_rel_t *tmp,*max=((void*)plt_rel)+plt_relsz; -#ifdef DEBUG -    pf(__FUNCTION__); pf(": rel plt/got\n"); -#endif -    for(tmp=plt_rel;tmp<max;(char*)tmp=((char*)tmp)+sizeof(_dl_rel_t)) { -      if ((dh->flags&RTLD_NOW)) { -	unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info)); -	if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym; -	else { -	  _dl_error_data=dh->name; -	  _dl_error=4; -	  return 0; -	} -      } -      else -	_DL_REL_PLT(dh->mem_base,tmp); -#ifdef DEBUG -      pf(__FUNCTION__); pf(": rel @ "); ph((long)dh->mem_base+tmp->r_offset); pf(" with type "); -      ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(ELF_R_SYM(tmp->r_info)); -      pf(" -> "); ph(*((unsigned long*)(dh->mem_base+tmp->r_offset))); pf("\n"); -#endif -    } -  } - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": post resolve, pre init "); ph((unsigned long)dh); pf("\n"); -#endif -  if (init) init(); -#ifdef DEBUG -  pf(__FUNCTION__); pf(": post init "); ph((unsigned long)dh); pf("\n"); -#endif - -  return dh; -} - -static void*_dl_load(const char*fn,const char*pathname,int fd,int flags) { -  struct _dl_handle*ret=0; -  if ((ret=_dl_map_lib(fn,pathname,fd,flags))) { -    ret=_dl_dyn_scan(ret,ret->dynamic); -  } -  return ret; -} - - -/* ELF AUX parser */ -static void _dl_elfaux(register unsigned long*ui) { -  register struct elf_aux { -    unsigned long type; -    unsigned long val; -  } *ea; - -  while (*ui) ++ui; -  /* now *ui points to the tailing NULL-pointer of the envirioment */ - -  /* walk the elf_aux table */ -  for (ea=(struct elf_aux*)(ui+1); ea->type; ++ea) { -    switch (ea->type) { -    case AT_EXECFD:	/* 2 */ -      /* DIE! DIE! DIE! */ -      pf("kernel gives us an unsupported binary load type...\n"); -      _dl_sys_exit(42); -      break; - -    case AT_PHDR:	/* 3 */ -      prog_ph=(Elf_Phdr*)ea->val; -#ifdef DEBUG -      pf("program header @ "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_PHENT:	/* 4 */ -      prog_ph_size=ea->val; -#ifdef DEBUG -      pf("program header size "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_PHNUM:	/* 5 */ -      prog_ph_num=ea->val; -#ifdef DEBUG -      pf("program header # "); ph(ea->val); pf("\n"); -#endif -      break; - -    case AT_PAGESZ:	/* 6 */ -      at_pagesize=ea->val; -#ifdef DEBUG -      pf("page size "); ph(ea->val); pf("\n"); -#endif -      break; - -    case AT_BASE:	/* 7 */ -      loadaddr=ea->val; -#ifdef DEBUG -      pf("interpreter base: "); ph(ea->val); pf("\n"); -#endif -      break; - -#if 0 -    case AT_FLAGS:	/* 8 */ -#ifdef DEBUG -      pf("flags "); ph(ea->val); pf("\n"); -#endif -      break; -#endif - -    case AT_ENTRY:	/* 9 */ -      prog_entry=ea->val; -#ifdef DEBUG -      pf("start program  @ "); ph(ea->val); pf("\n"); -#endif -      break; - -    case AT_NOTELF:	/* 10 */ -      pf("this is an ELF-loader... and therefor can't handle anything else.\n"); -      _dl_sys_exit(42); -      break; - -    case AT_UID:	/* 11 */ -      at_uid=ea->val; -#ifdef DEBUG -      pf(" UID: "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_EUID:	/* 12 */ -      at_euid=ea->val; -#ifdef DEBUG -      pf("EUID: "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_GID:	/* 13 */ -      at_gid=ea->val; -#ifdef DEBUG -      pf(" GID: "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_EGID:	/* 14 */ -      at_egid=ea->val; -#ifdef DEBUG -      pf("EGID: "); ph(ea->val); pf("\n"); -#endif -      break; - -#if 0 -    case AT_PLATFORM:	/* 15 */ -#ifdef DEBUG -      pf("CPU: "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_HWCAP:	/* 16 */ -#ifdef DEBUG -      pf("CPU capabilities: "); ph(ea->val); pf("\n"); -#endif -      break; -    case AT_CLKTCK:	/* 17 */ -#ifdef DEBUG -      pf("CLK per sec "); ph( ea->val); pf("\n"); -#endif -      break; -    case AT_FPUCW:	/* 18 */ -#ifdef DEBUG -      pf("FPU control word "); ph( ea->val); pf("\n"); -#endif -      break; -#endif - -    default: -      break; -    } -  } -} - - -/* start of libdl dynamic linker */ -static unsigned long _dl_main(int argc,char*argv[],char*envp[],unsigned long _dynamic) { -  unsigned long*got; -  struct _dl_handle*prog,*mydh; -  struct _dl_handle my_dh; -  Elf_Dyn*prog_dynamic=0; -  unsigned int i; - -  if (0) _dl_main(argc,argv,envp,_dynamic); /* TRICK: no warning */ - -  /* prepare to bootstarp the relocations */ -  got=get_got(); -  _dl_environ=envp; - -  /* run elf_aux (kernel provided misc data) */ -  _dl_elfaux((unsigned long*)envp); - -  if (loadaddr==0) { -    pf("\ndiet libdl.so/dynamic-linker can't be started as a program !\n\n SORRY...\n\n"); -    return (unsigned long)_DIE_; -  } - -  memset(&my_dh,0,sizeof(my_dh)); -  my_dh.mem_base=(char*)loadaddr; -  my_dh.mem_size=0; -  my_dh.lnk_count=1024; -  my_dh.name="libdl.so"; -  my_dh.flags=LDSO_FLAGS; - -  got[1]=0;			/* NOT YET (my_dh) */ -  got[2]=(unsigned long)_DIE_;	/* NO lazy symbol resolver as long as we are not ready */ - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": pre scan\n"); -#endif -  /* bootstrap relocation */ -  if (_dl_dyn_scan(&my_dh,(Elf_Dyn*)_dynamic)==0) { -    pf("error with dyn_scan myself\n"); -    return (unsigned long)_DIE_; -  } -#ifdef DEBUG -  pf(__FUNCTION__); pf(": post scan\n"); -#endif - -  /* now we are save to use anything :) (hopefully) */ - -  fini_entry=tt_fini; - -  prog=_dl_get_handle(); - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": ugly, ugly, COPY pregenerated handle to real handle\n"); -#endif -  mydh=_dl_get_handle(); -  { -    register struct _dl_handle*tmp=mydh->prev; -    memcpy(mydh,&my_dh,sizeof(struct _dl_handle)); -    mydh->prev=tmp; -  } -  got[1]=(unsigned long)mydh; - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": MORE ugly: prepare program...\n"); -#endif -  for(i=0;(i<prog_ph_num);++i) { -    if (prog_ph[i].p_type==PT_DYNAMIC) { -      prog_dynamic=(Elf_Dyn*)prog_ph[i].p_vaddr; -      break; -    } -  } -  if (prog_dynamic==0) { -    ph(0xe0000001); -    pf(" error with program: no dynamic section ?\n"); -    return (unsigned long)_DIE_; -  } -  prog->name=0; -  prog->lnk_count=1024; -  prog->dynamic=prog_dynamic; -  prog->flags=LDSO_FLAGS; - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": dyn_scan program...\n"); -#endif -  if (_dl_dyn_scan(prog,(Elf_Dyn*)prog_dynamic)==0) { -    _dl_error_location="error in dyn_scan the program"; -    pf(dlerror()); pf("\n"); -    return (unsigned long)_DIE_; -  } - -  /* now start the program */ -#ifdef DEBUG -  pf(__FUNCTION__); pf(": now jump to program entrypoint\n"); -#endif -  return prog_entry; -} - -#endif diff --git a/mdk-stage1/dietlibc/libdl/_dl_open.c b/mdk-stage1/dietlibc/libdl/_dl_open.c deleted file mode 100644 index f7bd0af95..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_open.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <fcntl.h> -#include <dlfcn.h> -#include <limits.h> -#ifndef __DIET_LD_SO__ -#include <string.h> -#endif - -#include "_dl_int.h" - -#ifdef __DIET_LD_SO__ -static -#endif -void*_dl_open(const char*filename,int flags) { -  int fd; -  char buf[PATH_MAX]; -  const char*p=0; - -  for (fd=0;filename[fd] && (p==0);++fd) if (filename[fd]=='/') p=filename; -  if (p) { -#ifdef __DIET_LD_SO__ -    if ((fd=_dl_sys_open(p,O_RDONLY,0))<0) fd=-1; -#else -    fd=open(p,O_RDONLY); -#endif -  } else { -    p=buf; -    fd=_dl_search(buf,sizeof(buf)-1,filename); -  } -  if (fd==-1) { -    _dl_error_data=filename; -    _dl_error=1; -    return 0; -  } -  return _dl_load(filename,p,fd,flags); -} diff --git a/mdk-stage1/dietlibc/libdl/_dl_queue.c b/mdk-stage1/dietlibc/libdl/_dl_queue.c deleted file mode 100644 index 5e08020d5..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_queue.c +++ /dev/null @@ -1,39 +0,0 @@ -#include <dlfcn.h> -#include "_dl_int.h" - -#define MAX_QUEUE 64 - -static int _dl_queue_start=0; -static int _dl_queue_stop=0; - -static struct { -  const char*name; -  int flags; -} _dl_queue[MAX_QUEUE]; - -#ifdef __DIET_LD_SO__ -static -#endif -int _dl_queue_lib(const char*name,int flags) { -  if (_dl_find_lib(name)==0) { -    register int tmp; -    if ((tmp=_dl_queue_stop+1)>=MAX_QUEUE) tmp=0; -    if (tmp==_dl_queue_start) return -1; -    _dl_queue[_dl_queue_stop].name=name; -    _dl_queue[_dl_queue_stop].flags=flags; -    _dl_queue_stop=tmp; -  } -  return 0; -} - -#ifdef __DIET_LD_SO__ -static -#endif -int _dl_open_dep() { -  while (_dl_queue_start!=_dl_queue_stop) { -    register int tmp=_dl_queue_start; -    (++_dl_queue_start>=MAX_QUEUE)?_dl_queue_start=0:0; -    if (!_dlopen(_dl_queue[tmp].name,_dl_queue[tmp].flags)) return 1; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.c b/mdk-stage1/dietlibc/libdl/_dl_rel.c deleted file mode 100644 index bc8717dc2..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_rel.c +++ /dev/null @@ -1,42 +0,0 @@ -#include <dlfcn.h> - -#include "_dl_int.h" - -static void exit_now(void) { -#ifdef DEBUG -  pf(__func__": symbol not found\n"); -#endif -  _exit(213); -} - -unsigned long do_rel(struct _dl_handle * tmp_dl, unsigned long off) -{ -  Elf_Rel *tmp = ((void*)tmp_dl->plt_rel)+off; - -  int sym=ELF_R_SYM(tmp->r_info); - -  register unsigned long sym_val; - -#ifdef DEBUG -  pf(__func__": "); ph((unsigned long)tmp_dl); pf(" "); ph(off); pf(" on "); -  ph((long)tmp_dl->plt_rel); pf("\n"); -  pf(__func__": @ "); ph((long)tmp->r_offset); pf(" with type "); -  ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(sym); -  pf(" symval "); ph(tmp_dl->dyn_sym_tab[sym].st_value); pf("\n"); -#endif - -  /* modify GOT for REAL symbol */ -  //sym_val=((unsigned long)(tmp_dl->mem_base+tmp_dl->dyn_sym_tab[sym].st_value)); -  sym_val=(unsigned long)_dl_sym(tmp_dl,sym); -  *((unsigned long*)(tmp_dl->mem_base+tmp->r_offset))=sym_val; - -#ifdef DEBUG -  pf(__func__": sym "); ph(sym_val); pf("\n"); -#endif -  /* JUMP (arg sysdep...) */ -  if (sym_val) return sym_val; -  /* can't find symbol -> die now */ -  return (unsigned long)exit_now; -} - - diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.h b/mdk-stage1/dietlibc/libdl/_dl_rel.h deleted file mode 100644 index 948aa5b79..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_rel.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef ___DL_REL_H__ -#define ___DL_REL_H__ - -#if defined(__arm__) || defined(__i386__) || defined(__mips__) -/* this are REL only archs: arm, i386, mips */ - -#define _dl_rel_t	Elf_Rel -#define _DL_REL_T	DT_REL - -#define _DL_REL_PLT(b,r)	(*(unsigned long*)((b)+(r)->r_offset)+=(unsigned long)(b)) - -#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__) -/* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390 */ - -#define _dl_rel_t	Elf_Rela -#define _DL_REL_T	DT_RELA - -#define _DL_REL_PLT(b,r)	(*(unsigned long*)((b)+(r)->r_offset)=(unsigned long)((b)+(r)->r_addend)) - -#else -/* there are no known linux supported arch with mixed relocation types ... */ -#error "_dl_rel.h: NOT SUPPORTED" -#endif - -#endif diff --git a/mdk-stage1/dietlibc/libdl/_dl_relocate.c b/mdk-stage1/dietlibc/libdl/_dl_relocate.c deleted file mode 100644 index e91e48ccf..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_relocate.c +++ /dev/null @@ -1,96 +0,0 @@ -#include "_dl_int.h" - -#include "_dl_rel.h" - -#if 0 -/*--- are other relocation types vital to shared objects ? ---*/ - -  R_386_NONE		 0	/* No reloc */ -  R_386_32		 1	/* Direct 32 bit  */ -  R_386_COPY		 5	/* Copy symbol at runtime ?!? */ -  R_386_GLOB_DAT	 6	/* Create GOT entry */ -  R_386_JMP_SLOT	 7	/* Create PLT entry */ -  R_386_RELATIVE	 8	/* Adjust by program base */ - -  R_ARM_NONE		 0	/* No reloc */ -  R_ARM_ABS32		 2	/* Direct 32 bit  */ -  R_ARM_COPY		20	/* Copy symbol at runtime */ -  R_ARM_GLOB_DAT	21	/* Create GOT entry */ -  R_ARM_JUMP_SLOT	22	/* Create PLT entry */ -  R_ARM_RELATIVE	23	/* Adjust by program base */ - -#endif - -static int _dl_apply_relocate(struct _dl_handle*dh,_dl_rel_t*rel) { -  int typ,ret=0; -  Elf_Addr*loc; - -  loc=(Elf_Addr *)(dh->mem_base+rel->r_offset); - -#ifdef DEBUG -#if 0 -  pf(__FUNCTION__); pf(": "); ph(ELF_R_TYPE(rel->r_info)); pf(" @ "); ph((unsigned long)loc); -  pf(" preval "); ph(*(unsigned long*)loc); pf("\n"); -#endif -#endif - -  typ=ELF_R_TYPE(rel->r_info); - -#ifdef __i386__ -  if (typ==R_386_32) {			/* 1 */ -    *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value); -  } else if (typ==R_386_COPY)  {	/* 5 */ -    int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size; -#ifdef DEBUG -    pf(__FUNCTION__); pf(": R_386_COPY !\n"); -#endif -    memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len); -  } else if (typ==R_386_GLOB_DAT) {	/* 6 */ -    *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)); -  } else if (typ==R_386_JMP_SLOT) {	/* 7 */ -    *loc+=(unsigned long)dh->mem_base; -  } else if (typ==R_386_RELATIVE) {	/* 8 */ -    *loc+=(unsigned long)dh->mem_base; -  } else if (typ==R_386_NONE) {		/* 0 */ -  } else -    ret=1; -#endif -#ifdef __arm__ -  if (typ==R_ARM_ABS32) {		/*  2 */ -    *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value); -  } else if (typ==R_ARM_COPY)  {	/* 20 */ -    int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size; -#ifdef DEBUG -    pf(__FUNCTION__); pf(": R_ARM_COPY !\n"); -#endif -    memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len); -  } else if (typ==R_ARM_GLOB_DAT) {	/* 21 */ -    *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)); -  } else if (typ==R_ARM_JUMP_SLOT) {	/* 22 */ -    *loc+=(unsigned long)dh->mem_base; -  } else if (typ==R_ARM_RELATIVE) {	/* 23 */ -    *loc+=(unsigned long)dh->mem_base; -  } else if (typ==R_ARM_NONE) {		/*  0 */ -  } else -    ret=1; -#endif - -#ifdef DEBUG -  pf(__FUNCTION__); pf(": @ "); ph((unsigned long)loc); pf(" val "); ph(*(unsigned long*)loc); pf("\n"); -#endif -  return ret; -} - -#ifdef __DIET_LD_SO__ -static -#endif -int _dl_relocate(struct _dl_handle*dh,_dl_rel_t *rel,int num) { -  int i; -  for (i=0;i<num;i++) { -    if (_dl_apply_relocate(dh,rel+i)) { -      _dl_error=4; -      return 1; -    } -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libdl/_dl_search.c b/mdk-stage1/dietlibc/libdl/_dl_search.c deleted file mode 100644 index ccf9c51c5..000000000 --- a/mdk-stage1/dietlibc/libdl/_dl_search.c +++ /dev/null @@ -1,111 +0,0 @@ -#include <stdlib.h> -#include <dlfcn.h> - -#include <fcntl.h> - -#include "_dl_int.h" - -#define WANT_LD_SO_CONF_SEARCH - -static const char *_dl_search_rpath=0; - -#ifndef __DIET_LD_SO__ -#include <unistd.h> -#include <string.h> -void _dl_set_rpath(const char *path) { _dl_search_rpath=path; } -const char* _dl_get_rpath() { return _dl_search_rpath; } -#endif - -/* search a colon (semicolon) seperated path for the libraray "filename" */ -static int _dl_search_path(char*buf,int len,const char*path,const int pathlen,const char*filename) { -  int fd,i=1,fl=strlen(filename),ml=len-fl; -  const char*c,*pe=path+pathlen; - -  if (path) { -    for (c=path;c<pe;c+=i) { -      int l=len-1; -      if ((*c==':')||(*c==';')) ++c; -      i=strcspn(c,":;"); -      if (i) { -	if (i>ml) continue;	/* if len(path-entry)+len(filename)+2 is greater than the buffer ? SKIP */ -	memcpy(buf,c,i); -	buf[i]='/'; -	l-=++i; -      } -      memcpy(buf+i,filename,fl); -      buf[i+fl]=0; -#ifdef DEBUG -//      pf(__func__": "); pf(buf); pf("\n"); -#endif -#ifdef __DIET_LD_SO__ -      if ((fd=_dl_sys_open(buf,O_RDONLY,0))>-1) return fd; -#else -      if ((fd=open(buf,O_RDONLY))!=-1) return fd; -#endif -    } -  } -  return -1; -} - -/* parse the SMALL file "conf" for lib directories (aem... hang me if you can :) ) */ -static int _dl_search_conf(char*buf,int len,const char*conf,const char*filename) { -  char ld_so_conf[1024]; -  int i,l,fd; -#ifdef __DIET_LD_SO__ -  if ((fd=_dl_sys_open(conf,O_RDONLY,0))>-1) { -    l=_dl_sys_read(fd,ld_so_conf,sizeof(ld_so_conf)-1); -#else -  if ((fd=open(conf,O_RDONLY))!=-1) { -    l=read(fd,ld_so_conf,sizeof(ld_so_conf)-1); -#endif -    ld_so_conf[sizeof(ld_so_conf)-1]=0; -#ifdef __DIET_LD_SO__ -    _dl_sys_close(fd); -#else -    close(fd); -#endif -    if (l>0) { -      if (ld_so_conf[l-1]=='\n') ld_so_conf[--l]=0; -      for (i=0;i<l;i++) if (ld_so_conf[i]=='\n') ld_so_conf[i]=':'; -      if ((fd=_dl_search_path(buf,len,ld_so_conf,l,filename))!=-1) return fd; -    } -  } -  return -1; -} - -#ifdef __DIET_LD_SO__ -static -#endif -int _dl_search(char*buf,int len,const char*filename) { -  int fd; - -  /* 1. search the LD_RUN_PATH (from the executable) */ -  if (_dl_search_rpath) { -    if ((fd=_dl_search_path(buf,len,_dl_search_rpath,strlen(_dl_search_rpath),filename))!=-1) return fd; -  } - -  /* 2. IF we have a "secure" enviroment THEN search LD_LIBRARY_PATH */ -#ifdef __DIET_LD_SO__ -  if ((at_uid==at_euid)&&(at_gid==at_egid)) { -#else -  if ((getuid()==geteuid())&&(getgid()==getegid())) { -#endif -    char *p=getenv("LD_LIBRARY_PATH"); -    if (p) -      if ((fd=_dl_search_path(buf,len,p,strlen(p),filename))!=-1) return fd; -  } - -  /* 3. search all pathes in the the /etc/diet.ld.conf, a dietlibc extension :) */ -  if ((fd=_dl_search_conf(buf,len,"/etc/diet.ld.conf",filename))!=-1) return fd; - -#ifdef WANT_LD_SO_CONF_SEARCH -  /* 4. search all pathes in the the /etc/ld.so.conf / can't handle this ...=lib?? crap */ -  if ((fd=_dl_search_conf(buf,len,"/etc/ld.so.conf",filename))!=-1) return fd; -#endif - -  /* default path search */ -  { -    const char def_path[]="/usr/lib:/lib"; -    return _dl_search_path(buf,len,def_path,strlen(def_path),filename); -  } -} diff --git a/mdk-stage1/dietlibc/libdl/dlclose.c b/mdk-stage1/dietlibc/libdl/dlclose.c deleted file mode 100644 index 6fafedcf5..000000000 --- a/mdk-stage1/dietlibc/libdl/dlclose.c +++ /dev/null @@ -1,38 +0,0 @@ -#include <sys/mman.h> - -#include "_dl_int.h" - -static void dec_referenced_libs(struct _dl_handle*dh) { -  Elf_Dyn* dyn_tab=dh->dynamic; -  int i; -  for(i=0;dyn_tab[i].d_tag;i++) { -    if (dyn_tab[i].d_tag==DT_NEEDED) { -      char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val; -#ifdef DEBUG -      pf(__FUNCTION__); pf(": lib: "); pf(lib_name); pf("\n"); -#endif -      dlclose(_dl_find_lib(lib_name)); -    } -  } -} - -int dlclose(void*handle) { -  _dl_error_location="dlclose"; -  if (handle) { -    struct _dl_handle*dh=handle; -    if (--(dh->lnk_count)) return 0;	/* not yet unreferenced */ - -#ifdef DEBUG -    pf(__FUNCTION__); pf(": "); pf(dh->name); pf("\n"); -#endif -    if (dh->fini) dh->fini(); -    dec_referenced_libs(dh); -#ifdef __DIET_LD_SO__ -    if (_dl_sys_munmap(dh->mem_base,dh->mem_size)<0) return -1; -#else -    if (munmap(dh->mem_base,dh->mem_size)==-1) return -1; -#endif -    _dl_free_handle(handle); -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libdl/dlerror.c b/mdk-stage1/dietlibc/libdl/dlerror.c deleted file mode 100644 index 3fea0b75c..000000000 --- a/mdk-stage1/dietlibc/libdl/dlerror.c +++ /dev/null @@ -1,55 +0,0 @@ - -#include "_dl_int.h" - -#ifdef __DIET_LD_SO__ -static unsigned int _dl_error; -static const char*_dl_error_location; -static const char*_dl_error_data; -#else -#include <string.h> -unsigned int _dl_error; -const char*_dl_error_location; -const char*_dl_error_data; -#endif - -static struct _dl_err_msg { -  char*msg; -  int len; -} _dl_error_msg[]={ -#define MSG(n) { (n), sizeof((n))-1 } -  MSG("can't open: "),					/* 1 */ -  MSG("can't stat: "),					/* 2 */ -  MSG("shared object is not position independent: "),	/* 3 */ -  MSG("can't resolve all symbols in: "),		/* 4 */ -  MSG("can't find symbol: "),				/* 5 */ -  MSG("invalid relocation type in: "),			/* 6 */ -  MSG("internal error: layout not yet supported: "),	/* 7 */ -}; - -const char *dlerror(void) { -  static char buf[1024],*p=buf; -  register int l,len=sizeof(buf)-1; -  if (_dl_error==0) return 0; - -  buf[0]=0; -  buf[len]=0; -  --_dl_error; - -  if (_dl_error>=(sizeof(_dl_error_msg)/sizeof(struct _dl_err_msg))) -    return "HAE ?!?"; - -  if (_dl_error_location) { -    l=strlen(_dl_error_location); -    strncpy(p,_dl_error_location,len); len-=l; p+=l; -    strncpy(p,": ",len); len-=2; p+=2; -  } -  l=_dl_error_msg[_dl_error].len; -  strncpy(p,_dl_error_msg[_dl_error].msg,len); len-=l; p+=l; -  strncpy(p,_dl_error_data,len); - -  _dl_error_location=0; -  _dl_error_data=""; -  _dl_error=0; - -  return buf; -} diff --git a/mdk-stage1/dietlibc/libdl/dlopen.c b/mdk-stage1/dietlibc/libdl/dlopen.c deleted file mode 100644 index 79fa7903c..000000000 --- a/mdk-stage1/dietlibc/libdl/dlopen.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <fcntl.h> -#include <dlfcn.h> -#include <limits.h> - -#include "_dl_int.h" - -#ifdef __DIET_LD_SO__ -static -#endif -void*_dlopen(const char *filename, int flags) { -  struct _dl_handle* ret; -  if (filename) { -    if ((ret=_dl_find_lib(filename))) { -      ++(ret->lnk_count);	/* add a reference */ -      return ret; -    } -    return _dl_open(filename,flags); -  } -  /* return 1 as an indicator for dlsym to search ALL global objects */ -  return RTLD_DEFAULT; -} - -void*dlopen(const char *filename, int flags) { -  _dl_error_location="dlopen"; -  return _dlopen(filename,flags|RTLD_USER|RTLD_NOSONAME); -} diff --git a/mdk-stage1/dietlibc/libdl/dlsym.c b/mdk-stage1/dietlibc/libdl/dlsym.c deleted file mode 100644 index c58bb4d11..000000000 --- a/mdk-stage1/dietlibc/libdl/dlsym.c +++ /dev/null @@ -1,92 +0,0 @@ -#include "_dl_int.h" - -#include "elf_hash.h" - -#ifdef __DIET_LD_SO__ -static -#endif -void *_dlsym(void*handle,char*symbol) { -  unsigned long*sym=0; -  if (handle) { -    struct _dl_handle*dh=(struct _dl_handle*)handle; -    unsigned long hash =elf_hash(symbol); -    unsigned long bhash=hash%HASH_BUCKET_LEN(dh->hash_tab); -    unsigned long*chain=HASH_CHAIN(dh->hash_tab); -    unsigned long ind; -    char *name=dh->dyn_str_tab; - -#ifdef DEBUG -//    pf(__FUNCTION__); pf(": bucket("); ph(bhash); pf(",\""); pf(symbol); pf("\")\n"); -#endif - -    ind=HASH_BUCKET(dh->hash_tab)[bhash]; -#ifdef DEBUG -//    pf(__FUNCTION__); pf(": chain ("); ph(ind); pf(",\""); pf(symbol); pf("\")\n"); -#endif - -    while(ind) { -      int ptr=dh->dyn_sym_tab[ind].st_name; -#ifdef DEBUG -//      pf(__FUNCTION__); pf(": symbol(\""); pf(name+ptr); pf("\",\"); pf(symbol); pf("\")\n"); -#endif -      if (strcmp(name+ptr,symbol)==0) { -	if (ELF_ST_TYPE(dh->dyn_sym_tab[ind].st_shndx)!=0) { -	  sym=(long*)(dh->mem_base+dh->dyn_sym_tab[ind].st_value); -	  break;	/* ok found ... */ -	} -      } -      ind=chain[ind]; -    } -#ifdef DEBUG -    pf(__FUNCTION__); pf(": symbol \""); pf(symbol); pf("\" @ "); ph((long)sym); pf("\n"); -#endif -  } -  return sym; -} - -#ifdef __DIET_LD_SO__ -static -#endif -void*_dl_sym_search_str(struct _dl_handle*dh,char*name) { -  void *sym=0; -  struct _dl_handle*tmp; -#ifdef DEBUG -  pf(__FUNCTION__); pf(": search for: "); pf(name); pf("\n"); -#endif -  for (tmp=_dl_root_handle;tmp && (!sym);tmp=tmp->next) { -//    if (!(tmp->flags&RTLD_GLOBAL)) continue; -#ifdef DEBUG -    pf(__FUNCTION__); pf(": searching in "); pf(tmp->name); pf("\n"); -#endif -    sym=_dlsym((void*)tmp,name); -#ifdef DEBUG -    if (sym) { pf(__FUNCTION__); pf(": found: "); pf(name); pf(" @ "); ph((long)sym); pf("\n"); } -#endif -  } -  return sym; -} - -#ifdef __DIET_LD_SO__ -static -#endif -void*_dl_sym(struct _dl_handle*dh,int symbol) { -  char *name=dh->dyn_str_tab+dh->dyn_sym_tab[symbol].st_name; -  void*sym=_dl_sym_search_str(dh,name); -#ifdef DEBUG -  pf(__FUNCTION__); pf(": "); ph(symbol); pf(" -> "); ph((long)sym); pf("\n"); -#endif -  return sym; -} - -void*dlsym(void*handle,char*symbol) { -  void*h; -  if (handle==RTLD_DEFAULT || !handle /* RTLD_DEFAULT is NULL on glibc */ ) -    h=_dl_sym_search_str(0,symbol); -  else h=_dlsym(handle,symbol); -  if (h==0) { -    _dl_error_location="dlsym"; -    _dl_error_data=symbol; -    _dl_error=5; -  } -  return h; -} diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.h b/mdk-stage1/dietlibc/libdl/elf_hash.h deleted file mode 100644 index be55982ea..000000000 --- a/mdk-stage1/dietlibc/libdl/elf_hash.h +++ /dev/null @@ -1,10 +0,0 @@ -static unsigned long elf_hash(const unsigned char *name) { -  unsigned long h=0, g; - -  while (*name) { -    h = (h<<4) + *(name++); -    if ((g = h&0xf0000000)) h ^= g>>24; -    h &= ~g; -  } -  return h; -} diff --git a/mdk-stage1/dietlibc/libdl/test/test.c b/mdk-stage1/dietlibc/libdl/test/test.c deleted file mode 100644 index d467134ba..000000000 --- a/mdk-stage1/dietlibc/libdl/test/test.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <dlfcn.h> - -int main(int argc, char **argv) -{ -  void *Hlib; - -//  if (Hlib=dlopen("libtest.so", RTLD_LAZY)) { -  if (Hlib=dlopen("libtest.so", RTLD_NOW)) { -    void (*t)(void) = dlsym(Hlib,"test"); -    if (t) { -      printf("test @ %08lx\n",(long)t); -      t(); -    } -    dlclose(Hlib); -  } -  else { -    printf("%s\n",dlerror()); -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libdl/test/test_so.c b/mdk-stage1/dietlibc/libdl/test/test_so.c deleted file mode 100644 index 09d243c56..000000000 --- a/mdk-stage1/dietlibc/libdl/test/test_so.c +++ /dev/null @@ -1,11 +0,0 @@ - -int* test(); - -int err -=(int)test -; - -int* test() { -  write(1,"helo\n",5); -  return &err; -} diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c b/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c deleted file mode 100644 index 5a6361442..000000000 --- a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int iscntrl(int x) { -  unsigned char c=x&0xff; -  return (c<32) || (c>=127 && c<=160); -} diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c b/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c deleted file mode 100644 index e79a19e52..000000000 --- a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <ctype.h> - -int isgraph(int x) { -  unsigned char c=x&0xff; -  return (c>=33 && c<=126) || (c>=161 && c<=255); -} - diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c b/mdk-stage1/dietlibc/liblatin1/latin1-islower.c deleted file mode 100644 index c5ad18d1e..000000000 --- a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int islower(int c) { -  unsigned char x=c&0xff; -  return (x>='a' && x<='z') || (x>=223 && x<=255 && x!=247); -} diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c b/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c deleted file mode 100644 index 9493892b1..000000000 --- a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int isprint(int x) { -  unsigned char c=x&0xff; -  return (c>=32 && c<=126) || (c>=160 && c<=255); -} diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c b/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c deleted file mode 100644 index a024548fd..000000000 --- a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <ctype.h> - -int isupper(int c) { -  unsigned char x=c&0xff; -  return (x>='A' && x<='Z') || (x>=192 && x<=222 && x!=215); -} diff --git a/mdk-stage1/dietlibc/libm/acosh.c b/mdk-stage1/dietlibc/libm/acosh.c deleted file mode 100644 index a09a4c9f0..000000000 --- a/mdk-stage1/dietlibc/libm/acosh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <math.h> - -double  acosh ( double x ) -{ -    return log ( x + sqrt (x*x - 1.) ); -} diff --git a/mdk-stage1/dietlibc/libm/asinh.c b/mdk-stage1/dietlibc/libm/asinh.c deleted file mode 100644 index 49c6b467f..000000000 --- a/mdk-stage1/dietlibc/libm/asinh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <math.h> - -double  asinh ( double x ) -{ -    return log ( x + sqrt (x*x + 1.) ); -} diff --git a/mdk-stage1/dietlibc/libm/atanh.c b/mdk-stage1/dietlibc/libm/atanh.c deleted file mode 100644 index bdb3367be..000000000 --- a/mdk-stage1/dietlibc/libm/atanh.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <math.h> - -extern const float  __half; - -double  atanh ( double x ) -{ -    return __half * log ( (1.+x) / (1.-x) ); -} diff --git a/mdk-stage1/dietlibc/libm/bessel.c b/mdk-stage1/dietlibc/libm/bessel.c deleted file mode 100644 index ba8a1afcb..000000000 --- a/mdk-stage1/dietlibc/libm/bessel.c +++ /dev/null @@ -1,171 +0,0 @@ -/*--------------------------------------------------------------------------* - -Name            j0, j1, jn - Bessel functions -                y0, y1, yn - Weber functions - -Usage           double j0 (double x); -                double j1 (double x); -                double jn (int n, double x); -                double y0 (double x); -                double y1 (double x); -                double yn (int n, double x); - -Prototype in    math.h - -Description     j0, j1 and jn calculate the Bessel function. -                y0, y1 and yn calcualte the Weber function. - -Return value    return their return values as doubles. - -*---------------------------------------------------------------------------*/ - -#include <math.h> - -#define M_C             0.5772156649015328 -#if 0 -#define M_1_PI          0.318309886183790671538 -#define M_2_PI          0.636619772367581343076 -#define M_PI            3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148 -#endif - - -#define EXPL(x)   ((((short *)&x)[4] & 0x7FFF) >> 0) -#define EXPD(x)   ((((short *)&x)[3] & 0x7FF0) >> 4) -#define EXPF(x)   ((((short *)&x)[1] & 0x7F80) >> 7) - -#define SQUARE(x) (long) (My - (x) * (x) ) - - -static long double  P ( int My, double* x ) -{ -    long double   Sum  = 0.; -    long double   Fact = 1.; -    long double   z182 = -0.015625 / (x[0] * x[0]); -    register int  i; - -    for ( i = 1; ; i += 2 ) { -        Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1)); -        if ( EXPL (Fact) < 0x3FFF-53 ) -            break; -        Sum  += Fact; -    } -    return 1. + Sum; -} - -static long double  Q ( int My, double* x ) -{ -    long double   Fact = (My-1) / x[0] * 0.125; -    long double   Sum  = Fact; -    long double   z182 = -0.015625 / (x[0]*x[0]); -    register int  i; - -    for ( i = 2; ; i += 2 ) { -        Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1)); -        if ( EXPL (Fact) < 0x3FFF-53 ) -            break; -        Sum  += Fact; -    } -    return Sum; -} - - -static long double  ___jn ( int n, double* x ) -{ -    long double   Sum; -    long double   Fact; -    long double   y; -    register int  i; -    double        xx; -    long double   Xi; -    int           My; - -    if ( n < 0 ) -        return n & 1 ? ___jn (-n, x) : -___jn (-n, x); - -    if ((x[0] >= 17.7+0.0144*(n*n))) { -        Xi = x[0] - M_PI * (n*0.5 + 0.25); -        My = n*n << 2; - -        return sqrt ( M_2_PI/x[0] ) * ( P(My,x) * cos(Xi) - Q(My,x) * sin(Xi) ); -    } -    xx   = x[0] * 0.5; -    Sum  = 0.; -    Fact = 1.; -    y    = -xx * xx; - -    for ( i = 1; i <= n; i++ ) -        Fact *= xx/i; -    for ( i = 1; ; i++ ) { -        Sum  += Fact; -        Fact *= y / (i*(n+i)); -        if ( EXPL (Sum) - EXPL(Fact) > 53 || !EXPL(Fact) ) -            break; -    } -    return Sum; -} - - -static long double  ___yn ( int n, double* x ) -{ -    long double   Sum1; -    long double   Sum2; -    long double   Fact1; -    long double   Fact2; -    long double   F1; -    long double   F2; -    long double   y; -    register int  i; -    double        xx; -    long double   Xi; -    unsigned int  My; - -    if ( EXPD (x[0]) == 0 ) -        return -1./0.;	/* ignore the gcc warning, this is intentional */ - -    if ( (x[0] >= (n>=32 ? 25.8 : (n<8 ? 17.4+0.1*n : 16.2+0.3*n))) ) { -        Xi = x[0] - M_PI * (n*0.5+0.25); -        My = n*n << 2; - -        return sqrt ( M_2_PI / x[0] ) * ( P(My,x) * sin(Xi) + Q(My,x) * cos(Xi) ); -    } - -    Sum1  = Sum2 = F1 = F2 = 0; -    Fact1 = 1. / (xx = x[0] * 0.5 ); -    Fact2 = 1.; -    y     = xx*xx; - -    for ( i = 1; i < n; i++ ) -        Fact1 *= (n-i) / xx; - -    for ( i = 1; i <= n; i++ ) { -        Sum1  += Fact1; -        if ( i == n ) -            break; -        Fact1 *= y/(i*(n-i)); -    } - -    for (i=1; i<=n; i++) { -        Fact2 *= xx / i; -        F1    += 1. / i; -    } - -    for ( i = 1; ; i++ ) { -        Sum2  += Fact2 * (F1+F2); -        Fact2 *= -y / (i*(n+i)); -        if ( EXPL (Sum2) - EXPL (Fact2) > 53 || !EXPL (Fact2) ) -            break; -        F1 += 1. / (n+i); -        F2 += 1. / i; -    } - -    return M_1_PI * (2. * (M_C + log(xx)) * ___jn (n, x) - Sum1 - Sum2); -} - - -double  j0 ( double x )         { return ___jn ( 0,&x ); } -double  j1 ( double x )         { return ___jn ( 1,&x ); } -double  jn ( int n, double x )  { return ___jn ( n,&x ); } -double  y0 ( double x )         { return ___yn ( 0,&x ); } -double  y1 ( double x )         { return ___yn ( 1,&x ); } -double  yn ( int n, double x )  { return ___yn ( n,&x ); } - diff --git a/mdk-stage1/dietlibc/libm/cosh.c b/mdk-stage1/dietlibc/libm/cosh.c deleted file mode 100644 index f64d59106..000000000 --- a/mdk-stage1/dietlibc/libm/cosh.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <math.h> - -extern const float  __half; - -double  cosh ( double x ) -{ -    long double  y = exp (x); -    return (y + 1./y) * __half; -} diff --git a/mdk-stage1/dietlibc/libm/erf.c b/mdk-stage1/dietlibc/libm/erf.c deleted file mode 100644 index 63f52d81f..000000000 --- a/mdk-stage1/dietlibc/libm/erf.c +++ /dev/null @@ -1,95 +0,0 @@ -#include "dietlibm.h" - -/*--------------------------------------------------------------------------* -                                     z -                              1      |  -x²/2 -Name            erf(z)  = ---------  | e     dx -                          sqrt(2pi)  | -                                     0 -				      -                                     oo -                              1      |  -x²/2 -                erfc(z) = --------   | e     dx -                          sqrt(2pi)  | -                                     z - -Usage           double erf (double x); -                double erfc(double x); - -Prototype in    math.h - -Description     erf(x) is the probability a normal distributed event occures -                within the range [0,x]. erfc(x) is the probability a normal -                distributed event occures within the range [x,oo]. - -Return value    return their respective function value. - -*---------------------------------------------------------------------------*/ - - -/* even function in (0): Coefficients for gamma(0) */ - -static const double  tab1 [9 + 1] = { -    0.398942280401432677926,        -0.066490380066905446321,       9.97355701003581694794E-3,      -1.18732821548045439878E-3,     1.15434687616155288764E-4,      -9.44465625950361453450E-6,     6.65969351631665127484E-7,      -4.12266741486268888409E-8,     2.27352982437280636972E-9,      -1.13011716416192129505E-10  -}; - -/* non even or odd function in (x), x>0: Coefficients for gamma(x), x>0 */ - -static const double  tab2 [] [31 + 1] = { -    { -0.158655253931457051468,     +0.241970724519143349823,       -0.120985362259571674911,        0,                             +0.0201642270432619458197,      -4.03284540865238916394E-3,     -2.01642270432619458197E-3,     +7.68161030219502697887E-4,     +1.20025160971797296538E-4,     -8.80184513793180174807E-5,     -1.86705805956129127862E-6,     +7.37124220917704609315E-6,     -4.72826391707080259142E-7,     -4.83395817951682973566E-7,     +6.57036391970156141055E-8,     +2.5544260402922190768E-8,      -5.4292285616752144141E-9,      -1.08932444506260820153E-9,     +3.44399256708718202774E-10,    +3.6021429664641554881E-11,     -1.81147204852239925966E-11,    -7.66935128389784976374E-13,    +8.19047721646461768154E-13,    -3.78144699611990981391E-15,    -3.24856460059989147863E-14,    +1.44438130842455313227E-15,    +1.14391687912824634892E-15,    -9.38053726039148625184E-17,    -3.59908648108845288945E-17,    +4.36020846676166022246E-18,    +1.01298640134330880603E-18,    -1.68640470512244526894E-19 }, -    { -0.0227501319481792072104,    +0.0539909665131880519553,      -0.0539909665131880519553,      +0.0269954832565940259776,      -4.49924720943233766301E-3,     -2.24962360471616883129E-3,     +1.34977416282970129877E-3,     -1.17837426913704081544E-4,     -1.15159303574756261652E-4,     +3.70473728554448438507E-5,     +2.82690796888936559912E-6,     -3.54513195524355369855E-6,     +3.76695631261094890352E-7,     +1.92024079214184701051E-7,     -5.22690859049557191018E-8,     -4.91799344974114749666E-9,     +3.66377919234006038965E-9,     -1.5981997209104676352E-10,     -1.73812379171063320997E-10,    +2.62403075313043113473E-11,    +5.60918720760414713346E-12,    -1.72126983666416144614E-12,    -8.63428809787622525331E-14,    +7.89441765474563834480E-14,    -3.13747960081562321348E-15,    -2.77519506625391157547E-15,    +3.29321944203493138076E-16,    +7.44375150395529134369E-17,    -1.66428523299294690222E-17,    -1.32735612757620496568E-18,    +6.24122437514304644794E-19,    +1.12471123532438919306E-21 }, -    { -1.3498980316300945272E-3,    +4.43184841193800717687E-3,     -6.64777261790701076574E-3,     +5.90913121591734290293E-3,     -3.32388630895350538287E-3,     +1.10796210298450179421E-3,     -1.10796210298450179595E-4,     -8.44161602273906129349E-5,     +4.35270826172482847927E-5,     -6.30190085030867423515E-6,     -1.9785037553294674925E-6,      +1.05520200284238266374E-6,     -1.13913852579575399458E-7,     -4.81174572974454799623E-8,     +1.78216871733806513653E-8,     -5.85637697215219690327E-10,    -9.29791350219350980904E-10,    +1.96377023046901260016E-10,    +1.58870373467897094393E-11,    -1.22699105512396660364E-11,    +1.08794270836433192571E-12,    +3.99646995170699427940E-13,    -1.01594404465456044793E-13,    -3.33469605506835759271E-15,    +4.46588935876766499879E-15,    -4.08076707607833277747E-16,    -1.17808602368979218862E-16,    +2.76224909899945482352E-17,    +1.09206599392049874162E-18,    -1.03145418746203977253E-18,    +6.79984672177279963209E-20,    +2.55831283729070534712E-20 }, -    { -3.16712418331199212695E-5,   +1.33830225764885351832E-4,     -2.67660451529770703664E-4,     +3.34575564412213379613E-4,     -2.89965489157251595673E-4,     +1.8178605666396926958E-4,      -8.25286392216793003064E-5,     +2.55180251904870680833E-5,     -3.91665839292075186649E-6,     -7.40182052221464123606E-7,     +6.44220233592652481453E-7,     -1.73701553397390201613E-7,     +9.09595464817154590424E-9,     +9.44943118114780783705E-9,     -3.29957075383376125942E-9,     +2.94920746951281580686E-10,    +1.18744773902482360274E-10,    -4.42039585809856402486E-11,    +3.61422484008923382324E-12,    +1.43638335494248833511E-12,    -4.58476794992724591068E-13,    +2.23496663226445199624E-14,    +1.57839046076890756440E-14,    -3.67258220998453293248E-15,    -1.69716269032291432153E-17,    +1.43497778353923791279E-16,    -2.14499365995613073838E-17,    -1.93255135682867953692E-18,    +1.01377499752128183701E-18,    -7.55713215369572830154E-20,    -2.25510650946079103289E-20,    +5.26633993110171917109E-21 }, -    { -2.86651571879193912033E-7,   +1.48671951473429770924E-6,     -3.7167987868357442731E-6,      +5.9468780589371908374E-6,      -6.81413110919886450076E-6,     +5.92209940035828587496E-6,     -4.02653201907205629582E-6,     +2.17108246596119665457E-6,     -9.25512396325170449452E-7,     +3.03096091545533908077E-7,     -6.92802772105295808398E-8,     +6.69226396924248971087E-9,     +2.46006252876483997508E-9,     -1.41806830376639605249E-9,     +3.44251040657349801884E-10,    -2.6965166176434937652E-11,     -1.16546962748761528049E-11,    +4.91490145086991326748E-12,    -7.55854519365765424197E-13,    -4.53988828124843593484E-14,    +4.71533558309731405623E-14,    -9.17323049919073092370E-15,    +4.35542982587998484108E-17,    +3.71238868922011013332E-16,    -7.90772907386322623053E-17,    +1.58463483904927528072E-18,    +2.61503941976309571331E-18,    -5.40699423853895351239E-19,    +6.61825040533797444037E-21,    +1.68378440730394776550E-20,    -3.01930850797704474581E-21,    -3.80658085177617928332E-23 }, -    { -9.8658764503769814198E-10,   +6.07588284982328549581E-9,     -1.82276485494698564874E-8,     +3.54426499573024987263E-8,     -5.01260335110421053478E-8,     +5.48348427196551516061E-8,     -4.81513715848495375522E-8,     +3.47446467489597046263E-8,     -2.08994095347716137282E-8,     +1.0554987922587771203E-8,      -4.4752674615729637229E-9,      +1.57746505810079893253E-9,     -4.49697115294871911476E-10,    +9.63210042443717269402E-11,    -1.16300711402336909847E-11,    -1.31070037808191623761E-12,    +1.16993345829435057496E-12,    -3.40636420312606285351E-13,    +5.23724821541706939045E-14,    +3.93541148139975862961E-16,    -2.59886413069218394637E-15,    +7.24729556829529838503E-16,    -8.51485747763574768020E-17,    -7.86503719948806184368E-18,    +5.35986191777031053618E-18,    -9.84873767617830925356E-19,    +2.93759678710573738811E-20,    +2.85458592629073152182E-20,    -7.12725445137377009753E-21,    +5.25419393758902871947E-22,    +1.24299023131490990316E-22,    -4.04419210566489645405E-23 }, -    { -1.27981254388583500631E-12,  +9.1347204083645933588E-12,     -3.19715214292760767584E-11,    +7.30777632669167468738E-11,    -1.22557498812224960902E-10,    +1.60618833847077433236E-10,    -1.71047639646627010648E-10,    +1.51926349902927316213E-10,    -1.14609023345779936276E-10,    +7.43697341394886835864E-11,    -4.18713451557949730558E-11,    +2.05606050331840905587E-11,    -8.82161466664564577599E-12,    +3.30031395277698236679E-12,    -1.06851205331295409813E-12,    +2.94333808755089195146E-13,    -6.64411715537625335642E-14,    +1.11264855981436243262E-14,    -8.52918435682649455145E-16,    -2.38837813662069487819E-16,    +1.23994634366691956599E-16,    -3.05269770279941723219E-17,    +4.34539596489459676621E-18,    -5.55819387468189608390E-20,    -1.56974672263484202926E-19,    +4.60835492190702561464E-20,    -6.61112150617493330405E-21,    +7.28424268476803924831E-23,    +2.09156005934313228089E-22,    -5.29080328670107625978E-23,    +5.61375000671507211726E-24,    +3.82199410465700894394E-25 }, -    { -6.22096057427178413283E-16,  +5.05227108353689229741E-15,    -2.02090843341475691883E-14,    +5.30488463771373691202E-14,    -1.02729512031916810045E-13,    +1.56409892294496290711E-13,    -1.94849254788406146283E-13,    +2.04064637342166989709E-13,    -1.83187931471980616892E-13,    +1.42994099344605424348E-13,    -9.8111907789286062426E-14,     +5.96545975367403288587E-14,    -3.23370114040930933005E-14,    +1.56932853967230342257E-14,    -6.83548101324218922896E-15,    +2.67410077774155118457E-15,    -9.38313996431647887562E-16,    +2.94090734842381109313E-16,    -8.16448235152204729921E-17,    +1.9758222496699617607E-17,     -4.03590262164308783690E-18,    +6.43662361965717426956E-19,    -5.93446415094778572090E-20,    -6.07164564350191039536E-21,    +4.38906686886388095825E-21,    -1.17175498170220204828E-21,    +1.98482140750318604418E-22,    -1.70803571702439545981E-23,    -1.94600332107885234554E-24,    +1.10477141319981582738E-24,    -2.31975718243847439962E-25,    +2.54148402104633283670E-26 }, -    { -1.12858840595384064928E-19,  +1.02797735716689148111E-18,    -4.62589810725101166456E-18,    +1.37063647622252197466E-17,    -3.0068337697131575822E-17,     +5.2067053140503053517E-17,     -7.40914680178037035E-17,       +8.9062000172830588611E-17,     -9.22563786210983011008E-17,    +8.35975730487397716492E-17,    -6.70372487553237232779E-17,    +4.80088566412770650047E-17,    -3.09280630297969106245E-17,    +1.8026496052333452774E-17,     -9.54924880090907168481E-18,    +4.61362333444861021959E-18,    -2.03812361224098073479E-18,    +8.24578860830779678155E-19,    -3.0572087552697254564E-19,     +1.03827313453936543577E-19,    -3.22407758977306397999E-20,    +9.12052549039695437376E-21,    -2.33541947993595580264E-21,    +5.35339963891271164659E-22,    -1.07674173853083520575E-22,    +1.82413373046113374293E-23,    -2.33864726317468746329E-24,    +1.29928813344150027051E-25,    +3.86668349205203745336E-26,    -1.63203452712600670685E-26,    +3.65165372186699607411E-27,    -5.51243539825332137371E-28 }, -    { -7.61985302416052609616E-24,  +7.69459862670641937159E-23,    -3.84729931335320968601E-22,    +1.26960877340655919637E-21,    -3.10990027829384449637E-21,    +6.02935924057670511377E-21,    -9.6342786971886625897E-21,     +1.30454744197246721374E-20,    -1.52745988785284834672E-20,    +1.57034665186695273938E-20,    -1.43457243961336621961E-20,    +1.17567385540485497556E-20,    -8.7104848256363928121E-21,     +5.87137214731944288587E-21,    -3.61951956727412561213E-21,    +2.04954715001535632502E-21,    -1.06982832733527370879E-21,    +5.1628428354196120786E-22,     -2.30885865897937993512E-22,    +9.58556229281154921137E-23,    -3.69911125531027884646E-23,    +1.32784897023484841369E-23,    -4.43433027366044567275E-24,    +1.37688611947822111040E-24,    -3.96971995397574368025E-25,    +1.06008163579031271153E-25,    -2.61149430849477426613E-26,    +5.89698164189548613154E-27,    -1.20793190886658723050E-27,    +2.20446342551066852143E-28,    -3.46061447029252398335E-29,    +4.28913922246949096952E-30 }  -}; - -static const double  tab3 [8] = { +1, -1, +3, -15, +105, -945, +10395, -135135.0 }; - - -/* -    Calculated:               oo -                       1      |  -x²/2 -        gauss(z) = ---------  | e     dx -                   sqrt(2pi)  | -                              z  - -        gauss ( 0) = 0.5 -        gauss ( 1) ~ 0.1586 -        gauss ( 2) ~ 0.02275 -        gauss ( 4) ~ 3.17e-5 -        gauss (10) ~ 7.62e-24 -        gauss (oo) = 0 - -        Note: only for z>0 -*/ -#include <stdio.h> -#include <math.h> - -#define M_1_SQRT2PI      0.398942280401432686 - -static long double  gauss ( double x )  -{  -    unsigned int  i = (unsigned int)(x + 0.5); -    double        y = x * x; - -    if ( i > 150 ) return 0.; -    if ( i >  10 ) return M_1_SQRT2PI * exp (-0.5*y) / x * __poly (1./y, 7, tab3); -    if ( i >   0 ) return -__poly ((x-i), 31, tab2 [i-1]); -    return 0.5 - x * __poly (y, 9, tab1); -  } - -double  erf  ( double x )  -{ -    return x < 0.  ? -0.5 + gauss(-x)  :  0.5 - gauss(x); -} - -double  erfc ( double x )  -{ -    return x < 0.  ?  1.0 - gauss(-x)  :  gauss(x); -} - diff --git a/mdk-stage1/dietlibc/libm/gamma.c b/mdk-stage1/dietlibc/libm/gamma.c deleted file mode 100644 index d5f3e4275..000000000 --- a/mdk-stage1/dietlibc/libm/gamma.c +++ /dev/null @@ -1,98 +0,0 @@ -#include "dietlibm.h" - -/*--------------------------------------------------------------------------* - -Name            gamma, lgamma - gamma function - -Usage           double gamma (double x); -                double lgamma(double x); -                extern int signgam; - -Prototype in    math.h - -Description     gamma returns the logarithm of the absolute value of the -                gamma function. So it is possible â(x) for very large x. -                The sign is stored in signgam, a extern variable -                overwritten during every call to gamma(). lgamma() is -                a synonym for gamma(). -                You can calculate â(x) by the following sequence: - -                double gammafunction(double x) -                  { double y=exp(gamma(x)); - -                    return signgam ? -y : +y; -                  } - -Return value    gamma returns a value in range (-0.1208, +oo). For a input -                value of zero, it returns +oo and errno is set to: - -                        ERANGE  Result out of range - -*---------------------------------------------------------------------------*/ - -#include <stdlib.h> -#include <math.h> - -#define B0      +            1.0l/   6/ 1/ 2 -#define B1      -            1.0l/  30/ 3/ 4 -#define B2      +            1.0l/  42/ 5/ 6 -#define B3      -            1.0l/  30/ 7/ 8 -#define B4      +            5.0l/  66/ 9/10 -#define B5      -          691.0l/2730/11/12 -#define B6      +            7.0l/   6/13/14 -#define B7      -         3617.0l/ 510/15/16 -#define B8      +        43867.0l/ 798/17/18 -#define B9      -       174611.0l/ 330/19/20 -#define B10     +       854513.0l/ 138/21/22 -#define B11     -    236364091.0l/2730/23/24 -#define B12     +      8553103.0l/   6/25/26 - -static const double  coeff[] = { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }; -int                  signgam; - -#define EXPL(x) (((short *)&x)[4] & 0x7FFF) - -static double  logfact ( long double x ) -{ -    long double   z = 2. * M_PI * x; -    register int  e = EXPL (x); -    -    static unsigned char list [] = { 6, 4, 3, 3, 2, 2 }; - -    return (log(x) - 1) * x + 0.5*log(z) + __poly (1./(x*x), e<0x4003 ? 10 : (e>0x4008 ? 1 : list [e-0x4003] ), coeff) / x; -} - - -double  lgamma ( double x ) -{ -    register int  k = floor (x); -    long double   w; -    long double   y; -    long double   z; -    -    signgam = 0; - -    if ( k >= 7 ) -        return logfact (x-1); -        -    if ( k == x ) -        switch (k) { -        case 1 : -        case 2 : return 0.000000000000000000000000000l; -        case 3 : return 0.693147180559945309432805516l; -        case 4 : return 1.791759469228055000858148560l; -        case 5 : return 3.178053830347945619723759592l; -        case 6 : return 4.787491742782045994244981560l; -        default: return 1./0.; /* ignore the gcc warning, this is intentional */ -        } -        -    z = logfact (y = x - k + 7.0 - 1); -    w = 1; -    for ( k = 7 - k; k--; ) -        w *= y, y -= 1.; -        -    signgam = k >= 0  ?  0  :  k & 1; -    return z - log (w); -} - -double gamma ( double val )  __attribute__ ((weak,alias("lgamma"))); diff --git a/mdk-stage1/dietlibc/libm/ipow.c b/mdk-stage1/dietlibc/libm/ipow.c deleted file mode 100644 index 399986ea1..000000000 --- a/mdk-stage1/dietlibc/libm/ipow.c +++ /dev/null @@ -1,29 +0,0 @@ -#define _GNU_SOURCE -#include <math.h> -/* - * This is not standard, but often you only need such this function - * which is much shorter than the generic pow() function. - * - *   double  ipow ( double mant, int expo ); - */ - -double  ipow ( double mant, int expo ) -{ -    double        ret = 1.; -    unsigned int  e   = expo;	/* Some attention is necessary for expo = 2^31 */ -    -    if ( (int)e < 0 ) { -        e    = -e; -        mant = 1./mant; -    } -    -    while (1) { -        if ( e & 1 ) -            ret *= mant; -        if ( (e >>= 1) == 0 ) -            break; -        mant *= mant; -    } -    -    return ret; -} diff --git a/mdk-stage1/dietlibc/libm/poly.c b/mdk-stage1/dietlibc/libm/poly.c deleted file mode 100644 index cdcfb8c5c..000000000 --- a/mdk-stage1/dietlibc/libm/poly.c +++ /dev/null @@ -1,41 +0,0 @@ -/*--------------------------------------------------------------------------* - -Name		__poly - generates a polynomial from arguments - -Usage		double  __poly ( double x, int n, const double* c ); - -Prototype in	math.h - -Description	__poly generates a polynomial in x, of degree n, with -		coefficients c[0], c[1], ..., c[n]. For example, if n=4, -		the generated polynomial is - -			c[4]*x^4 + c[3]*x^3 + c[2]*x^2 + c[1]*x + c[0] - -		The polynomial is calculated using Horner's method: - -			polynom = (..((x*c[n] + c[n-1])*x + c[n-2])..)*x + c[0] - -Return value	__poly returns the value of the polynomial as evaluated for -		the given x. -		A range error occurs if the result exceeds double range. - -*---------------------------------------------------------------------------*/ - -#include <stdio.h> -#include "dietlibm.h" - -double  __poly ( double x, size_t n, const double* c)  -{ -    long double ret; -    size_t      i; -     -    i   = n; -    c  += n; -    ret = 0; -    do -        ret = ret * x + *c--; -    while ( i-- ); -     -    return ret; -} diff --git a/mdk-stage1/dietlibc/libm/pow.c b/mdk-stage1/dietlibc/libm/pow.c deleted file mode 100644 index e0e5a2983..000000000 --- a/mdk-stage1/dietlibc/libm/pow.c +++ /dev/null @@ -1,42 +0,0 @@ - -#include <math.h> -#include "dietlibm.h" - -double  pow ( double mant, double expo ) -{ -    unsigned int  e; -    long double   ret; - -    /* special cases 0^x */ -    if ( mant == 0. ) { -        if ( expo > 0. ) -            return 0.; -        else if ( expo == 0. ) -            return 1.; -        else -            return 1./mant; -    } -     -    /* special cases x^n with n is integer */ -    if ( expo == (int) (e = (int) expo) ) { -            -        if ( (int)e < 0 ) { -            e    = -e; -            mant = 1./mant; -        } -    -        ret = 1.; -         -        while (1) { -            if ( e & 1 ) -                ret *= mant; -            if ( (e >>= 1) == 0 ) -                break; -            mant *= mant; -         } -        return ret; -    } -     -    /* normal case */ -    return exp2 ( log2 (mant) * expo ); -} diff --git a/mdk-stage1/dietlibc/libm/rint.c b/mdk-stage1/dietlibc/libm/rint.c deleted file mode 100644 index b6f0d8f85..000000000 --- a/mdk-stage1/dietlibc/libm/rint.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <math.h> - -double rint(double x) { -  return floor(x+0.5); -} diff --git a/mdk-stage1/dietlibc/libm/sinh.c b/mdk-stage1/dietlibc/libm/sinh.c deleted file mode 100644 index ae4542d25..000000000 --- a/mdk-stage1/dietlibc/libm/sinh.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <math.h> - -extern const float  __half; - -double  sinh ( double x ) -{ -    long double  y = exp (x); -    return (y - 1./y) * __half; -} diff --git a/mdk-stage1/dietlibc/libm/tanh.c b/mdk-stage1/dietlibc/libm/tanh.c deleted file mode 100644 index 21dc3d0c0..000000000 --- a/mdk-stage1/dietlibc/libm/tanh.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math.h> - -double  tanh ( double x ) -{ -    long double  y = exp (x + x); -    return (y - 1.) / (y + 1.); -} diff --git a/mdk-stage1/dietlibc/libpthread/CHANGES b/mdk-stage1/dietlibc/libpthread/CHANGES deleted file mode 100644 index 63376623b..000000000 --- a/mdk-stage1/dietlibc/libpthread/CHANGES +++ /dev/null @@ -1,51 +0,0 @@ -This is the pthread implementation of dietlibc. -Written from scratch by Olaf Dreesen. - -Mon Aug  6 15:46:39 MEST 2001 - -  Ups... did the wrong error handling... the error is returned not put to -  errno... -  probably thread_key is not SMP save... - -Thu Apr 12 16:47:12 MEST 2001 - -  added conditional variables... -  except pthread_cond_timedwait all should work man-page like -  pthread_cond_timedwait dosen't handle cancel request according to man-page - -  added thread specific key handling (all according to man-page) - -Fri Mar 30 18:47:37 MEST 2001 - -  uff found some logic errors and fixed them. -  pthread_create had a problem with user provided stacks. - - -Fri Mar 23 14:09:54 MET 2001 - -  arg.. the kernel-header are so inconsistent... -  on x86 it works on arm and sparc not due to MISSING defines, miss-places -  includes and __KERNEL__ checks.... -  the best in this category is that the kernel-header are changed that the -  buggy (g)libc haven't to change... (f..k glibc, the headers HAVE to be -  CONSISTENT) -  a public defined symbol on arch X have to be in Y to unless marked... -  that is mainly speaking SCHED.H ! arg.... - - -Wed Mar 14 04:28:45 MET 2001 - -  I have implemented the "Manager Thread" so that nested thread creation -  works. really ugly stuff... don't look at it unless you're sitting on solid -  ground. - - -Mon Mar 12 16:16:00 CET 2001 - -  first of all: -  I strongly suggest NOT to use it yet, it's very, very, ... very -  experimental. I guess you got the point. there is still much debug code, -  incomplete functions and unusable states.... - -  I'm still working on the final alpha... - diff --git a/mdk-stage1/dietlibc/libpthread/Makefile b/mdk-stage1/dietlibc/libpthread/Makefile deleted file mode 100644 index f2ab8d8dc..000000000 --- a/mdk-stage1/dietlibc/libpthread/Makefile +++ /dev/null @@ -1,140 +0,0 @@ -all: libpthread.a - -ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/') - -CFLAGS=-pipe -CROSS= - -CC=gcc - -VPATH=../$(ARCH)/ - -PTHREAD_OBJS = \ -	__testandset.o \ - \ -	pthread_internal.o \ -	pthread_key.o \ - \ -	pthread_once.o pthread_spinlock.o \ - \ -	pthread_create.o pthread_detach.o \ -	pthread_join.o pthread_self.o \ -	pthread_exit.o pthread_equal.o \ - \ -	pthread_cleanup_push.o \ -	pthread_cleanup_pop.o \ - \ -	pthread_attr_getdetachstate.o \ -	pthread_attr_getinheritsched.o \ -	pthread_attr_getschedparam.o \ -	pthread_attr_getschedpolicy.o \ -	pthread_attr_getscope.o \ -	pthread_attr_getstackaddr.o \ -	pthread_attr_getstacksize.o \ -	pthread_attr_init.o \ -	pthread_attr_setdetachstate.o \ -	pthread_attr_setinheritsched.o \ -	pthread_attr_setschedparam.o \ -	pthread_attr_setschedpolicy.o \ -	pthread_attr_setscope.o \ -	pthread_attr_setstackaddr.o \ -	pthread_attr_setstacksize.o \ - \ -	pthread_cancel.o pthread_setcancelstate.o \ -	pthread_setcanceltype.o pthread_testcancel.o \ - \ -	pthread_mutex_init.o \ -	pthread_mutex_destroy.o \ -	pthread_mutex_lock.o \ -	pthread_mutex_trylock.o \ -	pthread_mutex_unlock.o \ - \ -	pthread_mutexattr_getkind_np.o \ -	pthread_mutexattr_init.o \ -	pthread_mutexattr_setkind_np.o \ - \ -	pthread_condattr.o \ -	pthread_cond_broadcast.o \ -	pthread_cond_destroy.o \ -	pthread_cond_init.o \ -	pthread_cond_signal.o \ -	pthread_cond_timedwait.o \ -	pthread_cond_wait.o \ - \ -	pthread_key_create.o \ -	pthread_key_delete.o \ -	pthread_getspecific.o \ -	pthread_setspecific.o \ - \ -	pthread_atfork.o \ -	pthread_sys_alloc.o \ -	pthread_sys_close.o \ -	pthread_sys_create.o \ -	pthread_sys_fcntl.o \ -	pthread_sys_fsync.o \ -	pthread_sys_fdatasync.o \ -	pthread_sys_nanosleep.o \ -	pthread_sys_logging.o \ -	pthread_sys_open.o \ -	pthread_sys_pause.o \ -	pthread_sys_read.o \ -	pthread_sys_sigsuspend.o \ -	pthread_sys_tcdrain.o \ -	pthread_sys_waitpid.o \ -	pthread_sys_write.o - -%.o : %.c -	$(CC) $(CFLAGS) -c -o $@ $? - -include ../$(ARCH)/Makefile.add - -ifeq ($(CFLAGS),-pipe) -CFLAGS+=-O -fomit-frame-pointer -endif - -#CFLAGS = -g -CFLAGS += -Wall - -CFLAGS += -I.. -I../include -Wall - -PWD=$(shell pwd) - -.SUFFIXES: -.SUFFIXES: .S .c - -% :: %,v - -%.o: %.S -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< - -%.o: %.c -	$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -#	$(CROSS)strip -x -R .comment -R .note $@ - -libpthread.a: $(PTHREAD_OBJS) -	ar cr $@ $^ - -libpthread.so: libpthread.a -	$(CROSS)ld -whole-archive -shared -o $@ $^ - - -clean: -	$(RM) *.o *.a *.so *.out *~ - -exports: libpthread.a -	nm -g libpthread.a | grep -w T | awk '{ print $$3 }' | sort -u > exports - -.PHONY: test.out - -test.out: test.o libpthread.a $(LIBS) -	$(CROSS)$(CC) -g $(CFLAGS) -nostdlib ../bin-$(ARCH)/start.o -o $@ $^ ../bin-$(ARCH)/dietlibc.a -lgcc - - -.PHONY: sparc ppc mips arm alpha i386 - -sparc ppc alpha i386: -	$(MAKE) ARCH=$@ CROSS=$@-linux- all t libdietc.so - -mips arm: -	$(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t libdietc.so - diff --git a/mdk-stage1/dietlibc/libpthread/README b/mdk-stage1/dietlibc/libpthread/README deleted file mode 100644 index ee85a572d..000000000 --- a/mdk-stage1/dietlibc/libpthread/README +++ /dev/null @@ -1,36 +0,0 @@ -LIBPTHREAD - -  This is the pthread implementation of dietlibc. -  Written from scratch by Olaf Dreesen. - -1. STATUS: near complete and should work (or not... I had a lot of heisen-bugs...) -	On non i386 archs the kernel header have major differences... -	NO workaround yet for this problems... - -It's like linuxthreads a clone base thread implementation. - -I have implemented a "Manager Thread" with all the pain it involves... -Nested thread creation is now working fine... - - -2. HOW-TO make this lib: - -	it is a standard dietlibc helper lib... - - -3. NOTES - -NON STANDARD SIGNAL HANDLING for the threads: - -  SIGHUP	the targeted thread is canceled -	depends on the cancel type of the thread. - -	ASYNCHRONOUS: the signal handler will KILL the thread immediately. - -	DEFERRED: the signal handler mark its thread as canceled. -		(only for the sig-handler to do some sane stuff...) - -  SIGTERM	the thread is KILLED -	if the thread signaled is the main thread, then ALL child-threads -	will get a SIGHUP and after some micros a SIGTERM.... - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c b/mdk-stage1/dietlibc/libpthread/pthread_atfork.c deleted file mode 100644 index 70ca9f162..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c +++ /dev/null @@ -1,77 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -#define PTHREAD_NUM_ATFORK 4 - -static struct _pthread_fastlock __atfork_struct_lock; -static struct { -  int used; -  void (*prepare)(void); -  void (*parent)(void); -  void (*child)(void); -} pthread_atfork_buf[PTHREAD_NUM_ATFORK]; - -int pthread_atfork(void (*prepare)(void), -		   void (*parent)(void), -		   void (*child)(void)) -{ -  int i,ret=-1; - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&__atfork_struct_lock); - -  for (i=0;i<PTHREAD_NUM_ATFORK; ++i) { -    if (!(pthread_atfork_buf[i].used)) { -      pthread_atfork_buf[i].prepare=prepare; -      pthread_atfork_buf[i].parent=parent; -      pthread_atfork_buf[i].child=child; -      ret=0; -      break; -    } -  } - -  __pthread_unlock(&__atfork_struct_lock); -  __NO_ASYNC_CANCEL_END; - -  if (ret) ret=ENOMEM; -  return ret; -} - -pid_t fork(void) -{ -  pid_t pid; -  int i=PTHREAD_NUM_ATFORK; - -  __NO_ASYNC_CANCEL_BEGIN; - -  __TEST_CANCEL(); -  __pthread_lock(&__atfork_struct_lock); - -  while (i) { -    if (pthread_atfork_buf[--i].used) -      if (pthread_atfork_buf[i].prepare) -	pthread_atfork_buf[i].prepare(); -  } - -  pid=__libc_fork(); - -  if (pid>0) {		/* parent */ -    for (i=0;i<PTHREAD_NUM_ATFORK;++i) -      if (pthread_atfork_buf[i].used) -	if (pthread_atfork_buf[i].parent) -	  pthread_atfork_buf[i].parent(); -  } else if (pid==0) {	/* child */ -    for (i=0;i<PTHREAD_NUM_ATFORK;++i) -      if (pthread_atfork_buf[i].used) -	if (pthread_atfork_buf[i].child) -	  pthread_atfork_buf[i].child(); -  } - -  __pthread_unlock(&__atfork_struct_lock); -  __NO_ASYNC_CANCEL_END; - -  return pid; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c deleted file mode 100644 index ccdfc0e47..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate) -{ -  __THREAD_INIT(); - -  *detachstate=attr->__detachstate; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c deleted file mode 100644 index 314fd8ade..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit) -{ -  __THREAD_INIT(); - -  *inherit = attr->__inheritsched; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c deleted file mode 100644 index f0a9a07d1..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param) -{ -  __THREAD_INIT(); - -  param->sched_priority=attr->__schedparam.sched_priority; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c deleted file mode 100644 index 53f1bed8c..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy) -{ -  __THREAD_INIT(); - -  *policy = attr->__schedpolicy; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c deleted file mode 100644 index 99a33110d..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getscope(const pthread_attr_t *attr, int *scope) -{ -  __THREAD_INIT(); - -  *scope=PTHREAD_SCOPE_SYSTEM; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c deleted file mode 100644 index d71421901..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack) -{ -  __THREAD_INIT(); - -  *stack=attr->__stackaddr; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c deleted file mode 100644 index 4785979a0..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize) -{ -  __THREAD_INIT(); - -  *stacksize=attr->__stacksize; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c deleted file mode 100644 index fbcefa3bd..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_init(pthread_attr_t *attr) -{ -  __THREAD_INIT(); - -  memset(attr,0,sizeof(pthread_attr_t)); -  attr->__stacksize=PTHREAD_STACK_SIZE; -  return 0; -} - -int pthread_attr_destroy(pthread_attr_t *attr) __attribute__((alias("pthread_attr_init"))); - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c deleted file mode 100644 index f5eab5816..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate) -{ -  __THREAD_INIT(); - -  if ((detachstate == PTHREAD_CREATE_JOINABLE) || -      (detachstate == PTHREAD_CREATE_DETACHED)) { -    attr->__detachstate=detachstate; -    return 0; -  } -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c deleted file mode 100644 index 0b7a691e7..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit) -{ -  __THREAD_INIT(); - -  if ((inherit==PTHREAD_INHERIT_SCHED) || -      (inherit==PTHREAD_EXPLICIT_SCHED)) { -    attr->__inheritsched=inherit; -    return 0; -  } -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c deleted file mode 100644 index a3e5a9b4a..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param) -{ -  __THREAD_INIT(); - -  if ((attr->__schedpolicy == SCHED_OTHER) && (param->sched_priority == 0)) { -    attr->__schedparam.sched_priority=0; -    return 0; -  } -  if (((attr->__schedpolicy == SCHED_RR) || (attr->__schedpolicy == SCHED_FIFO)) -      && ((param->sched_priority > 0) && (param->sched_priority < 100))) { -    attr->__schedparam.sched_priority=param->sched_priority; -    return 0; -  } -  return EINVAL; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c deleted file mode 100644 index 227d3f7ad..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c +++ /dev/null @@ -1,24 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy) -{ -  __THREAD_INIT(); - -  if (policy==SCHED_OTHER) { -    attr->__schedpolicy=policy; -    return 0; -  } -  if ((policy==SCHED_FIFO) || (policy==SCHED_RR)) { -    if (geteuid()==0) { -      attr->__schedpolicy=policy; -      return 0; -    } -    return ENOTSUP; -  } -  else -    return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c deleted file mode 100644 index 9be11ca2d..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setscope(pthread_attr_t *attr, int scope) -{ -  __THREAD_INIT(); - -  if (scope==PTHREAD_SCOPE_SYSTEM) return 0; - -  if (scope==PTHREAD_SCOPE_PROCESS) -    return ENOTSUP; -  else -    return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c deleted file mode 100644 index 4b320cd9d..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack) -{ -  __THREAD_INIT(); - -  attr->__stackaddr=stack; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c deleted file mode 100644 index 1a0aae929..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize) -{ -  __THREAD_INIT(); - -  if (stacksize>=PTHREAD_STACK_SIZE) { -    attr->__stacksize=stacksize; -    return 0; -  } -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c b/mdk-stage1/dietlibc/libpthread/pthread_cancel.c deleted file mode 100644 index c0ae60349..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cancel(pthread_t th) -{ -  pthread_t j; -  _pthread_descr thread; - -  __THREAD_INIT(); - -  j=__find_thread_id(th); - -  if (j==-1) { -    return ESRCH; -  } -  thread = __get_thread_struct(j); - -  if (thread==0) { -    return ESRCH; -  } - -  if (thread->cancelstate!=PTHREAD_CANCEL_DISABLE) { -    thread->canceled=1; -    if (thread->canceltype!=PTHREAD_CANCEL_DEFERRED) { -      kill(thread->pid,SIGHUP); -    } -  } - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c deleted file mode 100644 index 641bb6083..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c +++ /dev/null @@ -1,27 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -void pthread_cleanup_pop(int execute) -{ -  _pthread_descr this; -  struct thread_cleanup_t tmp; -  int i=PTHREAD_MAX_CLEANUP; - -  __THREAD_INIT(); - -  this = __thread_self(); - -  while(i>0) { -    if (this->cleanup_stack[--i].func) { -      tmp.func=this->cleanup_stack[i].func; -      tmp.arg=this->cleanup_stack[i].arg; -      this->cleanup_stack[i].func=0; -      break; -    } -  } - -  if (execute) tmp.func(tmp.arg); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c deleted file mode 100644 index cd2aabf71..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -void pthread_cleanup_push(void (*func)(void*), void *arg) -{ -  _pthread_descr this; -  int i; - -  __THREAD_INIT(); - -  this = __thread_self(); - -  for (i=0; i<PTHREAD_MAX_CLEANUP; ++i) { -    if (this->cleanup_stack[i].func==0) { -      this->cleanup_stack[i].func=func; -      this->cleanup_stack[i].arg=arg; -      break; -    } -  } -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c deleted file mode 100644 index 776e0adfc..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_broadcast(pthread_cond_t *cond) -{ -  _pthread_descr tmp; - -  __THREAD_INIT(); - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); - -  for (tmp=cond->wait_chain;tmp;tmp=tmp->waitnext) { -    tmp->waitnext=0; -    tmp->waiting=0; -  } -  cond->wait_chain=0; - -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_STOP; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c deleted file mode 100644 index b553b41df..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_destroy(pthread_cond_t *cond) -{ -  __THREAD_INIT(); - -  if (cond->wait_chain) { -    return EBUSY; -  } - -  memset(cond,0,sizeof(pthread_cond_t)); -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c deleted file mode 100644 index 76dd5cb97..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr) -{ -  __THREAD_INIT(); - -  memset(cond,0,sizeof(pthread_cond_t)); -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c deleted file mode 100644 index 02a3c028e..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_signal(pthread_cond_t *cond) -{ -  _pthread_descr tmp=0; - -  __THREAD_INIT(); - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); -  if ((tmp=cond->wait_chain)) cond->wait_chain=tmp->waitnext; -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_STOP; - -  if (tmp) { -    tmp->waitnext=0; -    tmp->waiting=0; -  } - -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c deleted file mode 100644 index 71d80bdb5..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c +++ /dev/null @@ -1,74 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, -			   const struct timespec *abstime) -{ -  _pthread_descr tmp; -  _pthread_descr this; -  int ret=0; - -  __THREAD_INIT(); - -  this=__thread_self(); - -  /* put in wait-chain */ -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); -  this->waiting=1; -  if (cond->wait_chain) { -    for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext); -    tmp->waitnext=this; -  } else cond->wait_chain=this; -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_STOP; - -  /* Aeh yeah / wait till cond-signal OR timeout */ -  pthread_mutex_unlock(mutex); -  while (this->waiting) { -    struct timeval tv; -    gettimeofday(&tv,0); -    if ((abstime->tv_sec <= tv.tv_sec) && (abstime->tv_nsec <= (tv.tv_usec*1000))) { -      ret = 1; -      break; -    } -    __thread_wait_some_time(); -    if (this->canceled) break;	/* a cancel */ -  } -  pthread_mutex_lock(mutex); - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); -  if (this->waiting) {	/* still waiting -> TIMEOUT or SIGNAL */ -    _pthread_descr prev; -    /* remove from wait-chain */ -    prev=cond->wait_chain; -    if ((prev=cond->wait_chain)==this) { -      cond->wait_chain=this->waitnext; -    } else { -      for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) { -	if (tmp==this) { -	  prev->waitnext=this->waitnext; -	  break; -	} -      } -    } -    this->waiting=0; -    this->waitnext=0; -  } -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_END; - -  if (ret) return ETIMEDOUT; - -  { -    register int err = (*__errno_location()); -    if (err==EINTR) return err; -  } -  return 0; -} - - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c deleted file mode 100644 index 8db49e840..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c +++ /dev/null @@ -1,59 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) -{ -  _pthread_descr tmp; -  _pthread_descr this; - -  __THREAD_INIT(); - -  this=__thread_self(); - -  /* put in wait-chain */ -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); -  this->waiting=1; -  if (cond->wait_chain) { -    for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext); -    tmp->waitnext=this; -  } else cond->wait_chain=this; -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_STOP; - -  /* Aeh yeah / wait till signal */ -  pthread_mutex_unlock(mutex); -  while (this->waiting) { -    __thread_wait_some_time(); -    if (this->canceled) break;	/* we got a cancel signal */ -  } -  pthread_mutex_lock(mutex); - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&(cond->lock)); -  if (this->waiting) {	/* still waiting -> SIGNAL */ -    _pthread_descr prev; -    /* remove from wait-chain */ -    prev=cond->wait_chain; -    if ((prev=cond->wait_chain)==this) { -      cond->wait_chain=this->waitnext; -    } else { -      for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) { -	if (tmp==this) { -	  prev->waitnext=this->waitnext; -	  break; -	} -      } -    } -    this->waiting=0; -    this->waitnext=0; -  } -  __pthread_unlock(&(cond->lock)); -  __NO_ASYNC_CANCEL_END; -  return 0; -} - - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c b/mdk-stage1/dietlibc/libpthread/pthread_condattr.c deleted file mode 100644 index c537890ba..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <pthread.h> - -int pthread_condattr_init(pthread_condattr_t *attr) -{ -  return 0; -} - -int pthread_condattr_destroy(pthread_condattr_t *attr) -__attribute__((alias("pthread_condattr_init"))); - -int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared) -__attribute__((alias("pthread_condattr_init"))); - -int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared) -__attribute__((alias("pthread_condattr_init"))); diff --git a/mdk-stage1/dietlibc/libpthread/pthread_create.c b/mdk-stage1/dietlibc/libpthread/pthread_create.c deleted file mode 100644 index 714c2bf4b..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_create.c +++ /dev/null @@ -1,81 +0,0 @@ -#include <unistd.h> -#include <stdlib.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_create (pthread_t *thread, const pthread_attr_t *attr, -		void *(*start_routine) (void *), void *arg) -{ -  int ret=0; -  _pthread_descr td; -  pthread_attr_t default_attr; - -  __THREAD_INIT(); - -  if (start_routine==0) { -    return EINVAL; -  } - -  td = __thread_get_free(); - -  if (td) { -    td->go.__spinlock=PTHREAD_SPIN_LOCKED; -    if (!(attr)) { -      pthread_attr_init(&default_attr); -      attr=&default_attr; -    } - -    if ((td->policy!=SCHED_OTHER)&&(td->priority==0)) { -      return EINVAL; -    } - -    if (attr->__inheritsched==PTHREAD_INHERIT_SCHED) { -      _pthread_descr this = __thread_self(); -      td->policy	= this->policy; -      td->priority	= this->priority; -    } else { -      td->policy	= attr->__schedpolicy; -      td->priority	= attr->__schedparam.sched_priority; -    } - -    td->func		= start_routine; -    td->arg		= arg; - -    td->detached	= attr->__detachstate; - -    td->stack_size	= attr->__stacksize; - -    if (!(attr->__stackaddr)) { -      char *stack=(char*)malloc(td->stack_size); -      if (!(stack)) { -	return EINVAL; -      } -      td->stack_begin	= stack; -#ifdef __parisc__ -      td->stack_addr	= stack; -#else -      td->stack_addr	= stack+td->stack_size; -#endif -    } else { -      td->stack_begin	= 0; -      td->stack_addr	= attr->__stackaddr; -    } - -    ret = signal_manager_thread(td); - -    if (ret>1) -      *thread=ret; -    else { -      ++td->exited;	/* mark as exited */ -      __thread_cleanup(td); -      if (ret<0) return (*(__errno_location())); -      return EAGAIN; -    } -  } -  else -    return EAGAIN; - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_detach.c b/mdk-stage1/dietlibc/libpthread/pthread_detach.c deleted file mode 100644 index 2f72b97a7..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_detach.c +++ /dev/null @@ -1,29 +0,0 @@ -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_detach(pthread_t th) -{ -  pthread_t j; -  _pthread_descr thread; - -  __THREAD_INIT(); - -  j=__find_thread_id(th); - -  if (j==-1) { -    return ESRCH; -  } -  thread = __get_thread_struct(j); - -  if (thread->detached) { -    return EINVAL; -  } - -  if (!thread->joined) { -    thread->detached=1; -  } - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_equal.c b/mdk-stage1/dietlibc/libpthread/pthread_equal.c deleted file mode 100644 index d054d86ed..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_equal.c +++ /dev/null @@ -1,3 +0,0 @@ -#include <pthread.h> - -int pthread_equal(pthread_t thread1, pthread_t thread2) { return (thread1==thread2); } diff --git a/mdk-stage1/dietlibc/libpthread/pthread_errno.c b/mdk-stage1/dietlibc/libpthread/pthread_errno.c deleted file mode 100644 index d035544ad..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_errno.c +++ /dev/null @@ -1,5 +0,0 @@ -int errno; - -#include "dietwarning.h" - -link_warning("errno","\e[1;33;41m>>> your multithreaded code uses errno! <<<\e[0m"); diff --git a/mdk-stage1/dietlibc/libpthread/pthread_exit.c b/mdk-stage1/dietlibc/libpthread/pthread_exit.c deleted file mode 100644 index 41eac0a33..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_exit.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -void pthread_exit(void *retval) -{ -  _pthread_descr this; - -  __THREAD_INIT(); - -  this = __thread_self(); -  this->retval = retval; - -  longjmp(this->jmp_exit,1); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c b/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c deleted file mode 100644 index d73c84220..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "dietstdio.h" -#include <unistd.h> -#include <fcntl.h> -#include <errno.h> -#include <stdlib.h> -#include <pthread.h> -#include <errno.h> - -extern int __stdio_atexit; -extern FILE* __stdio_init_file_nothreads(int fd,int closeonerror); - -FILE* __stdio_init_file(int fd,int closeonerror) { -  FILE *tmp=__stdio_init_file_nothreads(fd,closeonerror); -  if (tmp) pthread_mutex_init(&tmp->m,0); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c b/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c deleted file mode 100644 index 34e79e0fe..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietstdio.h" -#include <unistd.h> - -int fgetc(FILE *stream) { -  int tmp; -  pthread_mutex_lock(&stream->m); -  tmp=fgetc_unlocked(stream); -  pthread_mutex_unlock(&stream->m); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c deleted file mode 100644 index 72131ffb1..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "dietstdio.h" - -void flockfile(FILE* f) { -  pthread_mutex_lock(&f->m); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c b/mdk-stage1/dietlibc/libpthread/pthread_fputc.c deleted file mode 100644 index 82344b107..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <dietstdio.h> - -int fputc(int c, FILE *stream) { -  int tmp; -  pthread_mutex_lock(&stream->m); -  tmp=fputc_unlocked(c,stream); -  pthread_mutex_unlock(&stream->m); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c deleted file mode 100644 index beae058af..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "dietstdio.h" - -void funlockfile(FILE* f) { -  pthread_mutex_unlock(&f->m); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c deleted file mode 100644 index aaaba4458..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_getschedparam(pthread_t target_thread, int *policy, struct sched_param *param) -{ -  int p; -  __THREAD_INIT(); - -  if (__find_thread_id(target_thread)<0) { -    return ESRCH; -  } - -  if (((p=sched_getscheduler(target_thread))==-1)|| -      (sched_getparam(target_thread,param) ==-1)) { -    return (*(__errno_location())); -  } -  *policy=p; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c deleted file mode 100644 index c2f84c814..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX]; -const void *pthread_getspecific(pthread_key_t key) -{ -  int id; -  __THREAD_INIT(); - -  id=__find_thread_id(getpid()); - -  if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) { -    return __thread_keys[key].tkd[id]; -  } -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_internal.c b/mdk-stage1/dietlibc/libpthread/pthread_internal.c deleted file mode 100644 index 7bb4e16cb..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_internal.c +++ /dev/null @@ -1,359 +0,0 @@ -#include <signal.h> -#include <string.h> -#include <sys/wait.h> -#include <unistd.h> -#include <stdlib.h> -#include <errno.h> - -#include <sched.h> -#include <sys/resource.h> - -#include <stdio.h> -#include "thread_internal.h" - -static struct _pthread_fastlock __thread_struct_lock = {PTHREAD_SPIN_UNLOCKED}; -static struct _pthread_descr_struct threads[PTHREAD_THREADS_MAX]; -static int _max_used_thread_id=1; -pthread_once_t __thread_inited; - -static struct _pthread_fastlock __manager_thread_signal_lock = {PTHREAD_SPIN_UNLOCKED}; -static struct _pthread_fastlock __manager_thread_data_lock = {PTHREAD_SPIN_LOCKED}; -static struct _pthread_fastlock __manager_thread_data_go_lock = {PTHREAD_SPIN_LOCKED}; - -//#define DEBUG - -/* find thread */ -int __find_thread_id(int pid) -{ -  register int i; -  for (i=0; i<_max_used_thread_id; i++) -    if (threads[i].pid==pid) -      return i; -  return -1; -} - -/* get thread */ -_pthread_descr __get_thread_struct(int id) -{ -  return threads+id; -} - -/* thread errno location */ -int *__errno_location(void) -{ -  int id=0; -  if (__thread_inited) id=__find_thread_id(getpid()); -  if (id<0) -    return 0; -  else -    return &threads[id].errno; -} - -/* thread self */ -_pthread_descr __thread_self() -{ -  register int i=__find_thread_id(getpid()); -  if (i<0) -    return 0; -  else -    return threads+i; -} - -/* allocate a thread slot */ -_pthread_descr __thread_get_free() -{ -  _pthread_descr ret=0; -  int i; - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&__thread_struct_lock); - -  for (i=0; i<PTHREAD_THREADS_MAX; i++) { -    if (threads[i].pid==0) { -      ret = threads+i; -      /* clear struct */ -      memset(ret,0,sizeof(struct _pthread_descr_struct)); -      ret->pid=1; /* mark as taken */ -      if (i>=_max_used_thread_id) _max_used_thread_id=i+1; -      break; -    } -  } - -  __pthread_unlock(&__thread_struct_lock); -  __NO_ASYNC_CANCEL_END; -  return ret; -} - -/* sleep a little (reschedule for this time) */ -void __thread_wait_some_time() -{ -  struct timespec reg; -  reg.tv_sec=0; -  reg.tv_nsec=SPIN_SLEEP_DURATION; -  __libc_nanosleep(®,0); -} - -/* cleanup/join a thread */ -int __thread_join(_pthread_descr th, void**return_value) -{ -  /* mark thread th as joined */ -  if (__testandset(&(th->joined))) return EINVAL; -  /* wait for thread to exit */ -  while(!th->exited) __thread_wait_some_time(); -  /* put return value to caller */ -  if (return_value) *return_value=th->retval; -  /* cleanup thread */ -  if (th->stack_begin) free(th->stack_begin); -  th->joined=0; -  th->pid=0; -  return 0; -} - -/* SIGHUP handler (thread cancel) PTHREAD_CANCEL_ASYNCHRONOUS */ -static void __thread_cancel_handler(int sig) -{ -  _pthread_descr this; -  this = __thread_self(); -  this->canceled=1; -  if (this->canceltype==PTHREAD_CANCEL_ASYNCHRONOUS) -    pthread_exit(PTHREAD_CANCELED); -  signal( SIGHUP, __thread_cancel_handler ); -} - -/* kill ALL threads / other then prime task and manager thread */ -static void __kill_all_threads() -{ -  int i; - -  for (i=2; i<_max_used_thread_id; i++) { -    if (threads[i].pid>1) { -#ifdef DEBUG -      printf("CANCEL ! %d\n",threads[i].pid); -#endif -      threads[i].canceled=1; -      kill(threads[i].pid, SIGHUP);	/* cancel thread */ -    } -  } - -  __thread_wait_some_time(); - -  for (i=2; i<_max_used_thread_id; i++) { -    if (threads[i].pid>1) { -#ifdef DEBUG -      printf("KILL ! %d\n",threads[i].pid); -#endif -      kill(threads[i].pid, SIGTERM);	/* KILL thread */ -    } -  } -} - -__attribute__((weak)) volatile void __thread_start__key(int id); -__attribute__((weak)) volatile void __thread_start__key(int id) { return; } -__attribute__((weak,alias("__thread_start__key"))) volatile void __thread_exit__key(int id); - -/* support for manager */ -static void *__mthread_starter(void *arg) -{ -  _pthread_descr td = (_pthread_descr)arg; -  int i = td->stack_size-4096; - -  /* just to be sure */ -  td->pid=getpid(); - -  /* signal handling for a thread */ -  signal(SIGTERM, _exit); -  signal(SIGCHLD, SIG_DFL); -  signal(SIGHUP, __thread_cancel_handler ); - -  /* limit stack so that we NEVER have to worry */ -  setrlimit(RLIMIT_STACK, (struct rlimit *)(&i)); - -  /* set scheduler */ -  if (td->policy!=SCHED_OTHER) { -    struct sched_param sp; -    sp.sched_priority=td->priority; -    sched_setscheduler(td->pid,td->policy, &sp); -  } - -  /* thread_key glue */ -  __thread_start__key(td-threads); - -#ifdef DEBUG -  printf("in starter %d, parameter %8p\n", td->pid, td->func); -#endif -  do { -    __thread_wait_some_time(); -    if (td->canceled) return (void*)42; -  } while (__pthread_trylock(&td->go)); - -#ifdef DEBUG -  printf("post starter %d, parameter %8p\n", td->pid, td->func); -#endif - -  if (!td->canceled) { -    if (!(setjmp(td->jmp_exit))) { -      td->retval=td->func(td->arg); -#ifdef DEBUG -    } else { -      printf("pthread_exit called in %d\n", td->pid); -#endif -    } -  } -  pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,0); - -  /* thread_key glue */ -  __thread_exit__key(td-threads); - -#ifdef DEBUG -  printf("end starter %d, retval %8p\n", td->pid, td->retval); -#endif - -  /* execute all functions on the cleanup-stack */ -  for (i=PTHREAD_MAX_CLEANUP;i;) { -    if (td->cleanup_stack[--i].func) { -      td->cleanup_stack[i].func(td->cleanup_stack[i].arg); -    } -  } - -  return 0; -} - - -/* manager thread and signal handler */ -static char __manager_thread_stack[12*1024]; -static volatile _pthread_descr __manager_thread_data; -static void __manager_SIGCHLD(int sig) -{ -  int pid, status, i; - -  while(1) { -    pid = __libc_waitpid (-1, &status, WNOHANG); -    if (pid <= 0) break; - -    for (i=0; i<_max_used_thread_id; i++) { -      if (threads[i].pid==pid) { -	++threads[i].exited; -	if (threads[i].detached) { -	  threads[i].joined=0; -	  __thread_cleanup(threads+i); -	} -	break; -      } -    } -  } -} - -static void __manager_SIGTERM(int sig) -{ -  __kill_all_threads(); -  _exit(0); -} - -static void* __manager_thread(void *arg) -{ -  struct sigaction sig_action_chld; -  sig_action_chld.sa_handler = __manager_SIGCHLD; -  sigemptyset(&sig_action_chld.sa_mask); -  sig_action_chld.sa_flags = SA_RESTART; - -  sigaction(SIGCHLD, &sig_action_chld, 0); -  signal(SIGTERM, __manager_SIGTERM); -  signal(SIGHUP, SIG_IGN); - -  __pthread_unlock(&__manager_thread_data_go_lock);	/* release init */ -  while(1) { -    do { -      __thread_wait_some_time(); -      if (getppid()<2) __manager_SIGTERM(0); -    } while (__pthread_trylock(&__manager_thread_data_lock)); - -    __manager_thread_data->pid = -      __clone(__mthread_starter, -	      __manager_thread_data->stack_addr, -	      CLONE_VM | CLONE_FS | CLONE_FILES | SIGCHLD, -	      __manager_thread_data); -    __thread_wait_some_time(); -    __thread_wait_some_time(); -    __pthread_unlock(&__manager_thread_data->go); -#ifdef DEBUG -    printf("manager new thread %d\n",__manager_thread_data->pid); -#endif -    __pthread_unlock(&__manager_thread_data_go_lock);	/* release sender */ -  } -  return 0; -} - -/* pthread_create bottom half */ -int signal_manager_thread(_pthread_descr td) -{ -  __NO_ASYNC_CANCEL_BEGIN; - -  __pthread_lock(&__manager_thread_signal_lock);	/* lock */ - -  __manager_thread_data = td; -  __thread_wait_some_time(); -  __pthread_unlock(&__manager_thread_data_lock);	/* signal manager to start */ -  __thread_wait_some_time(); -  __pthread_lock(&__manager_thread_data_go_lock);	/* wait for manager */ - -  __pthread_unlock(&__manager_thread_signal_lock);	/* unlock */ - -  __NO_ASYNC_CANCEL_END; - -  return td->pid; -} - - -/* thread stop */ -static void __thread_main_exit() -{ -  if (getpid()!=threads[0].pid) { -#ifdef DEBUG -    printf("A THREAD ? %d\n",getpid()); -#endif -    kill(threads[0].pid, SIGTERM); -    while(1) __thread_wait_some_time(); -  } -#ifdef DEBUG -  else -    printf("EXIT ! %d\n",getpid()); -#endif - -  /* stop ALL threads */ -  kill(threads[1].pid, SIGTERM); -  __thread_wait_some_time(); -  __kill_all_threads(); -} - -/* thread intern init */ -void __thread_init() -{ -  if (atexit(__thread_main_exit)==-1) -    exit(42); - -#ifdef DEBUG -  printf("INIT ! %d\n",getpid()); -  memset(threads,0,sizeof(threads)); -#endif - -  threads[0].pid = getpid(); - -  ++_max_used_thread_id; -  threads[1].stack_size=sizeof(__manager_thread_stack); -#ifdef __parisc__ -  threads[1].stack_addr=__manager_thread_stack; -#else -  threads[1].stack_addr=&__manager_thread_stack[sizeof(__manager_thread_stack)]; -#endif -  threads[1].stack_begin=0; -  threads[1].func=__manager_thread; - -  threads[1].pid = __clone(__mthread_starter, threads[1].stack_addr, -			   CLONE_VM | CLONE_FS | CLONE_FILES, threads+1); - -#ifdef DEBUG -  printf("manager thread @ : %d\n",threads[1].pid); -#endif -  __pthread_lock(&__manager_thread_data_go_lock);	/* wait for manager to be ready */ -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_join.c b/mdk-stage1/dietlibc/libpthread/pthread_join.c deleted file mode 100644 index 39c076555..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_join.c +++ /dev/null @@ -1,39 +0,0 @@ -#include <unistd.h> -#include <stdlib.h> -#include <errno.h> - -#include "thread_internal.h" -#include <pthread.h> - -int pthread_join(pthread_t th, void **thread_return) -{ -  pthread_t j; -  _pthread_descr this, thread; - -  __THREAD_INIT(); - -  this = __thread_self(); -  j=__find_thread_id(th); - -  if (j==-1) { -    return ESRCH; -  } - -  thread = __get_thread_struct(j); - -  /* error handling */ -  if (thread==0) { -    return ESRCH; -  } - -  if (this==thread) { -    return EDEADLK; -  } - -  if (thread->detached || thread->joined) { -    return EINVAL; -  } - -  return __thread_join(thread,thread_return); -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key.c b/mdk-stage1/dietlibc/libpthread/pthread_key.c deleted file mode 100644 index 8a77f281a..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_key.c +++ /dev/null @@ -1,48 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -struct _pthread_fastlock __thread_keys_lock; -struct _thread_key __thread_keys[PTHREAD_KEYS_MAX]; - -void __thread_start__key(int id); -void __thread_exit__key(int id); - -void __thread_start__key(int id) -{ -  int i; - -  if (id<2) return; - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&__thread_keys_lock); - -  for (i=0; i<PTHREAD_KEYS_MAX; i++) { -    __thread_keys[i].tkd[id]=0; -  } - -  __pthread_unlock(&__thread_keys_lock); -  __NO_ASYNC_CANCEL_END; -} - -void __thread_exit__key(int id) -{ -  int i,try; - -  if (id<2) return; - -  __NO_ASYNC_CANCEL_BEGIN; -//  __pthread_lock(&__thread_keys_lock); - -  for (i=0; i<PTHREAD_KEYS_MAX; i++) { -    if ((__thread_keys[i].used) && (__thread_keys[i].destructor)) { -      for (try=0;__thread_keys[i].tkd[id] && (try<PTHREAD_DESTRUCTOR_ITERATIONS);++try) -	__thread_keys[i].destructor(__thread_keys[i].tkd[id]); -    } -  } - -//  __pthread_unlock(&__thread_keys_lock); -  __NO_ASYNC_CANCEL_STOP; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c deleted file mode 100644 index 9718c695b..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c +++ /dev/null @@ -1,36 +0,0 @@ -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -extern struct _pthread_fastlock __thread_keys_lock; -extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX]; -int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*)) -{ -  int ret=-1,i; - -  __THREAD_INIT(); - -  __NO_ASYNC_CANCEL_BEGIN; -  __pthread_lock(&__thread_keys_lock); - -  for (i=0; i<PTHREAD_KEYS_MAX; i++) { -    if (!__thread_keys[i].used) { -      __thread_keys[i].used=1; -      __thread_keys[i].destructor=destructor; -      memset(__thread_keys[i].tkd,0,PTHREAD_THREADS_MAX*sizeof(void*)); -      *key=i; -      ret=0; -      break; -    } -  } - -  __pthread_unlock(&__thread_keys_lock); -  __NO_ASYNC_CANCEL_END; - -  if (ret) return EAGAIN; -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c b/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c deleted file mode 100644 index 8f7fb577f..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX]; -int pthread_key_delete(pthread_key_t key) -{ -  __THREAD_INIT(); - -  if (key>=PTHREAD_KEYS_MAX) { -    return EINVAL; -  } - -  __thread_keys[key].used=0; - -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c deleted file mode 100644 index f5d66613c..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_mutex_destroy(pthread_mutex_t *mutex) -{ -  __THREAD_INIT(); - -  if ((mutex->owner)||(mutex->lock.__spinlock==PTHREAD_SPIN_LOCKED)) { -    return EBUSY; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c deleted file mode 100644 index 65161d0ec..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <unistd.h> -#include <errno.h> -#include <string.h> -#include <pthread.h> -#include "thread_internal.h" - -int pthread_mutex_init(pthread_mutex_t *mutex, -			const pthread_mutexattr_t *mutexattr) -{ -  __THREAD_INIT(); - -  memset(mutex,0,sizeof(pthread_mutex_t)); -  if (mutexattr) { -    mutex->kind=mutexattr->__mutexkind; -  } -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c deleted file mode 100644 index 0df2bcd8d..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <unistd.h> -#include <sched.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -/* will never return EINVAL ! */ - -int pthread_mutex_lock(pthread_mutex_t *mutex) -{ -  _pthread_descr this; - -  __THREAD_INIT(); - -  this = __thread_self(); - -  if (this==mutex->owner) { -    if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) -      return EDEADLK; -    if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) { -      ++(mutex->count); -      return 0; -    } -  } - -  /* wait for mutex to free */ -  __pthread_lock(&(mutex->lock)); -  mutex->owner=this; - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c deleted file mode 100644 index 620d26150..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <unistd.h> -#include <sched.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -/* will never return EINVAL ! */ - -int pthread_mutex_trylock(pthread_mutex_t *mutex) -{ -  _pthread_descr this; - -  __THREAD_INIT(); - -  this = __thread_self(); - -  if (this!=mutex->owner) { -    /* wait for mutex to free */ -    if (__pthread_trylock(&(mutex->lock))) { -      return EBUSY; -    } - -    mutex->owner=this; -  } -  else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) { -    return EDEADLK; -  } - -  if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) ++(mutex->count); - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c deleted file mode 100644 index 0c12282c1..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <unistd.h> -#include <sched.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -/* will never return EINVAL ! */ - -int pthread_mutex_unlock(pthread_mutex_t *mutex) -{ -  _pthread_descr this; - -  __THREAD_INIT(); - -  this = __thread_self(); - -  if (this==mutex->owner) { -    if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) { -      if (--(mutex->count)) return 0; -    } - -    mutex->owner=0; -    __pthread_unlock(&(mutex->lock)); -  } -  else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) { -    return EPERM; -  } - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c deleted file mode 100644 index 63cd9133c..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind) -{ -  __THREAD_INIT(); - -  *kind=attr->__mutexkind; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c deleted file mode 100644 index ff60e4c74..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_mutexattr_init(pthread_mutexattr_t *attr) -{ -  __THREAD_INIT(); - -  attr->__mutexkind = 0; -  return 0; -} - -int pthread_mutexattr_destroy(pthread_mutexattr_t *attr) __attribute__((alias ("pthread_mutexattr_init"))); diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c deleted file mode 100644 index 8b110fe5a..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind) -{ -  __THREAD_INIT(); - -  if ((kind==PTHREAD_MUTEX_FAST_NP) || (kind==PTHREAD_MUTEX_RECURSIVE_NP) || -      (kind==PTHREAD_MUTEX_ERRORCHECK_NP)) { -    attr->__mutexkind=kind; -    return 0; -  } -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_once.c b/mdk-stage1/dietlibc/libpthread/pthread_once.c deleted file mode 100644 index 16d9cb392..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_once.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <pthread.h> -#include "thread_internal.h" - -int __pthread_once (pthread_once_t* once_control, void (*init_routine)(void)) -{ -  if (!(__testandset(once_control))) init_routine(); -  return 0; -} -int pthread_once (pthread_once_t* once_control, void (*init_routine)(void)) __attribute__((alias("__pthread_once"))); diff --git a/mdk-stage1/dietlibc/libpthread/pthread_self.c b/mdk-stage1/dietlibc/libpthread/pthread_self.c deleted file mode 100644 index 394686dd4..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_self.c +++ /dev/null @@ -1,4 +0,0 @@ -#include <unistd.h> -#include <pthread.h> - -pthread_t pthread_self() { return getpid(); } diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c b/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c deleted file mode 100644 index f832bef70..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c +++ /dev/null @@ -1,24 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_setcancelstate(int state, int *oldstate) -{ -  _pthread_descr thread; - -  __THREAD_INIT(); - -  if ((state==PTHREAD_CANCEL_ENABLE) || (state==PTHREAD_CANCEL_DISABLE)) -  { -    thread = __thread_self(); - -    if (oldstate) *oldstate = thread->cancelstate; -    thread->cancelstate = state; - -    return 0; -  } - -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c b/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c deleted file mode 100644 index f5669b70d..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c +++ /dev/null @@ -1,24 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_setcanceltype(int type, int *oldtype) -{ -  _pthread_descr thread; - -  __THREAD_INIT(); - -  if ((type==PTHREAD_CANCEL_DEFERRED) || (type==PTHREAD_CANCEL_ASYNCHRONOUS)) -  { -    thread = __thread_self(); - -    if (oldtype) *oldtype = thread->canceltype; -    thread->canceltype = type; - -    return 0; -  } - -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c deleted file mode 100644 index df007c408..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param) -{ -  __THREAD_INIT(); - -  if (__find_thread_id(target_thread)<0) { -    return ESRCH; -  } - -  if (((policy == SCHED_OTHER) && (param->sched_priority==0)) || -      (((policy == SCHED_RR) || (policy == SCHED_FIFO)) && -       ((param->sched_priority > 0) && (param->sched_priority <100)))) -    return sched_setscheduler(target_thread, policy, param); - -  return EINVAL; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c deleted file mode 100644 index b66ce31d0..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <unistd.h> -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX]; -int pthread_setspecific(pthread_key_t key, const void *value) -{ -  int id; -  __THREAD_INIT(); - -  id=__find_thread_id(getpid()); -  if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) { -    __thread_keys[key].tkd[id]=value; -    return 0; -  } -  return EINVAL; -} - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c b/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c deleted file mode 100644 index 691e9e51a..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <signal.h> -#include <errno.h> - -#include <pthread.h> - -int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset) { -  return (sigprocmask(how,newset,oldset)==-1)?(*(__errno_location())):0; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c b/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c deleted file mode 100644 index 463c186bd..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <time.h> -#include <pthread.h> -#include "thread_internal.h" - -void __pthread_lock(struct _pthread_fastlock * lock) -{ -  int cnt = 0; -  struct timespec tm; - -  while (__testandset(&lock->__spinlock)) { -    if (cnt < MAX_SPIN_COUNT) { -      sched_yield(); -      cnt++; -    } else { -      tm.tv_sec = 0; -      tm.tv_nsec = SPIN_SLEEP_DURATION; -      __libc_nanosleep(&tm, 0); -      cnt = 0; -    } -  } -} - -int __pthread_trylock(struct _pthread_fastlock * lock) -{ -  return __testandset(&lock->__spinlock); -} - -int __pthread_unlock(struct _pthread_fastlock * lock) -{ -  lock->__spinlock = PTHREAD_SPIN_UNLOCKED; -  return 0; -} - - diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c deleted file mode 100644 index 9fd4bcd95..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c +++ /dev/null @@ -1,36 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -#include <stdlib.h> - -static pthread_mutex_t mutex_alloc = PTHREAD_MUTEX_INITIALIZER; - -void free(void *ptr) { -  __NO_ASYNC_CANCEL_BEGIN; -  pthread_mutex_lock(&mutex_alloc); -  __libc_free(ptr); -  pthread_mutex_unlock(&mutex_alloc); -  __NO_ASYNC_CANCEL_END; -} - -void *malloc(size_t size) { -  register void *ret; -  __NO_ASYNC_CANCEL_BEGIN; -  pthread_mutex_lock(&mutex_alloc); -  ret=__libc_malloc(size); -  pthread_mutex_unlock(&mutex_alloc); -  __NO_ASYNC_CANCEL_END; -  return ret; -} - -void* realloc(void* ptr, size_t size) { -  register void *ret; -  __NO_ASYNC_CANCEL_BEGIN; -  pthread_mutex_lock(&mutex_alloc); -  ret=__libc_realloc(ptr, size); -  pthread_mutex_unlock(&mutex_alloc); -  __NO_ASYNC_CANCEL_END; -  return ret; -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c deleted file mode 100644 index 84d5d5f36..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int close(int fd) -{ -  __TEST_CANCEL(); -  return __libc_close(fd); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c deleted file mode 100644 index 9d47844f5..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int creat(const char *pathname, mode_t mode) -{ -  __TEST_CANCEL(); -  return __libc_creat(pathname,mode); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c deleted file mode 100644 index c7c3fb884..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int fcntl(int fd, int cmd, void *arg); -int fcntl(int fd, int cmd, void *arg) -{ -  __TEST_CANCEL(); -  return __libc_fcntl(fd,cmd,arg); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c deleted file mode 100644 index 69857c7b3..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int fdatasync(int fd) -{ -  __TEST_CANCEL(); -  return __libc_fdatasync(fd); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c deleted file mode 100644 index a2c995069..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int fsync(int fd) -{ -  __TEST_CANCEL(); -  return __libc_fsync(fd); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c deleted file mode 100644 index f9f93dce2..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <unistd.h> -#include <stdarg.h> - -#include <pthread.h> -#include "thread_internal.h" - -#include <syslog.h> - -static pthread_mutex_t mutex_syslog = PTHREAD_MUTEX_INITIALIZER; - -void closelog(void) -{ -  pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog); -  pthread_mutex_lock(&mutex_syslog); -  __libc_closelog(); -  pthread_cleanup_pop(1); -} - -void openlog(const char *ident, int option, int facility) -{ -  pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog); -  pthread_mutex_lock(&mutex_syslog); -  __libc_openlog(ident, option, facility); -  pthread_cleanup_pop(1); -} - -void vsyslog(int priority, const char *format, va_list arg_ptr) -{ -  pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog); -  pthread_mutex_lock(&mutex_syslog); -  __libc_vsyslog(priority, format, arg_ptr); -  pthread_cleanup_pop(1); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c deleted file mode 100644 index 699de4654..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <time.h> -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int nanosleep(const struct timespec *req, struct timespec *rem) -{ -  __TEST_CANCEL(); -  return __libc_nanosleep(req,rem); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c deleted file mode 100644 index 8d9fb5523..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int __pthread_open(const char *pathname, int flags, mode_t mode); -int __pthread_open(const char *pathname, int flags, mode_t mode) -{ -  __TEST_CANCEL(); -  return __libc_open(pathname,flags,mode); -} - -int open(const char *pathname, int flags, ...) __attribute__((alias("__pthread_open"))); diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c deleted file mode 100644 index ab15ead11..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int pause() -{ -  __TEST_CANCEL(); -  return __libc_pause(); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c deleted file mode 100644 index 60f886003..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int read(int fd, void *buf, size_t count) -{ -  __TEST_CANCEL(); -  return __libc_read(fd,buf,count); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c deleted file mode 100644 index 72cd783ae..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int sigsuspend(const sigset_t *mask) -{ -  __TEST_CANCEL(); -  return __libc_sigsuspend(mask); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c deleted file mode 100644 index d5d94978b..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -#include <termios.h> - -int tcdrain(int fd) -{ -  __TEST_CANCEL(); -  return __libc_tcdrain(fd); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c deleted file mode 100644 index e5020221a..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -#include <sys/wait.h> - -pid_t waitpid(pid_t pid, int *status, int options) -{ -  __TEST_CANCEL(); -  return __libc_waitpid(pid,status,options); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c deleted file mode 100644 index 37541ae42..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <unistd.h> - -#include <pthread.h> -#include "thread_internal.h" - -int write(int fd, const void *buf, size_t count) -{ -  __TEST_CANCEL(); -  return __libc_write(fd,buf,count); -} diff --git a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c b/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c deleted file mode 100644 index 4151faca3..000000000 --- a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <errno.h> - -#include <pthread.h> -#include "thread_internal.h" - -void pthread_testcancel() -{ -  _pthread_descr thread; -  __THREAD_INIT(); - -  thread=__thread_self(); - -  if (thread && thread->canceled) { -    pthread_exit(PTHREAD_CANCELED); -  } -} diff --git a/mdk-stage1/dietlibc/libpthread/test.c b/mdk-stage1/dietlibc/libpthread/test.c deleted file mode 100644 index 3272c1753..000000000 --- a/mdk-stage1/dietlibc/libpthread/test.c +++ /dev/null @@ -1,72 +0,0 @@ -#include <stdio.h> -#include <pthread.h> - -#include <unistd.h> -#include <signal.h> - -#include <errno.h> - -int ra; - -void test(int sig) -{ -  printf("SIGNAL %d in %d\n",sig,getpid()); -  fflush(stdout); -  signal(SIGHUP, test); -} - -void* thread(void* arg) -{ -  int i; -  for (i=0;i<10; i++) -  { -    printf("child %ld %8p\n", pthread_self(),arg); -    sleep(1); -  } -  return arg; -} - -void* thread2(void *arg) -{ -  pthread_t t; -  int i; - -  printf("child %ld %8p\n", pthread_self(),arg); -  for (i=0; i<3; ++i) { -    printf("child starting next in %d secs %ld %8p\n", 3-i, pthread_self(),arg); -    sleep(1); -  } -  pthread_create(&t,0, thread, (void*)2); -  printf("new child @ %ld\n",t); -  return (void*)t; -} - -int main(int argc, char*argv[]) -{ -  pthread_t t; - -  signal(SIGHUP, test); - -  pthread_create(&t,0, thread2, 0); -  pthread_create(&t,0, thread, (void *)3); -  pthread_create(&t,0, thread, (void *)1); - -  puts("main"); - -#if 0 -  { -    int i; -    for(i=0;i<4;i++) sleep(1); -  } -#else -  { -    int *tt; -    int i = pthread_join(t,(void*)&tt); -    printf("join %d %p %d\n",i,tt,(*(__errno_location()))); -  } -#endif - -  puts("main exit"); - -  return 0; -} diff --git a/mdk-stage1/dietlibc/libpthread/thread_internal.h b/mdk-stage1/dietlibc/libpthread/thread_internal.h deleted file mode 100644 index 7843fb59d..000000000 --- a/mdk-stage1/dietlibc/libpthread/thread_internal.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef __THREAD_INTERNAL_H__ -#define __THREAD_INTERNAL_H__ - -#include <pthread.h> -#include <stdarg.h> -#include <setjmp.h> -#include "dietfeatures.h" -#ifndef WANT_THREAD_SAFE -#error "the diet libc is not compiled with thread safeness enabled!" -#endif - -#undef errno - -/* cleanup */ -#define PTHREAD_MAX_CLEANUP 8 -struct thread_cleanup_t { -  void (*func)(void*); -  void *arg; -}; - -/* the thread descriptor / internal */ -struct _pthread_descr_struct { -  /* conditional variables */ -  struct _pthread_descr_struct *waitnext; /* an other waiting thread or NULL */ -  int  waiting;			/* internal waiting "lock" */ - -  /* thread/process data */ -  int  pid;			/* Process id */ -  int  exited;			/* Process is dead */ - -  int  policy;			/* thread scheduling policy */ -  int  priority;		/* thread priority */ - -  /* errno handling */ -  int   errno; -  int h_errno; - -  /* stack handling */ -  unsigned int stack_size;	/* stack size for setrlimit */ -  void *stack_addr;		/* stack address for clone */ -  void *stack_begin;		/* begin of lib-stack / lowest address (free) */ - -  /* thread exit handling */ -  void  *retval;		/* thread return value */ -  int  joined;			/* flag other thread has joined */ -  jmp_buf jmp_exit;		/* pthread_exit jump */ - -  /* thread flags */ -  int  detached;		/* thread is detached */ -  int  canceled;		/* thread canceled */ - -  /* cancel handling */ -  int  cancelstate;		/* cancel state */ -  int  canceltype;		/* type of cancellation */ - -  /* thread basics */ -  void* (*func) (void* arg);	/* thread function */ -  void* arg;			/* thread argument */ - -  /* create thread / manager thread lock */ -  struct _pthread_fastlock go; - -  /* cleanup stack */ -  struct thread_cleanup_t cleanup_stack[PTHREAD_MAX_CLEANUP]; - -} __attribute__ ((aligned(32))); - -/* thread keys */ -struct _thread_key { -  int used; -  void (*destructor)(const void*); -  const void *tkd[PTHREAD_THREADS_MAX]; -}; - -/* internal stuff */ -int __testandset(int *spinlock); - -void __pthread_lock(struct _pthread_fastlock * lock); -int __pthread_trylock(struct _pthread_fastlock * lock); -int __pthread_unlock(struct _pthread_fastlock * lock); - -int __clone(void* (*fn)(void*), void* stack, int flags, void *arg); - -int __find_thread_id(int pid); -_pthread_descr __get_thread_struct(int id); - -_pthread_descr __thread_get_free(void); -_pthread_descr __thread_self(void); - -int __thread_join(_pthread_descr join, void **return_value); -#define __thread_cleanup(th) (void)__thread_join((th),0) - -void __thread_wait_some_time(void); - -#define __NO_ASYNC_CANCEL_BEGIN { int oldtype; pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); -#define __NO_ASYNC_CANCEL_END pthread_setcanceltype(oldtype,0); pthread_testcancel(); } -#define __NO_ASYNC_CANCEL_STOP pthread_setcanceltype(oldtype,0); } - -/* manager thread stuff */ -int signal_manager_thread(_pthread_descr td); - -/* init stuff */ -extern pthread_once_t __thread_inited; -void __thread_init(void); -#define __THREAD_INIT() __pthread_once(&__thread_inited, __thread_init) -#define __TEST_CANCEL() pthread_testcancel() - -/* diet libc syscalls */ - -void  __libc_free(void *ptr); -void *__libc_malloc(size_t size); -void *__libc_realloc(void* ptr, size_t size); - -void __libc_closelog(void); -void __libc_openlog(const char *ident, int option, int facility); -void __libc_vsyslog(int priority, const char *format, va_list arg_ptr); - -pid_t __libc_fork(void); - -int __libc_close(int fd); -int __libc_creat(const char *pathname, mode_t mode); -int __libc_fcntl(int fd, int cmd, void *arg); -int __libc_fsync(int fd); -int __libc_fdatasync(int fd); -int __libc_nanosleep(const struct timespec *req, struct timespec *rem); -int __libc_open(const char *pathname, int flags, mode_t mode); -int __libc_pause(void); -int __libc_read(int fd, void *buf, size_t count); -int __libc_sigsuspend(const sigset_t *mask); -int __libc_tcdrain(int fd); -pid_t __libc_waitpid(pid_t pid, int *status, int options); -int __libc_write(int fd, const void *buf, size_t count); - -#endif diff --git a/mdk-stage1/dietlibc/libregex/rx.c b/mdk-stage1/dietlibc/libregex/rx.c deleted file mode 100644 index 9bab3e22c..000000000 --- a/mdk-stage1/dietlibc/libregex/rx.c +++ /dev/null @@ -1,494 +0,0 @@ -#define NDEBUG -#include <regex.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <sys/types.h> -#include <string.h> -#include <assert.h> - -/* this is ugly. - * the idea is to build a parse tree, then do some poor man's OOP with a - * generic matcher function call that is always that the start of each - * record, and a next pointer.  When the parse tree is done, we need to - * recursively set the next pointers to point to the part of the parse - * tree that needs to match next. - * This is the prototype of the generic match function call pointer. - * The first argument is the "this" pointer, the second is the text to - * be matched against, ofs is the offset from the start of the matched - * text (so we can match "^") and matches is an array where match - * positions are stored. */ -/* now declared in regex.h: */ -/* typedef int (*matcher)(void*,const char*,int ofs,regmatch_t* matches,int plus,int eflags); */ - -/* one would think that this is approach is an order of magnitude slower - * than the standard NFA approach, but it isn't.  The busybox grep took - * 0.26 seconds for a fixed string compared to 0.19 seconds for the - * glibc regex. */ - -/* first part: parse a regex into a parse tree */ -struct bracketed { -  unsigned int cc[32]; -}; - -/* now declared in regex.h: -struct regex { -  matcher m; -  void* next; -  int pieces; -  int num; -  struct branch *b; -}; */ - -struct atom { -  matcher m; -  void* next; -  enum { ILLEGAL, EMPTY, REGEX, BRACKET, ANY, LINESTART, LINEEND, WORDSTART, WORDEND, CHAR, } type; -  int bnum; -  union { -    struct regex r; -    struct bracketed b; -    char c; -  } u; -}; - -struct piece { -  matcher m; -  void* next; -  struct atom a; -  unsigned char min,max; -}; - -struct branch { -  matcher m; -  void* next; -  int num; -  struct piece *p; -}; - -static void clearcc(unsigned int* x) { -  memset(x,0,sizeof(struct bracketed)); -} - -static void setcc(unsigned int* x,unsigned int bit) { -  x[bit/32]|=(1<<((bit%32)-1)); -} - -static int issetcc(unsigned int* x,unsigned int bit) { -  return x[bit/32] & (1<<((bit%32)-1)); -} - -static const char* parsebracketed(struct bracketed*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx) { -  const char* t; -  int i,negflag=0; -  if (*s!='[') return s; -  t=s+1; -  clearcc(b->cc); -  if (*t=='^') { negflag=1; ++t; } -  do { -    if (*t==0) return s; -    setcc(b->cc,rx->cflags®_ICASE?tolower(*t):*t); -    if (t[1]=='-' && t[2]!=']') { -      for (i=*t+1; i<=t[2]; ++i) setcc(b->cc,rx->cflags®_ICASE?tolower(i):i); -      t+=2; -    } -    ++t; -  } while (*t!=']'); -  if (negflag) for (i=0; i<32; ++i) b->cc[i]=~b->cc[i]; -  return t+1; -} - -static const char* parseregex(struct regex* r,const char* s,regex_t* rx); - -static int matchatom(void*__restrict__ x,const unsigned char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) { -  register struct atom* a=(struct atom*)x; -  int matchlen=0; -  assert(a->type!=ILLEGAL); -  switch (a->type) { -  case EMPTY: -#ifdef DEBUG -    printf("matching atom EMPTY against \"%s\"\n",s); -    printf("a->bnum is %d\n",a->bnum); -#endif -    if (a->bnum>=0) preg->l[a->bnum].rm_so=preg->l[a->bnum].rm_eo=ofs; -    goto match; -  case REGEX: -#ifdef DEBUG -    printf("matching atom REGEX against \"%s\"\n",s); -    printf("a->bnum is %d\n",a->bnum); -#endif -    if ((matchlen=a->u.r.m(&a->u.r,s,ofs,preg,0,eflags))>=0) { -      assert(a->bnum>=0); -      preg->l[a->bnum].rm_so=ofs; -      preg->l[a->bnum].rm_eo=ofs+matchlen; -      goto match; -    } -    break; -  case BRACKET: -#ifdef DEBUG -    printf("matching atom BRACKET against \"%s\"\n",s); -#endif -    matchlen=1; -    if (*s=='\n' && (preg->cflags®_NEWLINE)) break; -    if (*s && issetcc(a->u.b.cc,(preg->cflags®_ICASE?tolower(*s):*s))) -      goto match; -    break; -  case ANY: -#ifdef DEBUG -    printf("matching atom ANY against \"%s\"\n",s); -#endif -    if (*s=='\n' && (preg->cflags®_NEWLINE)) break; -    matchlen=1; -    if (*s) goto match; -    break; -  case LINESTART: -#ifdef DEBUG -    printf("matching atom LINESTART against \"%s\"\n",s); -#endif -    if (ofs==0 && (eflags®_NOTBOL)==0) { -      goto match; -    } -    break; -  case LINEEND: -#ifdef DEBUG -    printf("matching atom LINEEND against \"%s\"\n",s); -#endif -    if ((*s && *s!='\n') || (eflags®_NOTEOL)) break; -    goto match; -  case WORDSTART: -#ifdef DEBUG -    printf("matching atom WORDSTART against \"%s\"\n",s); -#endif -    if ((ofs==0 || !isalnum(s[-1])) && isalnum(*s)) -      goto match; -    break; -  case WORDEND: -#ifdef DEBUG -    printf("matching atom WORDEND against \"%s\"\n",s); -#endif -    if (ofs>0 && isalnum(s[-1]) && !isalnum(*s)) -      goto match; -    break; -  case CHAR: -#ifdef DEBUG -    printf("matching atom CHAR %c against \"%s\"\n",a->u.c,s); -#endif -    matchlen=1; -    if (((preg->cflags®_ICASE)?tolower(*s):*s)==a->u.c) goto match; -    break; -  } -  return -1; -match: -  if (a->next) -    return ((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags); -  else -    return plus+matchlen; -} - -static const char* parseatom(struct atom*__restrict__ a,const char*__restrict__ s,regex_t*__restrict__ rx) { -  const char *tmp; -  a->m=(matcher)matchatom; -  a->bnum=-1; -  switch (*s) { -  case '(': -    a->bnum=++rx->brackets; -    if (s[1]==')') { -      a->type=EMPTY; -      return s+2; -    } -    a->type=REGEX; -    if ((tmp=parseregex(&a->u.r,s+1,rx))!=s) { -      if (*tmp==')') -	return tmp+1; -    } -  case 0: -  case '|': -  case ')': -    return s; -  case '[': -    a->type=BRACKET; -    if ((tmp=parsebracketed(&a->u.b,s,rx))!=s) -      return tmp; -    return s; -  case '.': -    a->type=ANY; -    break; -  case '^': -    a->type=LINESTART; -    break; -  case '$': -    a->type=LINEEND; -    break; -  case '\\': -    if (!*++s) return s; -    if (*s=='<') { -      a->type=WORDSTART; -      break; -    } else if (*s=='>') { -      a->type=WORDEND; -      break; -    } -  default: -    a->type=CHAR; -    a->u.c=rx->cflags®_ICASE?tolower(*s):*s; -    break; -  } -  return s+1; -} - -/* needs to do "greedy" matching, i.e. match as often as possible */ -static int matchpiece(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) { -  register struct piece* a=(struct piece*)x; -  int matchlen=0; -  int tmp=0,num=0; -  unsigned int *offsets; -  assert(a->max>0 && a->max<1000); -#ifdef DEBUG -  printf("alloca(%d)\n",sizeof(int)*a->max); -#endif -  offsets=alloca(sizeof(int)*a->max); -  offsets[0]=0; -//  printf("allocating %d offsets...\n",a->max); -//  printf("matchpiece \"%s\"...\n",s); -  /* first, try to match the atom as often as possible, up to a->max times */ -  if (a->max == 1 && a->min == 1) -    return a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags); -  while (num<a->max) { -    void* save=a->a.next; -    a->a.next=0; -    if ((tmp=a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags))>=0) { -      a->a.next=save; -      ++num; -      matchlen+=tmp; -//      printf("setting offsets[%d] to %d\n",num,tmp); -      offsets[num]=tmp; -    } else { -      a->a.next=save; -      break; -    } -  } -  if (num<a->min) return -1;		/* already at minimum matches; signal mismatch */ -  /* then, while the rest does not match, back off */ -  for (;num>=0;) { -    if (a->next) -      tmp=((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags); -    else -      tmp=plus+matchlen; -    if (tmp>=0) break;	/* it did match; don't back off any further */ -//    printf("using offsets[%d] (%d)\n",num,offsets[num]); -    matchlen-=offsets[num]; -    --num; -  } -  return tmp; -} - -static const char* parsepiece(struct piece*__restrict__ p,const char*__restrict__ s,regex_t*__restrict__ rx) { -  const char* tmp=parseatom(&p->a,s,rx); -  if (tmp==s) return s; -  p->m=matchpiece; -  p->min=p->max=1; -  switch (*tmp) { -  case '*': p->min=0; p->max=RE_DUP_MAX; break; -  case '+': p->min=1; p->max=RE_DUP_MAX; break; -  case '?': p->min=0; p->max=1; break; -  case '{': -    if (isdigit(*++tmp)) { -      p->min=*tmp-'0'; p->max=RE_DUP_MAX; -      while (isdigit(*++tmp)) p->min=p->min*10+*tmp-'0'; -      if (*tmp==',') { -	if (isdigit(*++tmp)) { -	  p->max=*tmp-'0'; -	  while (isdigit(*++tmp)) p->max=p->max*10+*tmp-'0'; -	} -      } -      if (*tmp!='}') return s; -      ++tmp; -    } -  default: -    return tmp; -  } -  return tmp+1; -} - -/* trivial, just pass through */ -static int matchbranch(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) { -  register struct branch* a=(struct branch*)x; -  int tmp; -#ifdef DEBUG -  printf("%08p matching branch against \"%s\"\n",a,s); -  printf("%p %p\n",&a->p->m,a->p->m); -#endif -  assert(a->p->m==matchpiece); -  tmp=a->p->m(a->p,s,ofs,preg,plus,eflags); -  if (tmp>=0) { -    if (a->next) -      return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags); -    else -      return plus+tmp; -  } -  return -1; -} - -static const char* parsebranch(struct branch*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx,int*__restrict__ pieces) { -  struct piece p; -  const char *tmp;	/* the gcc warning here is bogus */ -  b->m=matchbranch; -  b->num=0; b->p=0; -  for (;;) { -    if (*s=='|') { -      if (b->num==0) { -	tmp=s+1; -	p.a.type=EMPTY; -	p.min=p.max=1; -      } -    } else { -      tmp=parsepiece(&p,s,rx); -      if (tmp==s) return s; -    } -//    printf("b->p from %p to ",b->p); -    if (!(b->p=realloc(b->p,++b->num*sizeof(p)))) return s; -//    printf("%p (size %d)\n",b->p,b->num*sizeof(p)); -    b->p[b->num-1]=p; -    if (*tmp=='|') { break; } -    s=tmp; -  } -  *pieces+=b->num; -  return tmp; -} - -/* try the branches one by one */ -static int matchregex(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) { -  register struct regex* a=(struct regex*)x; -  int i,tmp; -#ifdef DEBUG -  printf("%08p matching regex against \"%s\"\n",a,s); -#endif -  for (i=0; i<a->num; ++i) { -    assert(a->b[i].m==matchbranch); -    tmp=a->b[i].m(&a->b[i],s,ofs,preg,plus,eflags); -    if (tmp>=0) { -      if (a->next) -	return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags); -      else -	return plus+tmp; -    } -  } -  return -1; -} - -static const char* parseregex(struct regex*__restrict__ r,const char*__restrict__ s,regex_t*__restrict__ p) { -  struct branch b; -  const char *tmp; -  r->m=matchregex; -  r->num=0; r->b=0; r->pieces=0; -  p->brackets=0; -  for (;;) { -    tmp=parsebranch(&b,s,p,&r->pieces); -    if (tmp==s) return s; -//    printf("r->b from %p to ",r->b); -    if (!(r->b=realloc(r->b,++r->num*sizeof(b)))) return s; -//    printf("%p (size %d)\n",r->b,r->num*sizeof(b)); -    r->b[r->num-1]=b; -    s=tmp; if (*s=='|') ++s; -  } -  return tmp; -} - - -/* The matcher relies on the presence of next pointers, of which the - * parser does not know the correct destination.  So we need an - * additional pass through the data structure that sets the next - * pointers correctly. */ -static void regex_putnext(struct regex* r,void* next); - -static void atom_putnext(struct atom*__restrict__ a,void*__restrict__ next) { -  a->next=next; -  if (a->type==REGEX) -    regex_putnext(&a->u.r,0); -} - -static void piece_putnext(struct piece*__restrict__ p,void*__restrict__ next) { -  p->next=next; -  atom_putnext(&p->a,next); -} - -static void branch_putnext(struct branch*__restrict__ b,void*__restrict__ next) { -  int i; -  for (i=0; i<b->num-1; ++i) { -    if (b->p[i+1].min==1 && b->p[i+1].max==1) -      piece_putnext(&b->p[i],&b->p[i+1].a); -    else -      piece_putnext(&b->p[i],&b->p[i+1]); -  } -  piece_putnext(&b->p[i],0); -  b->next=next; -} - -static void regex_putnext(struct regex*__restrict__ r,void*__restrict__ next) { -  int i; -  for (i=0; i<r->num; ++i) -    branch_putnext(&r->b[i],next); -  r->next=next; -} - - - -int regcomp(regex_t*__restrict__ preg, const char*__restrict__ regex, int cflags) { -  const char* t; -  preg->cflags=cflags; -  t=parseregex(&preg->r,regex,preg); -  if (t==regex) return -1; -  regex_putnext(&preg->r,0); -  return 0; -} - -int regexec(const regex_t*__restrict__ preg, const char*__restrict__ string, size_t nmatch, regmatch_t pmatch[], int eflags) { -  int matched; -  const char *orig=string; -  assert(preg->brackets+1>0 && preg->brackets<1000); -#ifdef DEBUG -  printf("alloca(%d)\n",sizeof(regmatch_t)*(preg->brackets+3)); -#endif -  ((regex_t*)preg)->l=alloca(sizeof(regmatch_t)*(preg->brackets+3)); -  while (*string) { -    matched=preg->r.m((void*)&preg->r,string,string-orig,(regex_t*)preg,0,eflags); -//    printf("ebp on stack = %x\n",stack[1]); -    if (matched>=0) { -      preg->l[0].rm_so=string-orig; -      preg->l[0].rm_eo=string-orig+matched; -      if ((preg->cflags®_NOSUB)==0) memcpy(pmatch,preg->l,nmatch*sizeof(regmatch_t)); -      return 0; -    } -    ++string; eflags|=REG_NOTBOL; -  } -  return REG_NOMATCH; -} - - - -void regfree(regex_t* preg) { -  int i; -  for (i=0; i<preg->r.num; ++i) -    free(preg->r.b[i].p); -    free(preg->r.b); -} - -size_t regerror(int errcode, const regex_t*__restrict__ preg, char*__restrict__ errbuf, size_t errbuf_size) { -  strncpy(errbuf,"invalid regular expression (sorry)",errbuf_size); -  return strlen(errbuf); -} - - - - -#if 0 -int main() { -  struct regex r; -  int bnum=-1; -  const char* t=parseregex(&r,"^a*ab$",&bnum); -  regex_putnext(&r,0); -  printf("%d pieces, %s\n",r.pieces,t); -  printf("%d\n",r.m(&r,"aaab",0,0,0)); -  return 0; -} -#endif diff --git a/mdk-stage1/dietlibc/librpc/auth_none.c b/mdk-stage1/dietlibc/librpc/auth_none.c deleted file mode 100644 index 59124bae4..000000000 --- a/mdk-stage1/dietlibc/librpc/auth_none.c +++ /dev/null @@ -1,126 +0,0 @@ -/* @(#)auth_none.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * auth_none.c - * Creates a client authentication handle for passing "null"  - * credentials and verifiers to remote systems.  - *  - * Copyright (C) 1984, Sun Microsystems, Inc.  - */ - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/auth.h> -#define MAX_MARSHEL_SIZE 20 - -static void authnone_verf(); -static bool_t authnone_validate(); -static bool_t authnone_refresh(); -static void authnone_destroy(); -static bool_t authnone_marshal(AUTH *client, XDR *xdrs); - -static struct auth_ops ops = { -	authnone_verf, -	authnone_marshal, -	authnone_validate, -	authnone_refresh, -	authnone_destroy -}; - -static struct authnone_private { -	AUTH no_client; -	char marshalled_client[MAX_MARSHEL_SIZE]; -	unsigned int mcnt; -} *authnone_private; - -AUTH *authnone_create() -{ -	register struct authnone_private *ap = authnone_private; -	XDR xdr_stream; -	register XDR *xdrs; - -	if (ap == 0) { -		ap = (struct authnone_private *) calloc(1, sizeof(*ap)); -		if (ap == 0) -			return (0); -		authnone_private = ap; -	} -	if (!ap->mcnt) { -		ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth; -		ap->no_client.ah_ops = &ops; -		xdrs = &xdr_stream; -		xdrmem_create(xdrs, ap->marshalled_client, -					  (unsigned int) MAX_MARSHEL_SIZE, XDR_ENCODE); -		(void) xdr_opaque_auth(xdrs, &ap->no_client.ah_cred); -		(void) xdr_opaque_auth(xdrs, &ap->no_client.ah_verf); -		ap->mcnt = XDR_GETPOS(xdrs); -		XDR_DESTROY(xdrs); -	} -	return (&ap->no_client); -} - - /*ARGSUSED*/ static bool_t authnone_marshal(client, xdrs) -AUTH *client; -XDR *xdrs; -{ -	register struct authnone_private *ap = authnone_private; - -	if (ap == 0) -		return (0); -	return ((*xdrs->x_ops->x_putbytes) (xdrs, -										ap->marshalled_client, ap->mcnt)); -} - -static void authnone_verf() -{ -} - -static bool_t authnone_validate() -{ - -	return (TRUE); -} - -static bool_t authnone_refresh() -{ - -	return (FALSE); -} - -static void authnone_destroy() -{ -} - diff --git a/mdk-stage1/dietlibc/librpc/auth_unix.c b/mdk-stage1/dietlibc/librpc/auth_unix.c deleted file mode 100644 index 59eb6ff18..000000000 --- a/mdk-stage1/dietlibc/librpc/auth_unix.c +++ /dev/null @@ -1,314 +0,0 @@ -/* @(#)auth_unix.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * auth_unix.c, Implements UNIX style authentication parameters.  - *   - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * The system is very weak.  The client uses no encryption for it's - * credentials and only sends null verifiers.  The server sends backs - * null verifiers or optionally a verifier that suggests a new short hand - * for the credentials. - * - */ - -#include <stdio.h> -#include <unistd.h> -#include <sys/types.h> -#include <string.h> - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/auth.h> -#include <rpc/auth_unix.h> - -/* - * Unix authenticator operations vector - */ -static void authunix_nextverf(); -static bool_t authunix_marshal(); -static bool_t authunix_validate(); -static bool_t authunix_refresh(); -static void authunix_destroy(); - -static struct auth_ops auth_unix_ops = { -	authunix_nextverf, -	authunix_marshal, -	authunix_validate, -	authunix_refresh, -	authunix_destroy -}; - -/* - * This struct is pointed to by the ah_private field of an auth_handle. - */ -struct audata { -	struct opaque_auth au_origcred;	/* original credentials */ -	struct opaque_auth au_shcred;	/* short hand cred */ -	unsigned long au_shfaults;			/* short hand cache faults */ -	char au_marshed[MAX_AUTH_BYTES]; -	unsigned int au_mpos;				/* xdr pos at end of marshed */ -}; - -#define	AUTH_PRIVATE(auth)	((struct audata *)auth->ah_private) - -static void marshal_new_auth(); - - -/* - * Create a unix style authenticator. - * Returns an auth handle with the given stuff in it. - */ -AUTH *authunix_create __P ((char *machname, uid_t uid, -				   gid_t gid, int len, -				   gid_t *aup_gids)) -{ -	struct authunix_parms aup; -	char mymem[MAX_AUTH_BYTES]; -	struct timeval now; -	XDR xdrs; -	register AUTH *auth; -	register struct audata *au; - -	/* -	 * Allocate and set up auth handle -	 */ -	auth = (AUTH *) mem_alloc(sizeof(*auth)); -#ifndef KERNEL -	if (auth == NULL) { -		(void) fprintf(stderr, "authunix_create: out of memory\n"); -		return (NULL); -	} -#endif -	au = (struct audata *) mem_alloc(sizeof(*au)); -#ifndef KERNEL -	if (au == NULL) { -		(void) fprintf(stderr, "authunix_create: out of memory\n"); -		return (NULL); -	} -#endif -	auth->ah_ops = &auth_unix_ops; -	auth->ah_private = (char*) au; -	auth->ah_verf = au->au_shcred = _null_auth; -	au->au_shfaults = 0; - -	/* -	 * fill in param struct from the given params -	 */ -	(void) gettimeofday(&now, (struct timezone *) 0); -	aup.aup_time = now.tv_sec; -	aup.aup_machname = machname; -	aup.aup_uid = uid; -	aup.aup_gid = gid; -	aup.aup_len = (unsigned int) len; -	aup.aup_gids = aup_gids; - -	/* -	 * Serialize the parameters into origcred -	 */ -	xdrmem_create(&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE); -	if (!xdr_authunix_parms(&xdrs, &aup)) -		abort(); -	au->au_origcred.oa_length = len = XDR_GETPOS(&xdrs); -	au->au_origcred.oa_flavor = AUTH_UNIX; -#ifdef KERNEL -	au->au_origcred.oa_base = mem_alloc((unsigned int) len); -#else -	if ((au->au_origcred.oa_base = mem_alloc((unsigned int) len)) == NULL) { -		(void) fprintf(stderr, "authunix_create: out of memory\n"); -		return (NULL); -	} -#endif -	memmove(au->au_origcred.oa_base, mymem, (unsigned int) len); - -	/* -	 * set auth handle to reflect new cred. -	 */ -	auth->ah_cred = au->au_origcred; -	marshal_new_auth(auth); -	return (auth); -} - -/* - * Returns an auth handle with parameters determined by doing lots of - * syscalls. - */ -AUTH *authunix_create_default() -{ -	register int len; -	char machname[MAX_MACHINE_NAME + 1]; -	register int uid; -	register int gid; -	gid_t gids[NGRPS]; - -	if (gethostname(machname, MAX_MACHINE_NAME) == -1) -		abort(); -	machname[MAX_MACHINE_NAME] = 0; -	uid = geteuid(); -	gid = getegid(); -	if ((len = getgroups(NGRPS, gids)) < 0) -		abort(); -	return (authunix_create(machname, uid, gid, len, gids)); -} - -/* - * authunix operations - */ - -static void authunix_nextverf(auth) -AUTH *auth; -{ -	/* no action necessary */ -} - -static bool_t authunix_marshal(auth, xdrs) -AUTH *auth; -XDR *xdrs; -{ -	register struct audata *au = AUTH_PRIVATE(auth); - -	return (XDR_PUTBYTES(xdrs, au->au_marshed, au->au_mpos)); -} - -static bool_t authunix_validate(auth, verf) -register AUTH *auth; -struct opaque_auth verf; -{ -	register struct audata *au; -	XDR xdrs; - -	if (verf.oa_flavor == AUTH_SHORT) { -		au = AUTH_PRIVATE(auth); -		xdrmem_create(&xdrs, verf.oa_base, verf.oa_length, XDR_DECODE); - -		if (au->au_shcred.oa_base != NULL) { -			mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length); -			au->au_shcred.oa_base = NULL; -		} -		if (xdr_opaque_auth(&xdrs, &au->au_shcred)) { -			auth->ah_cred = au->au_shcred; -		} else { -			xdrs.x_op = XDR_FREE; -			(void) xdr_opaque_auth(&xdrs, &au->au_shcred); -			au->au_shcred.oa_base = NULL; -			auth->ah_cred = au->au_origcred; -		} -		marshal_new_auth(auth); -	} -	return (TRUE); -} - -static bool_t authunix_refresh(auth) -register AUTH *auth; -{ -	register struct audata *au = AUTH_PRIVATE(auth); -	struct authunix_parms aup; -	struct timeval now; -	XDR xdrs; -	register int stat; - -	if (auth->ah_cred.oa_base == au->au_origcred.oa_base) { -		/* there is no hope.  Punt */ -		return (FALSE); -	} -	au->au_shfaults++; - -	/* first deserialize the creds back into a struct authunix_parms */ -	aup.aup_machname = NULL; -	aup.aup_gids = (gid_t *) NULL; -	xdrmem_create(&xdrs, au->au_origcred.oa_base, -				  au->au_origcred.oa_length, XDR_DECODE); -	stat = xdr_authunix_parms(&xdrs, &aup); -	if (!stat) -		goto done; - -	/* update the time and serialize in place */ -	(void) gettimeofday(&now, (struct timezone *) 0); -	aup.aup_time = now.tv_sec; -	xdrs.x_op = XDR_ENCODE; -	XDR_SETPOS(&xdrs, 0); -	stat = xdr_authunix_parms(&xdrs, &aup); -	if (!stat) -		goto done; -	auth->ah_cred = au->au_origcred; -	marshal_new_auth(auth); -  done: -	/* free the struct authunix_parms created by deserializing */ -	xdrs.x_op = XDR_FREE; -	(void) xdr_authunix_parms(&xdrs, &aup); -	XDR_DESTROY(&xdrs); -	return (stat); -} - -static void authunix_destroy(auth) -register AUTH *auth; -{ -	register struct audata *au = AUTH_PRIVATE(auth); - -	mem_free(au->au_origcred.oa_base, au->au_origcred.oa_length); - -	if (au->au_shcred.oa_base != NULL) -		mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length); - -	mem_free(auth->ah_private, sizeof(struct audata)); - -	if (auth->ah_verf.oa_base != NULL) -		mem_free(auth->ah_verf.oa_base, auth->ah_verf.oa_length); - -	mem_free((char*) auth, sizeof(*auth)); -} - -/* - * Marshals (pre-serializes) an auth struct. - * sets private data, au_marshed and au_mpos - */ -static void marshal_new_auth(auth) -register AUTH *auth; -{ -	XDR xdr_stream; -	register XDR *xdrs = &xdr_stream; -	register struct audata *au = AUTH_PRIVATE(auth); - -	xdrmem_create(xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE); -	if ((!xdr_opaque_auth(xdrs, &(auth->ah_cred))) || -		(!xdr_opaque_auth(xdrs, &(auth->ah_verf)))) { -		perror("auth_none.c - Fatal marshalling problem"); -	} else { -		au->au_mpos = XDR_GETPOS(xdrs); -	} -	XDR_DESTROY(xdrs); -} - diff --git a/mdk-stage1/dietlibc/librpc/authunix_prot.c b/mdk-stage1/dietlibc/librpc/authunix_prot.c deleted file mode 100644 index 53897a364..000000000 --- a/mdk-stage1/dietlibc/librpc/authunix_prot.c +++ /dev/null @@ -1,69 +0,0 @@ -/* @(#)authunix_prot.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * authunix_prot.c - * XDR for UNIX style authentication parameters for RPC - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/auth.h> -#include <rpc/auth_unix.h> - -/* - * XDR for unix authentication parameters. - */ -bool_t xdr_authunix_parms(xdrs, p) -register XDR *xdrs; -register struct authunix_parms *p; -{ -  int a,b; - -	if (xdr_u_long(xdrs, &(p->aup_time)) -		&& xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME) -		&& xdr_int(xdrs, &a) -		&& xdr_int(xdrs, &b) -		&& xdr_array(xdrs, (char* *) & (p->aup_gids), -					 &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int)) { -		p->aup_uid=(uid_t)a; -		p->aup_gid=(gid_t)b; -		return (TRUE); -	} -	return (FALSE); -} diff --git a/mdk-stage1/dietlibc/librpc/bindresvport.c b/mdk-stage1/dietlibc/librpc/bindresvport.c deleted file mode 100644 index 1131cc263..000000000 --- a/mdk-stage1/dietlibc/librpc/bindresvport.c +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * Copyright (c) 1987 by Sun Microsystems, Inc. - */ - -#include <unistd.h> -#include <string.h> -#include <sys/types.h> -#include <errno.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include "dietfeatures.h" - -/* - * Bind a socket to a privileged IP port - */ -int bindresvport(sd, sin) -int sd; -struct sockaddr_in *sin; -{ -	int res; -	static short port; -	struct sockaddr_in myaddr; -	int i; - -#define STARTPORT 600 -#define ENDPORT (IPPORT_RESERVED - 1) -#define NPORTS	(ENDPORT - STARTPORT + 1) - -	if (sin == (struct sockaddr_in *) 0) { -		sin = &myaddr; -		memset(sin,0,sizeof(*sin)); -		sin->sin_family = AF_INET; -	} else if (sin->sin_family != AF_INET) { -		errno = EPFNOSUPPORT; -		return (-1); -	} -	if (port == 0) { -		port = (getpid() % NPORTS) + STARTPORT; -	} -	res = -1; -	errno = EADDRINUSE; -	for (i = 0; i < NPORTS && res < 0 && errno == EADDRINUSE; i++) { -		sin->sin_port = htons(port++); -		if (port > ENDPORT) { -			port = STARTPORT; -		} -		res = bind(sd, (struct sockaddr*)sin, sizeof(struct sockaddr_in)); -	} -	return (res); -} diff --git a/mdk-stage1/dietlibc/librpc/clnt_generic.c b/mdk-stage1/dietlibc/librpc/clnt_generic.c deleted file mode 100644 index 5c0b96af9..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_generic.c +++ /dev/null @@ -1,112 +0,0 @@ -/* @(#)clnt_generic.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)clnt_generic.c 1.4 87/08/11 (C) 1987 SMI"; -#endif -/* - * Copyright (C) 1987, Sun Microsystems, Inc. - */ -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <errno.h> -#include <netdb.h> -#include <string.h> - -/* - * Generic client creation: takes (hostname, program-number, protocol) and - * returns client handle. Default options are set, which the user can  - * change using the rpc equivalent of ioctl()'s. - */ -CLIENT *clnt_create __P ((const char *hostname, const unsigned long prog, -				 const unsigned long vers, const char *proto)) -{ -	struct hostent *h; -	struct protoent *p; -	struct sockaddr_in sin; -	int sock; -	struct timeval tv; -	CLIENT *client; - -	h = gethostbyname(hostname); -	if (h == NULL) { -		rpc_createerr.cf_stat = RPC_UNKNOWNHOST; -		return (NULL); -	} -	if (h->h_addrtype != AF_INET) { -		/* -		 * Only support INET for now -		 */ -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = EAFNOSUPPORT; -		return (NULL); -	} -#ifdef __linux__ -	memset((char*)&sin,0,sizeof(sin)); -#endif -	sin.sin_family = h->h_addrtype; -	sin.sin_port = 0; -#ifndef __linux__ -	memset(sin.sin_zero,0,sizeof(sin.sin_zero)); -#endif -	memmove((char *) &sin.sin_addr, h->h_addr, h->h_length); -	p = getprotobyname(proto); -	if (p == NULL) { -		rpc_createerr.cf_stat = RPC_UNKNOWNPROTO; -		rpc_createerr.cf_error.re_errno = EPFNOSUPPORT; -		return (NULL); -	} -	sock = RPC_ANYSOCK; -	switch (p->p_proto) { -	case IPPROTO_UDP: -		tv.tv_sec = 5; -		tv.tv_usec = 0; -		client = clntudp_create(&sin, prog, vers, tv, &sock); -		if (client == NULL) { -			return (NULL); -		} -		tv.tv_sec = 25; -		clnt_control(client, CLSET_TIMEOUT, (char*)&tv); -		break; -	case IPPROTO_TCP: -		client = clnttcp_create(&sin, prog, vers, &sock, 0, 0); -		if (client == NULL) { -			return (NULL); -		} -		tv.tv_sec = 25; -		tv.tv_usec = 0; -		clnt_control(client, CLSET_TIMEOUT, (char*)&tv); -		break; -	default: -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = EPFNOSUPPORT; -		return (NULL); -	} -	return (client); -} diff --git a/mdk-stage1/dietlibc/librpc/clnt_perror.c b/mdk-stage1/dietlibc/librpc/clnt_perror.c deleted file mode 100644 index 4ede1a43e..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_perror.c +++ /dev/null @@ -1,302 +0,0 @@ -/* @(#)clnt_perror.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)clnt_perror.c 1.15 87/10/07 Copyr 1984 Sun Micro"; -#endif - -/* - * clnt_perror.c - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - */ -#include <stdio.h> - -#include <rpc/types.h> -#include <rpc/auth.h> -#include <rpc/clnt.h> - -//extern char *sys_errlist[]; -//static char *auth_errmsg(); - -extern char *strcpy(); - -#if 0 -static char *buf; - -static char *_buf() -{ - -	if (buf == 0) -		buf = (char *) malloc(256); -	return (buf); -} -#endif	 - -/* - * Print reply error info - */ -char *clnt_sperror __P ((CLIENT *rpch, const char *s)) -{ -#if 0 -	struct rpc_err e; -	void clnt_perrno(); -	char *err; -	char *str = _buf(); -	char *strstart = str; - -	if (str == 0) -		return (0); -	CLNT_GETERR(rpch, &e); - -	(void) sprintf(str, "%s: ", s); -	str += strlen(str); - -	(void) strcpy(str, clnt_sperrno(e.re_status)); -	str += strlen(str); - -	switch (e.re_status) { -	case RPC_SUCCESS: -	case RPC_CANTENCODEARGS: -	case RPC_CANTDECODERES: -	case RPC_TIMEDOUT: -	case RPC_PROGUNAVAIL: -	case RPC_PROCUNAVAIL: -	case RPC_CANTDECODEARGS: -	case RPC_SYSTEMERROR: -	case RPC_UNKNOWNHOST: -	case RPC_UNKNOWNPROTO: -	case RPC_PMAPFAILURE: -	case RPC_PROGNOTREGISTERED: -	case RPC_FAILED: -		break; - -	case RPC_CANTSEND: -	case RPC_CANTRECV: -		(void) sprintf(str, "; errno = %s", sys_errlist[e.re_errno]); -		str += strlen(str); -		break; - -	case RPC_VERSMISMATCH: -		(void) sprintf(str, -					   "; low version = %lu, high version = %lu", -					   e.re_vers.low, e.re_vers.high); -		str += strlen(str); -		break; - -	case RPC_AUTHERROR: -		err = auth_errmsg(e.re_why); -		(void) sprintf(str, "; why = "); -		str += strlen(str); -		if (err != NULL) { -			(void) sprintf(str, "%s", err); -		} else { -			(void) sprintf(str, -						   "(unknown authentication error - %d)", -						   (int) e.re_why); -		} -		str += strlen(str); -		break; - -	case RPC_PROGVERSMISMATCH: -		(void) sprintf(str, -					   "; low version = %lu, high version = %lu", -					   e.re_vers.low, e.re_vers.high); -		str += strlen(str); -		break; - -	default:					/* unknown */ -		(void) sprintf(str, -					   "; s1 = %lu, s2 = %lu", e.re_lb.s1, e.re_lb.s2); -		str += strlen(str); -		break; -	} -	(void) sprintf(str, "\n"); -	return (strstart); -#endif -	return (0); -} - -void clnt_perror __P ((CLIENT *rpch, const char *s)) -{ -	(void) fprintf(stderr, "%s", clnt_sperror(rpch, s)); -} - - -struct rpc_errtab { -	enum clnt_stat status; -	char *message; -}; - -#if 0 -static struct rpc_errtab rpc_errlist[] = { -	{RPC_SUCCESS, -	 "RPC: Success"}, -	{RPC_CANTENCODEARGS, -	 "RPC: Can't encode arguments"}, -	{RPC_CANTDECODERES, -	 "RPC: Can't decode result"}, -	{RPC_CANTSEND, -	 "RPC: Unable to send"}, -	{RPC_CANTRECV, -	 "RPC: Unable to receive"}, -	{RPC_TIMEDOUT, -	 "RPC: Timed out"}, -	{RPC_VERSMISMATCH, -	 "RPC: Incompatible versions of RPC"}, -	{RPC_AUTHERROR, -	 "RPC: Authentication error"}, -	{RPC_PROGUNAVAIL, -	 "RPC: Program unavailable"}, -	{RPC_PROGVERSMISMATCH, -	 "RPC: Program/version mismatch"}, -	{RPC_PROCUNAVAIL, -	 "RPC: Procedure unavailable"}, -	{RPC_CANTDECODEARGS, -	 "RPC: Server can't decode arguments"}, -	{RPC_SYSTEMERROR, -	 "RPC: Remote system error"}, -	{RPC_UNKNOWNHOST, -	 "RPC: Unknown host"}, -	{RPC_UNKNOWNPROTO, -	 "RPC: Unknown protocol"}, -	{RPC_PMAPFAILURE, -	 "RPC: Port mapper failure"}, -	{RPC_PROGNOTREGISTERED, -	 "RPC: Program not registered"}, -	{RPC_FAILED, -	 "RPC: Failed (unspecified error)"} -}; -#endif - -/* - * This interface for use by clntrpc - */ -char *clnt_sperrno(stat) -enum clnt_stat stat; -{ -#if 0 -	int i; - -	for (i = 0; i < sizeof(rpc_errlist) / sizeof(struct rpc_errtab); i++) { -		if (rpc_errlist[i].status == stat) { -			return (rpc_errlist[i].message); -		} -	} -#endif -	return ("RPC: (unknown error code)"); -} - -void clnt_perrno(num) -enum clnt_stat num; -{ -	(void) fprintf(stderr, "%s", clnt_sperrno(num)); -} - - -char *clnt_spcreateerror __P ((__const char *s)) -{ -#if 0 -	extern int sys_nerr; -	extern char *sys_errlist[]; -	char *str = _buf(); - -	if (str == 0) -		return (0); -	(void) sprintf(str, "%s: ", s); -	(void) strcat(str, clnt_sperrno(rpc_createerr.cf_stat)); -	switch (rpc_createerr.cf_stat) { -	case RPC_PMAPFAILURE: -		(void) strcat(str, " - "); -		(void) strcat(str, clnt_sperrno(rpc_createerr.cf_error.re_status)); -		break; - -	case RPC_SYSTEMERROR: -		(void) strcat(str, " - "); -		if (rpc_createerr.cf_error.re_errno > 0 -			&& rpc_createerr.cf_error.re_errno < sys_nerr) -			(void) strcat(str, -						  sys_errlist[rpc_createerr.cf_error.re_errno]); -		else -			(void) sprintf(&str[strlen(str)], "Error %d", -						   rpc_createerr.cf_error.re_errno); -		break; -	} -	(void) strcat(str, "\n"); -	return (str); -#endif -	return(0); -} - -extern void clnt_pcreateerror __P ((__const char *s)) -{ -	(void) fprintf(stderr, "%s", clnt_spcreateerror(s)); -} - -struct auth_errtab { -	enum auth_stat status; -	char *message; -}; - -#if 0 -static struct auth_errtab auth_errlist[] = { -	{AUTH_OK, -	 "Authentication OK"}, -	{AUTH_BADCRED, -	 "Invalid client credential"}, -	{AUTH_REJECTEDCRED, -	 "Server rejected credential"}, -	{AUTH_BADVERF, -	 "Invalid client verifier"}, -	{AUTH_REJECTEDVERF, -	 "Server rejected verifier"}, -	{AUTH_TOOWEAK, -	 "Client credential too weak"}, -	{AUTH_INVALIDRESP, -	 "Invalid server verifier"}, -	{AUTH_FAILED, -	 "Failed (unspecified error)"}, -}; - -static char *auth_errmsg(stat) -enum auth_stat stat; -{ -	int i; - -	for (i = 0; i < sizeof(auth_errlist) / sizeof(struct auth_errtab); i++) { -		if (auth_errlist[i].status == stat) { -			return (auth_errlist[i].message); -		} -	} -	return (NULL); -} -#endif	 diff --git a/mdk-stage1/dietlibc/librpc/clnt_raw.c b/mdk-stage1/dietlibc/librpc/clnt_raw.c deleted file mode 100644 index 52ab64421..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_raw.c +++ /dev/null @@ -1,229 +0,0 @@ -/* @(#)clnt_raw.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * clnt_raw.c - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * Memory based rpc for simple testing and timing. - * Interface to create an rpc client and server in the same process. - * This lets us similate rpc and get round trip overhead, without - * any interference from the kernal. - */ - -#include <rpc/rpc.h> - -#define MCALL_MSG_SIZE 24 - -/* - * This is the "network" we will be moving stuff over. - */ -static struct clntraw_private { -	CLIENT client_object; -	XDR xdr_stream; -	char _raw_buf[UDPMSGSIZE]; -	char mashl_callmsg[MCALL_MSG_SIZE]; -	unsigned int mcnt; -} *clntraw_private; - -static enum clnt_stat clntraw_call(); -static void clntraw_abort(); -static void clntraw_geterr(); -static bool_t clntraw_freeres(); -static bool_t clntraw_control(); -static void clntraw_destroy(); - -static struct clnt_ops client_ops = { -	clntraw_call, -	clntraw_abort, -	clntraw_geterr, -	clntraw_freeres, -	clntraw_destroy, -	clntraw_control -}; - -/* - * Create a client handle for memory based rpc. - */ -CLIENT *clntraw_create(prog, vers) -unsigned long prog; -unsigned long vers; -{ -	register struct clntraw_private *clp = clntraw_private; -	struct rpc_msg call_msg; -	XDR *xdrs = &clp->xdr_stream; -	CLIENT *client = &clp->client_object; - -	if (clp == 0) { -		clp = (struct clntraw_private *) calloc(1, sizeof(*clp)); -		if (clp == 0) -			return (0); -		clntraw_private = clp; -	} -	/* -	 * pre-serialize the staic part of the call msg and stash it away -	 */ -	call_msg.rm_direction = CALL; -	call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; -	call_msg.rm_call.cb_prog = prog; -	call_msg.rm_call.cb_vers = vers; -	xdrmem_create(xdrs, clp->mashl_callmsg, MCALL_MSG_SIZE, XDR_ENCODE); -	if (!xdr_callhdr(xdrs, &call_msg)) { -		perror("clnt_raw.c - Fatal header serialization error."); -	} -	clp->mcnt = XDR_GETPOS(xdrs); -	XDR_DESTROY(xdrs); - -	/* -	 * Set xdrmem for client/server shared buffer -	 */ -	xdrmem_create(xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE); - -	/* -	 * create client handle -	 */ -	client->cl_ops = &client_ops; -	client->cl_auth = authnone_create(); -	return (client); -} - -static enum clnt_stat -clntraw_call(h, proc, xargs, argsp, xresults, resultsp, timeout) -CLIENT *h; -unsigned long proc; -xdrproc_t xargs; -char* argsp; -xdrproc_t xresults; -char* resultsp; -struct timeval timeout; -{ -	register struct clntraw_private *clp = clntraw_private; -	register XDR *xdrs = &clp->xdr_stream; -	struct rpc_msg msg; -	enum clnt_stat status; -	struct rpc_err error; - -	if (clp == 0) -		return (RPC_FAILED); -  call_again: -	/* -	 * send request -	 */ -	xdrs->x_op = XDR_ENCODE; -	XDR_SETPOS(xdrs, 0); -	((struct rpc_msg *) clp->mashl_callmsg)->rm_xid++; -	if ((!XDR_PUTBYTES(xdrs, clp->mashl_callmsg, clp->mcnt)) || -		(!XDR_PUTLONG(xdrs, (long *) &proc)) || -		(!AUTH_MARSHALL(h->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp))) { -		return (RPC_CANTENCODEARGS); -	} -	(void) XDR_GETPOS(xdrs);	/* called just to cause overhead */ - -	/* -	 * We have to call server input routine here because this is -	 * all going on in one process. Yuk. -	 */ -	svc_getreq(1); - -	/* -	 * get results -	 */ -	xdrs->x_op = XDR_DECODE; -	XDR_SETPOS(xdrs, 0); -	msg.acpted_rply.ar_verf = _null_auth; -	msg.acpted_rply.ar_results.where = resultsp; -	msg.acpted_rply.ar_results.proc = xresults; -	if (!xdr_replymsg(xdrs, &msg)) -		return (RPC_CANTDECODERES); -	_seterr_reply(&msg, &error); -	status = error.re_status; - -	if (status == RPC_SUCCESS) { -		if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) { -			status = RPC_AUTHERROR; -		} -	} /* end successful completion */ -	else { -		if (AUTH_REFRESH(h->cl_auth)) -			goto call_again; -	}							/* end of unsuccessful completion */ - -	if (status == RPC_SUCCESS) { -		if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) { -			status = RPC_AUTHERROR; -		} -		if (msg.acpted_rply.ar_verf.oa_base != NULL) { -			xdrs->x_op = XDR_FREE; -			(void) xdr_opaque_auth(xdrs, &(msg.acpted_rply.ar_verf)); -		} -	} - -	return (status); -} - -static void clntraw_geterr() -{ -} - - -static bool_t clntraw_freeres(cl, xdr_res, res_ptr) -CLIENT *cl; -xdrproc_t xdr_res; -char* res_ptr; -{ -	register struct clntraw_private *clp = clntraw_private; -	register XDR *xdrs = &clp->xdr_stream; -	bool_t rval; - -	if (clp == 0) { -		rval = (bool_t) RPC_FAILED; -		return (rval); -	} -	xdrs->x_op = XDR_FREE; -	return ((*xdr_res) (xdrs, res_ptr)); -} - -static void clntraw_abort() -{ -} - -static bool_t clntraw_control() -{ -	return (FALSE); -} - -static void clntraw_destroy() -{ -} - diff --git a/mdk-stage1/dietlibc/librpc/clnt_simple.c b/mdk-stage1/dietlibc/librpc/clnt_simple.c deleted file mode 100644 index e1f4c5f6c..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_simple.c +++ /dev/null @@ -1,116 +0,0 @@ -/* @(#)clnt_simple.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)clnt_simple.c 1.35 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/*  - * clnt_simple.c - * Simplified front end to rpc. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <unistd.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <netdb.h> -#include <string.h> - -static struct callrpc_private { -	CLIENT *client; -	int socket; -	int oldprognum, oldversnum, valid; -	char *oldhost; -} *callrpc_private; - -int callrpc (const char *host, const unsigned long prognum, -			 const unsigned long versnum, const unsigned long procnum, -			 const xdrproc_t inproc, const char *in, -			 const xdrproc_t outproc, char *out) -{ -	register struct callrpc_private *crp = callrpc_private; -	struct sockaddr_in server_addr; -	enum clnt_stat clnt_stat; -	struct hostent *hp; -	struct timeval timeout, tottimeout; - -	if (crp == 0) { -		crp = (struct callrpc_private *) calloc(1, sizeof(*crp)); -		if (crp == 0) -			return (0); -		callrpc_private = crp; -	} -	if (crp->oldhost == NULL) { -		crp->oldhost = malloc(256); -		crp->oldhost[0] = 0; -		crp->socket = RPC_ANYSOCK; -	} -	if (crp->valid && crp->oldprognum == prognum -		&& crp->oldversnum == versnum && strcmp(crp->oldhost, host) == 0) { -		/* reuse old client */ -	} else { -		crp->valid = 0; -		(void) close(crp->socket); -		crp->socket = RPC_ANYSOCK; -		if (crp->client) { -			clnt_destroy(crp->client); -			crp->client = NULL; -		} -		if ((hp = gethostbyname(host)) == NULL) -			return ((int) RPC_UNKNOWNHOST); -		timeout.tv_usec = 0; -		timeout.tv_sec = 5; -		memmove((char *) &server_addr.sin_addr, hp->h_addr, hp->h_length); -		server_addr.sin_family = AF_INET; -		server_addr.sin_port = 0; -		if ((crp->client = clntudp_create(&server_addr, (unsigned long) prognum, -										  (unsigned long) versnum, timeout, -										  &crp->socket)) == NULL) -			return ((int) rpc_createerr.cf_stat); -		crp->valid = 1; -		crp->oldprognum = prognum; -		crp->oldversnum = versnum; -		(void) strcpy(crp->oldhost, host); -	} -	tottimeout.tv_sec = 25; -	tottimeout.tv_usec = 0; -	clnt_stat = clnt_call(crp->client, procnum, inproc, (char*)in, -						  outproc, out, tottimeout); -	/*  -	 * if call failed, empty cache -	 */ -	if (clnt_stat != RPC_SUCCESS) -		crp->valid = 0; -	return ((int) clnt_stat); -} diff --git a/mdk-stage1/dietlibc/librpc/clnt_tcp.c b/mdk-stage1/dietlibc/librpc/clnt_tcp.c deleted file mode 100644 index f2ebed677..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_tcp.c +++ /dev/null @@ -1,464 +0,0 @@ -/* @(#)clnt_tcp.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro"; -#endif - -/* - * clnt_tcp.c, Implements a TCP/IP based, client side RPC. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * TCP based RPC supports 'batched calls'. - * A sequence of calls may be batched-up in a send buffer.  The rpc call - * return immediately to the client even though the call was not necessarily - * sent.  The batching occurs if the results' xdr routine is NULL (0) AND - * the rpc timeout value is zero (see clnt.h, rpc). - * - * Clients should NOT casually batch calls that in fact return results; that is, - * the server side should be aware that a call is batched and not produce any - * return message.  Batched calls that produce many result messages can - * deadlock (netlock) the client and the server.... - * - * Now go hang yourself. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <netdb.h> -#include <errno.h> -#include <rpc/pmap_clnt.h> -#include <unistd.h> -#include "dietfeatures.h" - -#define MCALL_MSG_SIZE 24 - -static int readtcp(); -static int writetcp(); - -static enum clnt_stat clnttcp_call(); -static void clnttcp_abort(); -static void clnttcp_geterr(); -static bool_t clnttcp_freeres(); -static bool_t clnttcp_control(); -static void clnttcp_destroy(); - -static struct clnt_ops tcp_ops = { -	clnttcp_call, -	clnttcp_abort, -	clnttcp_geterr, -	clnttcp_freeres, -	clnttcp_destroy, -	clnttcp_control -}; - -struct ct_data { -	int ct_sock; -	bool_t ct_closeit; -	struct timeval ct_wait; -	bool_t ct_waitset;			/* wait set by clnt_control? */ -	struct sockaddr_in ct_addr; -	struct rpc_err ct_error; -	char ct_mcall[MCALL_MSG_SIZE];	/* marshalled callmsg */ -	unsigned int ct_mpos;				/* pos after marshal */ -	XDR ct_xdrs; -}; - -/* - * Create a client handle for a tcp/ip connection. - * If *sockp<0, *sockp is set to a newly created TCP socket and it is - * connected to raddr.  If *sockp non-negative then - * raddr is ignored.  The rpc/tcp package does buffering - * similar to stdio, so the client must pick send and receive buffer sizes,]; - * 0 => use the default. - * If raddr->sin_port is 0, then a binder on the remote machine is - * consulted for the right port number. - * NB: *sockp is copied into a private area. - * NB: It is the clients responsibility to close *sockp. - * NB: The rpch->cl_auth is set null authentication.  Caller may wish to set this - * something more useful. - */ -CLIENT *clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) -struct sockaddr_in *raddr; -unsigned long prog; -unsigned long vers; -register int *sockp; -unsigned int sendsz; -unsigned int recvsz; -{ -	CLIENT *h; -	register struct ct_data *ct; -	struct timeval now; -	struct rpc_msg call_msg; - -	h = (CLIENT *) mem_alloc(sizeof(*h)); -	if (h == NULL) { -		(void) fprintf(stderr, "clnttcp_create: out of memory\n"); -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = errno; -		goto fooy; -	} -	ct = (struct ct_data *) mem_alloc(sizeof(*ct)); -	if (ct == NULL) { -		(void) fprintf(stderr, "clnttcp_create: out of memory\n"); -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = errno; -		goto fooy; -	} - -	/* -	 * If no port number given ask the pmap for one -	 */ -	if (raddr->sin_port == 0) { -		unsigned short port; - -		if ((port = pmap_getport(raddr, prog, vers, IPPROTO_TCP)) == 0) { -			mem_free((char*) ct, sizeof(struct ct_data)); - -			mem_free((char*) h, sizeof(CLIENT)); -			return ((CLIENT *) NULL); -		} -		raddr->sin_port = htons(port); -	} - -	/* -	 * If no socket given, open one -	 */ -	if (*sockp < 0) { -		*sockp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); -		(void) bindresvport(*sockp, (struct sockaddr_in *) 0); -		if ((*sockp < 0) -			|| (connect(*sockp, (struct sockaddr *) raddr, -						sizeof(*raddr)) < 0)) { -			rpc_createerr.cf_stat = RPC_SYSTEMERROR; -			rpc_createerr.cf_error.re_errno = errno; -			if (*sockp >= 0) -			(void) close(*sockp); -			goto fooy; -		} -		ct->ct_closeit = TRUE; -	} else { -		ct->ct_closeit = FALSE; -	} - -	/* -	 * Set up private data struct -	 */ -	ct->ct_sock = *sockp; -	ct->ct_wait.tv_usec = 0; -	ct->ct_waitset = FALSE; -	ct->ct_addr = *raddr; - -	/* -	 * Initialize call message -	 */ -	(void) gettimeofday(&now, (struct timezone *) 0); -	call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec; -	call_msg.rm_direction = CALL; -	call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; -	call_msg.rm_call.cb_prog = prog; -	call_msg.rm_call.cb_vers = vers; - -	/* -	 * pre-serialize the staic part of the call msg and stash it away -	 */ -	xdrmem_create(&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, -				  XDR_ENCODE); -	if (!xdr_callhdr(&(ct->ct_xdrs), &call_msg)) { -		if (ct->ct_closeit) { -			(void) close(*sockp); -		} -		goto fooy; -	} -	ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs)); -	XDR_DESTROY(&(ct->ct_xdrs)); - -	/* -	 * Create a client handle which uses xdrrec for serialization -	 * and authnone for authentication. -	 */ -	xdrrec_create(&(ct->ct_xdrs), sendsz, recvsz, -				  (char*) ct, readtcp, writetcp); -	h->cl_ops = &tcp_ops; -	h->cl_private = (char*) ct; -	h->cl_auth = authnone_create(); -	return (h); - -  fooy: -	/* -	 * Something goofed, free stuff and barf -	 */ -	mem_free((char*) ct, sizeof(struct ct_data)); - -	mem_free((char*) h, sizeof(CLIENT)); -	return ((CLIENT *) NULL); -} - -static enum clnt_stat -clnttcp_call(h, proc, xdr_args, args_ptr, xdr_results, results_ptr, -			 timeout) -register CLIENT *h; -unsigned long proc; -xdrproc_t xdr_args; -char* args_ptr; -xdrproc_t xdr_results; -char* results_ptr; -struct timeval timeout; -{ -	register struct ct_data *ct = (struct ct_data *) h->cl_private; -	register XDR *xdrs = &(ct->ct_xdrs); -	struct rpc_msg reply_msg; -	unsigned long x_id; -	uint32_t *msg_x_id = (uint32_t *) (ct->ct_mcall);	/* yuk */ -	register bool_t shipnow; -	int refreshes = 2; - -	if (!ct->ct_waitset) { -		ct->ct_wait = timeout; -	} - -	shipnow = -		(xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0 -		 && timeout.tv_usec == 0) ? FALSE : TRUE; - -  call_again: -	xdrs->x_op = XDR_ENCODE; -	ct->ct_error.re_status = RPC_SUCCESS; -	x_id = ntohl(--(*msg_x_id)); -	if ((!XDR_PUTBYTES(xdrs, ct->ct_mcall, ct->ct_mpos)) || -		(!XDR_PUTLONG(xdrs, (long *) &proc)) || -		(!AUTH_MARSHALL(h->cl_auth, xdrs)) || -		(!(*xdr_args) (xdrs, args_ptr))) { -		if (ct->ct_error.re_status == RPC_SUCCESS) -			ct->ct_error.re_status = RPC_CANTENCODEARGS; -		(void) xdrrec_endofrecord(xdrs, TRUE); -		return (ct->ct_error.re_status); -	} -	if (!xdrrec_endofrecord(xdrs, shipnow)) -		return (ct->ct_error.re_status = RPC_CANTSEND); -	if (!shipnow) -		return (RPC_SUCCESS); -	/* -	 * Hack to provide rpc-based message passing -	 */ -	if (timeout.tv_sec == 0 && timeout.tv_usec == 0) { -		return (ct->ct_error.re_status = RPC_TIMEDOUT); -	} - - -	/* -	 * Keep receiving until we get a valid transaction id -	 */ -	xdrs->x_op = XDR_DECODE; -	while (TRUE) { -		reply_msg.acpted_rply.ar_verf = _null_auth; -		reply_msg.acpted_rply.ar_results.where = NULL; -		reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; -		if (!xdrrec_skiprecord(xdrs)) -			return (ct->ct_error.re_status); -		/* now decode and validate the response header */ -		if (!xdr_replymsg(xdrs, &reply_msg)) { -			if (ct->ct_error.re_status == RPC_SUCCESS) -				continue; -			return (ct->ct_error.re_status); -		} -		if ((uint32_t)reply_msg.rm_xid == (uint32_t)x_id) -			break; -	} - -	/* -	 * process header -	 */ -	_seterr_reply(&reply_msg, &(ct->ct_error)); -	if (ct->ct_error.re_status == RPC_SUCCESS) { -		if (!AUTH_VALIDATE(h->cl_auth, &reply_msg.acpted_rply.ar_verf)) { -			ct->ct_error.re_status = RPC_AUTHERROR; -			ct->ct_error.re_why = AUTH_INVALIDRESP; -		} else if (!(*xdr_results) (xdrs, results_ptr)) { -			if (ct->ct_error.re_status == RPC_SUCCESS) -				ct->ct_error.re_status = RPC_CANTDECODERES; -		} -		/* free verifier ... */ -		if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { -			xdrs->x_op = XDR_FREE; -			(void) xdr_opaque_auth(xdrs, &(reply_msg.acpted_rply.ar_verf)); -		} -	} /* end successful completion */ -	else { -		/* maybe our credentials need to be refreshed ... */ -		if (refreshes-- && AUTH_REFRESH(h->cl_auth)) -			goto call_again; -	}							/* end of unsuccessful completion */ -	return (ct->ct_error.re_status); -} - -static void clnttcp_geterr(h, errp) -CLIENT *h; -struct rpc_err *errp; -{ -	register struct ct_data *ct = (struct ct_data *) h->cl_private; - -	*errp = ct->ct_error; -} - -static bool_t clnttcp_freeres(cl, xdr_res, res_ptr) -CLIENT *cl; -xdrproc_t xdr_res; -char* res_ptr; -{ -	register struct ct_data *ct = (struct ct_data *) cl->cl_private; -	register XDR *xdrs = &(ct->ct_xdrs); - -	xdrs->x_op = XDR_FREE; -	return ((*xdr_res) (xdrs, res_ptr)); -} - -static void clnttcp_abort() -{ -} - -static bool_t clnttcp_control(cl, request, info) -CLIENT *cl; -int request; -char *info; -{ -	register struct ct_data *ct = (struct ct_data *) cl->cl_private; - -	switch (request) { -	case CLSET_TIMEOUT: -		ct->ct_wait = *(struct timeval *) info; -		ct->ct_waitset = TRUE; -		break; -	case CLGET_TIMEOUT: -		*(struct timeval *) info = ct->ct_wait; -		break; -	case CLGET_SERVER_ADDR: -		*(struct sockaddr_in *) info = ct->ct_addr; -		break; -	default: -		return (FALSE); -	} -	return (TRUE); -} - - -static void clnttcp_destroy(h) -CLIENT *h; -{ -	register struct ct_data *ct = (struct ct_data *) h->cl_private; - -	if (ct->ct_closeit) { -		(void) close(ct->ct_sock); -	} -	XDR_DESTROY(&(ct->ct_xdrs)); -	mem_free((char*) ct, sizeof(struct ct_data)); - -	mem_free((char*) h, sizeof(CLIENT)); -} - -/* - * Interface between xdr serializer and tcp connection. - * Behaves like the system calls, read & write, but keeps some error state - * around for the rpc level. - */ -static int readtcp(ct, buf, len) -register struct ct_data *ct; -char* buf; -register int len; -{ -#ifdef FD_SETSIZE -	fd_set mask; -	fd_set readfds; - -	if (len == 0) -		return (0); -	FD_ZERO(&mask); -	FD_SET(ct->ct_sock, &mask); -#else -	register int mask = 1 << (ct->ct_sock); -	int readfds; - -	if (len == 0) -		return (0); - -#endif							/* def FD_SETSIZE */ -	while (TRUE) { -		readfds = mask; -		switch (select -				(_rpc_dtablesize(), &readfds, 0, 0, -				 &(ct->ct_wait))) { -		case 0: -			ct->ct_error.re_status = RPC_TIMEDOUT; -			return (-1); - -		case -1: -			if (errno == EINTR) -				continue; -			ct->ct_error.re_status = RPC_CANTRECV; -			ct->ct_error.re_errno = errno; -			return (-1); -		} -		break; -	} -	switch (len = read(ct->ct_sock, buf, len)) { - -	case 0: -		/* premature eof */ -		ct->ct_error.re_errno = ECONNRESET; -		ct->ct_error.re_status = RPC_CANTRECV; -		len = -1;				/* it's really an error */ -		break; - -	case -1: -		ct->ct_error.re_errno = errno; -		ct->ct_error.re_status = RPC_CANTRECV; -		break; -	} -	return (len); -} - -static int writetcp(ct, buf, len) -struct ct_data *ct; -char* buf; -int len; -{ -	register int i, cnt; - -	for (cnt = len; cnt > 0; cnt -= i, buf += i) { -		if ((i = write(ct->ct_sock, buf, cnt)) == -1) { -			ct->ct_error.re_errno = errno; -			ct->ct_error.re_status = RPC_CANTSEND; -			return (-1); -		} -	} -	return (len); -} - diff --git a/mdk-stage1/dietlibc/librpc/clnt_udp.c b/mdk-stage1/dietlibc/librpc/clnt_udp.c deleted file mode 100644 index 962718269..000000000 --- a/mdk-stage1/dietlibc/librpc/clnt_udp.c +++ /dev/null @@ -1,438 +0,0 @@ -/* @(#)clnt_udp.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * clnt_udp.c, Implements a UDP/IP based, client side RPC. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <sys/ioctl.h> -#include <netdb.h> -#include <errno.h> -#include <rpc/pmap_clnt.h> -#include <unistd.h> -#include "dietfeatures.h" - -/* - * UDP bases client side rpc operations - */ -static enum clnt_stat clntudp_call(); -static void clntudp_abort(); -static void clntudp_geterr(); -static bool_t clntudp_freeres(); -static bool_t clntudp_control(); -static void clntudp_destroy(); - -static struct clnt_ops udp_ops = { -	clntudp_call, -	clntudp_abort, -	clntudp_geterr, -	clntudp_freeres, -	clntudp_destroy, -	clntudp_control -}; - - -/*  - * Private data kept per client handle - */ -struct cu_data { -	int cu_sock; -	bool_t cu_closeit; -	struct sockaddr_in cu_raddr; -	int cu_rlen; -	struct timeval cu_wait; -	struct timeval cu_total; -	struct rpc_err cu_error; -	XDR cu_outxdrs; -	unsigned int cu_xdrpos; -	unsigned int cu_sendsz; -	char *cu_outbuf; -	unsigned int cu_recvsz; -	char cu_inbuf[1]; -}; - -/* - * Create a UDP based client handle. - * If *sockp<0, *sockp is set to a newly created UPD socket. - * If raddr->sin_port is 0 a binder on the remote machine - * is consulted for the correct port number. - * NB: It is the clients responsibility to close *sockp. - * NB: The rpch->cl_auth is initialized to null authentication. - *     Caller may wish to set this something more useful. - * - * wait is the amount of time used between retransmitting a call if - * no response has been heard;  retransmition occurs until the actual - * rpc call times out. - * - * sendsz and recvsz are the maximum allowable packet sizes that can be - * sent and received. - */ -CLIENT *clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, -						  recvsz) -struct sockaddr_in *raddr; -unsigned long program; -unsigned long version; -struct timeval wait; -register int *sockp; -unsigned int sendsz; -unsigned int recvsz; -{ -	CLIENT *cl; -	register struct cu_data *cu; -	struct timeval now; -	struct rpc_msg call_msg; - -	cl = (CLIENT *) mem_alloc(sizeof(CLIENT)); -	if (cl == NULL) { -		(void) fprintf(stderr, "clntudp_create: out of memory\n"); -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = errno; -		goto fooy; -	} -	sendsz = ((sendsz + 3) / 4) * 4; -	recvsz = ((recvsz + 3) / 4) * 4; -	cu = (struct cu_data *) mem_alloc(sizeof(*cu) + sendsz + recvsz); -	if (cu == NULL) { -		(void) fprintf(stderr, "clntudp_create: out of memory\n"); -		rpc_createerr.cf_stat = RPC_SYSTEMERROR; -		rpc_createerr.cf_error.re_errno = errno; -		goto fooy; -	} -	cu->cu_outbuf = &cu->cu_inbuf[recvsz]; - -	(void) gettimeofday(&now, (struct timezone *) 0); -	if (raddr->sin_port == 0) { -		unsigned short port; - -		if ((port = -			 pmap_getport(raddr, program, version, IPPROTO_UDP)) == 0) { -			goto fooy; -		} -		raddr->sin_port = htons(port); -	} -	cl->cl_ops = &udp_ops; -	cl->cl_private = (char*) cu; -	cu->cu_raddr = *raddr; -	cu->cu_rlen = sizeof(cu->cu_raddr); -	cu->cu_wait = wait; -	cu->cu_total.tv_sec = -1; -	cu->cu_total.tv_usec = -1; -	cu->cu_sendsz = sendsz; -	cu->cu_recvsz = recvsz; -	call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec; -	call_msg.rm_direction = CALL; -	call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; -	call_msg.rm_call.cb_prog = program; -	call_msg.rm_call.cb_vers = version; -	xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); -	if (!xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) { -		goto fooy; -	} -	cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs)); -	if (*sockp < 0) { -		int dontblock = 1; - -		*sockp = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); -		if (*sockp < 0) { -			rpc_createerr.cf_stat = RPC_SYSTEMERROR; -			rpc_createerr.cf_error.re_errno = errno; -			goto fooy; -		} -		/* attempt to bind to prov port */ -		(void) bindresvport(*sockp, (struct sockaddr_in *) 0); -		/* the sockets rpc controls are non-blocking */ -		(void) ioctl(*sockp, FIONBIO, (char *) &dontblock); -		cu->cu_closeit = TRUE; -	} else { -		cu->cu_closeit = FALSE; -	} -	cu->cu_sock = *sockp; -	cl->cl_auth = authnone_create(); -	return (cl); -  fooy: -	if (cu) -		mem_free((char*) cu, sizeof(*cu) + sendsz + recvsz); -	if (cl) -		mem_free((char*) cl, sizeof(CLIENT)); -	return ((CLIENT *) NULL); -} - -CLIENT *clntudp_create(raddr, program, version, wait, sockp) -struct sockaddr_in *raddr; -unsigned long program; -unsigned long version; -struct timeval wait; -register int *sockp; -{ - -	return (clntudp_bufcreate(raddr, program, version, wait, sockp, -							  UDPMSGSIZE, UDPMSGSIZE)); -} - -static enum clnt_stat -clntudp_call(cl, proc, xargs, argsp, xresults, resultsp, utimeout) -register CLIENT *cl;			/* client handle */ -unsigned long proc;					/* procedure number */ -xdrproc_t xargs;				/* xdr routine for args */ -char* argsp;					/* pointer to args */ -xdrproc_t xresults;				/* xdr routine for results */ -char* resultsp;				/* pointer to results */ -struct timeval utimeout;		/* seconds to wait before giving up */ -{ -	register struct cu_data *cu = (struct cu_data *) cl->cl_private; -	register XDR *xdrs; -	register int outlen; -	register int inlen; -	int fromlen; - -#ifdef FD_SETSIZE -	fd_set readfds; -	fd_set mask; -#else -	int readfds; -	register int mask; -#endif							/* def FD_SETSIZE */ -	struct sockaddr_in from; -	struct rpc_msg reply_msg; -	XDR reply_xdrs; -	struct timeval time_waited; -	bool_t ok; -	int nrefreshes = 2;			/* number of times to refresh cred */ -	struct timeval timeout; - -	if (cu->cu_total.tv_usec == -1) { -		timeout = utimeout;		/* use supplied timeout */ -	} else { -		timeout = cu->cu_total;	/* use default timeout */ -	} - -	time_waited.tv_sec = 0; -	time_waited.tv_usec = 0; -  call_again: -	xdrs = &(cu->cu_outxdrs); -	xdrs->x_op = XDR_ENCODE; -	XDR_SETPOS(xdrs, cu->cu_xdrpos); -	/* -	 * the transaction is the first thing in the out buffer -	 */ -	(*(uint32_t *) (cu->cu_outbuf))++; -	if ((!XDR_PUTLONG(xdrs, (long *) &proc)) || -		(!AUTH_MARSHALL(cl->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp))) -		return (cu->cu_error.re_status = RPC_CANTENCODEARGS); -	outlen = (int) XDR_GETPOS(xdrs); - -  send_again: -	if (sendto(cu->cu_sock, cu->cu_outbuf, outlen, 0, -			   (struct sockaddr *) &(cu->cu_raddr), cu->cu_rlen) -		!= outlen) { -		cu->cu_error.re_errno = errno; -		return (cu->cu_error.re_status = RPC_CANTSEND); -	} - -	/* -	 * Hack to provide rpc-based message passing -	 */ -	if (timeout.tv_sec == 0 && timeout.tv_usec == 0) { -		return (cu->cu_error.re_status = RPC_TIMEDOUT); -	} -	/* -	 * sub-optimal code appears here because we have -	 * some clock time to spare while the packets are in flight. -	 * (We assume that this is actually only executed once.) -	 */ -	reply_msg.acpted_rply.ar_verf = _null_auth; -	reply_msg.acpted_rply.ar_results.where = resultsp; -	reply_msg.acpted_rply.ar_results.proc = xresults; -#ifdef FD_SETSIZE -	FD_ZERO(&mask); -	FD_SET(cu->cu_sock, &mask); -#else -	mask = 1 << cu->cu_sock; -#endif							/* def FD_SETSIZE */ -	for (;;) { -		readfds = mask; -		switch (select(_rpc_dtablesize(), &readfds, 0, 0, &(cu->cu_wait))) { - -		case 0: -			time_waited.tv_sec += cu->cu_wait.tv_sec; -			time_waited.tv_usec += cu->cu_wait.tv_usec; -			while (time_waited.tv_usec >= 1000000) { -				time_waited.tv_sec++; -				time_waited.tv_usec -= 1000000; -			} -			if ((time_waited.tv_sec < timeout.tv_sec) || -				((time_waited.tv_sec == timeout.tv_sec) && -				 (time_waited.tv_usec < timeout.tv_usec))) -				goto send_again; -			return (cu->cu_error.re_status = RPC_TIMEDOUT); - -			/* -			 * buggy in other cases because time_waited is not being -			 * updated. -			 */ -		case -1: -			if (errno == EINTR) -				continue; -			cu->cu_error.re_errno = errno; -			return (cu->cu_error.re_status = RPC_CANTRECV); -		} -		do { -			fromlen = sizeof(struct sockaddr); - -			inlen = recvfrom(cu->cu_sock, cu->cu_inbuf, -							 (int) cu->cu_recvsz, 0, -							 (struct sockaddr *) &from, &fromlen); -		} while (inlen < 0 && errno == EINTR); -		if (inlen < 0) { -			if (errno == EWOULDBLOCK) -				continue; -			cu->cu_error.re_errno = errno; -			return (cu->cu_error.re_status = RPC_CANTRECV); -		} -		if (inlen < 4) -			continue; -		/* see if reply transaction id matches sent id */ -		if (*((uint32_t *) (cu->cu_inbuf)) != *((uint32_t *) (cu->cu_outbuf))) -			continue; -		/* we now assume we have the proper reply */ -		break; -	} - -	/* -	 * now decode and validate the response -	 */ -	xdrmem_create(&reply_xdrs, cu->cu_inbuf, (unsigned int) inlen, XDR_DECODE); -	ok = xdr_replymsg(&reply_xdrs, &reply_msg); -	/* XDR_DESTROY(&reply_xdrs);  save a few cycles on noop destroy */ -	if (ok) { -		_seterr_reply(&reply_msg, &(cu->cu_error)); -		if (cu->cu_error.re_status == RPC_SUCCESS) { -			if (!AUTH_VALIDATE(cl->cl_auth, -							   &reply_msg.acpted_rply.ar_verf)) { -				cu->cu_error.re_status = RPC_AUTHERROR; -				cu->cu_error.re_why = AUTH_INVALIDRESP; -			} -			if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { -				xdrs->x_op = XDR_FREE; -				(void) xdr_opaque_auth(xdrs, -									   &(reply_msg.acpted_rply.ar_verf)); -			} -		} /* end successful completion */ -		else { -			/* maybe our credentials need to be refreshed ... */ -			if (nrefreshes > 0 && AUTH_REFRESH(cl->cl_auth)) { -				nrefreshes--; -				goto call_again; -			} -		}						/* end of unsuccessful completion */ -	} /* end of valid reply message */ -	else { -		cu->cu_error.re_status = RPC_CANTDECODERES; -	} -	return (cu->cu_error.re_status); -} - -static void clntudp_geterr(cl, errp) -CLIENT *cl; -struct rpc_err *errp; -{ -	register struct cu_data *cu = (struct cu_data *) cl->cl_private; - -	*errp = cu->cu_error; -} - - -static bool_t clntudp_freeres(cl, xdr_res, res_ptr) -CLIENT *cl; -xdrproc_t xdr_res; -char* res_ptr; -{ -	register struct cu_data *cu = (struct cu_data *) cl->cl_private; -	register XDR *xdrs = &(cu->cu_outxdrs); - -	xdrs->x_op = XDR_FREE; -	return ((*xdr_res) (xdrs, res_ptr)); -} - -static void clntudp_abort( /*h */ ) -	/*CLIENT *h; */ -{ -} - -static bool_t clntudp_control(cl, request, info) -CLIENT *cl; -int request; -char *info; -{ -	register struct cu_data *cu = (struct cu_data *) cl->cl_private; - -	switch (request) { -	case CLSET_TIMEOUT: -		cu->cu_total = *(struct timeval *) info; -		break; -	case CLGET_TIMEOUT: -		*(struct timeval *) info = cu->cu_total; -		break; -	case CLSET_RETRY_TIMEOUT: -		cu->cu_wait = *(struct timeval *) info; -		break; -	case CLGET_RETRY_TIMEOUT: -		*(struct timeval *) info = cu->cu_wait; -		break; -	case CLGET_SERVER_ADDR: -		*(struct sockaddr_in *) info = cu->cu_raddr; -		break; -	default: -		return (FALSE); -	} -	return (TRUE); -} - -static void clntudp_destroy(cl) -CLIENT *cl; -{ -	register struct cu_data *cu = (struct cu_data *) cl->cl_private; - -	if (cu->cu_closeit) { -		(void) close(cu->cu_sock); -	} -	XDR_DESTROY(&(cu->cu_outxdrs)); -	mem_free((char*) cu, (sizeof(*cu) + cu->cu_sendsz + cu->cu_recvsz)); -	mem_free((char*) cl, sizeof(CLIENT)); -} - diff --git a/mdk-stage1/dietlibc/librpc/get_myaddress.c b/mdk-stage1/dietlibc/librpc/get_myaddress.c deleted file mode 100644 index 1ce2c2b32..000000000 --- a/mdk-stage1/dietlibc/librpc/get_myaddress.c +++ /dev/null @@ -1,69 +0,0 @@ -/* @(#)get_myaddress.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)get_myaddress.c 1.4 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * get_myaddress.c - * - * Get client's IP address via ioctl.  This avoids using the yellowpages. - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/types.h> -#include <rpc/pmap_prot.h> -#include <sys/socket.h> -#include <stdio.h> -//#include <net/if.h> -#include <sys/ioctl.h> -#include <arpa/inet.h> -#include <netinet/in.h> - -/* DO use gethostbyname because it's portable */ -#include <unistd.h> -#include <netdb.h> -#include <string.h> -void get_myaddress(struct sockaddr_in* addr) -{ -	char localhost[256 + 1]; -	struct hostent *hp; - -	gethostname(localhost, 256); -	if ((hp = gethostbyname(localhost)) == NULL) { -		perror("get_myaddress: gethostbyname"); -		exit(1); -	} -	addr->sin_family = AF_INET; -	memmove((char *) &addr->sin_addr, (char *) hp->h_addr, hp->h_length); -	addr->sin_port = htons(PMAPPORT); -} diff --git a/mdk-stage1/dietlibc/librpc/getrpcent.c b/mdk-stage1/dietlibc/librpc/getrpcent.c deleted file mode 100644 index 71774a2eb..000000000 --- a/mdk-stage1/dietlibc/librpc/getrpcent.c +++ /dev/null @@ -1,273 +0,0 @@ -/* @(#)getrpcent.c	2.2 88/07/29 4.0 RPCSRC */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)getrpcent.c 1.9 87/08/11  Copyr 1984 Sun Micro"; -#endif - -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * Copyright (c) 1985 by Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <sys/types.h> -#include <rpc/rpc.h> -#include <netdb.h> -#include <sys/socket.h> -#include <string.h> -#include <arpa/inet.h> - -/* - * Internet version. - */ -struct rpcdata { -	FILE *rpcf; -	char *current; -	int currentlen; -	int stayopen; -#define	MAXALIASES	35 -	char *rpc_aliases[MAXALIASES]; -	struct rpcent rpc; -	char line[BUFSIZ + 1]; -	char *domain; -} *rpcdata; - -static struct rpcent *interpret(const char* val, size_t len); - -#ifndef __linux__ -static char *index(); -#else -char *index(); -#endif - -static char RPCDB[] = "/etc/rpc"; - -static struct rpcdata *_rpcdata() -{ -	register struct rpcdata *d = rpcdata; - -	if (d == 0) { -		d = (struct rpcdata *) calloc(1, sizeof(struct rpcdata)); - -		rpcdata = d; -	} -	return (d); -} - -struct rpcent *getrpcbynumber(number) -register int number; -{ -	register struct rpcdata *d = _rpcdata(); -	register struct rpcent *p; - -	if (d == 0) -		return (0); -	setrpcent(0); -	while ((p = getrpcent())) { -		if (p->r_number == number) -			break; -	} -	endrpcent(); -	return (p); -} - -struct rpcent * -#ifdef __linux__ -getrpcbyname(const char *name) -#else -getrpcbyname(name) -char *name; -#endif -{ -	struct rpcent *rpc; -	char **rp; - -	setrpcent(0); -	while ((rpc = getrpcent())) { -		if (strcmp(rpc->r_name, name) == 0) -			return (rpc); -		for (rp = rpc->r_aliases; *rp != NULL; rp++) { -			if (strcmp(*rp, name) == 0) -				return (rpc); -		} -	} -	endrpcent(); -	return (NULL); -} - -#ifdef __linux__ -void -#endif -setrpcent(f) -int f; -{ -	register struct rpcdata *d = _rpcdata(); - -	if (d == 0) -		return; -	if (d->rpcf == NULL) -		d->rpcf = fopen(RPCDB, "r"); -	else -		rewind(d->rpcf); -	if (d->current) -		free(d->current); -	d->current = NULL; -	d->stayopen |= f; -} - -#ifdef __linux__ -void -#endif -endrpcent() -{ -	register struct rpcdata *d = _rpcdata(); - -	if (d == 0) -		return; -	if (d->current && !d->stayopen) { -		free(d->current); -		d->current = NULL; -	} -	if (d->rpcf && !d->stayopen) { -		fclose(d->rpcf); -		d->rpcf = NULL; -	} -} - -struct rpcent *getrpcent() -{ -	register struct rpcdata *d = _rpcdata(); - -	if (d == 0) -		return (NULL); -	if (d->rpcf == NULL && (d->rpcf = fopen(RPCDB, "r")) == NULL) -		return (NULL); -	if (fgets(d->line, BUFSIZ, d->rpcf) == NULL) -		return (NULL); -	return interpret(d->line, strlen(d->line)); -} - -#ifdef __linux__ -static char *firstwhite(s) -char *s; -{ -	char *s1, *s2; - -	s1 = index(s, ' '); -	s2 = index(s, '\t'); -	if (s1) { -		if (s2) -			return (s1 < s2) ? s1 : s2; -		else -			return s1; -	} else -		return s2; -} -#endif - -static struct rpcent *interpret(const char* val, size_t len) -{ -	register struct rpcdata *d = _rpcdata(); -	char *p; -	register char *cp, **q; - -	if (d == 0) -		return 0; -	strncpy(d->line, val, (size_t)len); -	p = d->line; -	d->line[len] = '\n'; -	if (*p == '#') -		return (getrpcent()); -	cp = index(p, '#'); -	if (cp == NULL) { -		cp = index(p, '\n'); -		if (cp == NULL) -			return (getrpcent()); -	} -	*cp = '\0'; -#ifdef __linux__ -	if ((cp = firstwhite(p))) -		*cp++ = 0; -	else -		return (getrpcent()); -#else -	cp = index(p, ' '); -	if (cp == NULL) { -		cp = index(p, '\t'); -		if (cp == NULL) -			return (getrpcent()); -	} -	*cp++ = '\0'; -#endif -	/* THIS STUFF IS INTERNET SPECIFIC */ -	d->rpc.r_name = d->line; -	while (*cp == ' ' || *cp == '\t') -		cp++; -	d->rpc.r_number = atoi(cp); -	q = d->rpc.r_aliases = d->rpc_aliases; -#ifdef __linux__ -	if ((cp = firstwhite(cp))) -		*cp++ = '\0'; -#else -	cp = index(p, ' '); -	if (cp != NULL) -		*cp++ = '\0'; -	else { -		cp = index(p, '\t'); -		if (cp != NULL) -			*cp++ = '\0'; -	} -#endif -	while (cp && *cp) { -		if (*cp == ' ' || *cp == '\t') { -			cp++; -			continue; -		} -		if (q < &(d->rpc_aliases[MAXALIASES - 1])) -			*q++ = cp; -#ifdef __linux__ -		if ((cp = firstwhite(cp))) -			*cp++ = '\0'; -#else -		cp = index(p, ' '); -		if (cp != NULL) -			*cp++ = '\0'; -		else { -			cp = index(p, '\t'); -			if (cp != NULL) -				*cp++ = '\0'; -		} -#endif -	} -	*q = NULL; -	return (&d->rpc); -} diff --git a/mdk-stage1/dietlibc/librpc/getrpcport.c b/mdk-stage1/dietlibc/librpc/getrpcport.c deleted file mode 100644 index 7b6e50a7d..000000000 --- a/mdk-stage1/dietlibc/librpc/getrpcport.c +++ /dev/null @@ -1,57 +0,0 @@ -/* @(#)getrpcport.c	2.1 88/07/29 4.0 RPCSRC */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)getrpcport.c 1.3 87/08/11 SMI"; -#endif -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * Copyright (c) 1985 by Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <netdb.h> -#include <sys/socket.h> -#include <string.h> -#include <rpc/pmap_clnt.h> - -extern int getrpcport (const char * host, unsigned long prognum, -			   unsigned long versnum, unsigned int proto) -{ -	struct sockaddr_in addr; -	struct hostent *hp; - -	if ((hp = gethostbyname(host)) == NULL) -		return (0); -	memmove((char *) &addr.sin_addr, hp->h_addr, hp->h_length); -	addr.sin_family = AF_INET; -	addr.sin_port = 0; -	return (pmap_getport(&addr, prognum, versnum, proto)); -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_clnt.c b/mdk-stage1/dietlibc/librpc/pmap_clnt.c deleted file mode 100644 index 9dbf3f624..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_clnt.c +++ /dev/null @@ -1,115 +0,0 @@ -/* @(#)pmap_clnt.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_clnt.c - * Client interface to pmap rpc service. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> -#include <rpc/pmap_prot.h> -#include <rpc/pmap_clnt.h> -#include <unistd.h> - -static struct timeval timeout = { 5, 0 }; -static struct timeval tottimeout = { 60, 0 }; - -/* - * Set a mapping between program,version and port. - * Calls the pmap service remotely to do the mapping. - */ -bool_t pmap_set(program, version, protocol, port) -unsigned long program; -unsigned long version; -int protocol; -unsigned short port; -{ -	struct sockaddr_in myaddress; -	int socket = -1; -	register CLIENT *client; -	struct pmap parms; -	bool_t rslt; - -	get_myaddress(&myaddress); -	client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS, -							   timeout, &socket, RPCSMALLMSGSIZE, -							   RPCSMALLMSGSIZE); -	if (client == (CLIENT *) NULL) -		return (FALSE); -	parms.pm_prog = program; -	parms.pm_vers = version; -	parms.pm_prot = protocol; -	parms.pm_port = port; -	if (CLNT_CALL(client, PMAPPROC_SET, (xdrproc_t)xdr_pmap, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&rslt, -				  tottimeout) != RPC_SUCCESS) { -		clnt_perror(client, "Cannot register service"); -		return (FALSE); -	} -	CLNT_DESTROY(client); -	(void) close(socket); -	return (rslt); -} - -/* - * Remove the mapping between program,version and port. - * Calls the pmap service remotely to do the un-mapping. - */ -bool_t pmap_unset(program, version) -unsigned long program; -unsigned long version; -{ -	struct sockaddr_in myaddress; -	int socket = -1; -	register CLIENT *client; -	struct pmap parms; -	bool_t rslt; - -	get_myaddress(&myaddress); -	client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS, -							   timeout, &socket, RPCSMALLMSGSIZE, -							   RPCSMALLMSGSIZE); -	if (client == (CLIENT *) NULL) -		return (FALSE); -	parms.pm_prog = program; -	parms.pm_vers = version; -	parms.pm_port = parms.pm_prot = 0; -	CLNT_CALL(client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&rslt, -			  tottimeout); -	CLNT_DESTROY(client); -	(void) close(socket); -	return (rslt); -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c b/mdk-stage1/dietlibc/librpc/pmap_getmaps.c deleted file mode 100644 index de51a733a..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c +++ /dev/null @@ -1,84 +0,0 @@ -/* @(#)pmap_getmaps.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)pmap_getmaps.c 1.10 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_getmap.c - * Client interface to pmap rpc service. - * contains pmap_getmaps, which is only tcp service involved - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> -#include <rpc/pmap_prot.h> -#include <rpc/pmap_clnt.h> -#include <sys/socket.h> -#include <netdb.h> -#include <stdio.h> -#include <errno.h> -#include <netinet/in.h> -//#include <net/if.h> -#include <sys/ioctl.h> -#define NAMELEN 255 -#define MAX_BROADCAST_SIZE 1400 -#include <unistd.h> - -/* - * Get a copy of the current port maps. - * Calls the pmap service remotely to do get the maps. - */ -struct pmaplist *pmap_getmaps(address) -struct sockaddr_in *address; -{ -	struct pmaplist *head = (struct pmaplist *) NULL; -	int socket = -1; -	struct timeval minutetimeout; -	register CLIENT *client; - -	minutetimeout.tv_sec = 60; -	minutetimeout.tv_usec = 0; -	address->sin_port = htons(PMAPPORT); -	client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket, 50, 500); -	if (client != (CLIENT *) NULL) { -		if (CLNT_CALL(client, PMAPPROC_DUMP, (xdrproc_t)xdr_void, NULL, (xdrproc_t)xdr_pmaplist, -					  (char*)&head, minutetimeout) != RPC_SUCCESS) { -			clnt_perror(client, "pmap_getmaps rpc problem"); -		} -		CLNT_DESTROY(client); -	} -	(void) close(socket); -	address->sin_port = 0; -	return (head); -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_getport.c b/mdk-stage1/dietlibc/librpc/pmap_getport.c deleted file mode 100644 index f26cb7621..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_getport.c +++ /dev/null @@ -1,94 +0,0 @@ -/* @(#)pmap_getport.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)pmap_getport.c 1.9 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_getport.c - * Client interface to pmap rpc service. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> -#include <rpc/pmap_prot.h> -#include <rpc/pmap_clnt.h> -#include <sys/socket.h> -//#include <net/if.h> -#include <unistd.h> - -static struct timeval timeout = { 5, 0 }; -static struct timeval tottimeout = { 60, 0 }; - -/* - * Find the mapped port for program,version. - * Calls the pmap service remotely to do the lookup. - * Returns 0 if no map exists. - */ -unsigned short pmap_getport(address, program, version, protocol) -struct sockaddr_in *address; -unsigned long program; -unsigned long version; -unsigned int protocol; -{ -	unsigned short port = 0; -	int socket = -1; -	register CLIENT *client; -	struct pmap parms; - -	address->sin_port = htons((unsigned short)PMAPPORT); -	if (protocol == IPPROTO_TCP) -	  client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket, -							   RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); -	else -	  client = clntudp_bufcreate(address, PMAPPROG, PMAPVERS, timeout, -								  &socket, RPCSMALLMSGSIZE, -							   RPCSMALLMSGSIZE); -	if (client != (CLIENT *) NULL) { -		parms.pm_prog = program; -		parms.pm_vers = version; -		parms.pm_prot = protocol; -		parms.pm_port = 0;		/* not needed or used */ -		if (CLNT_CALL(client, PMAPPROC_GETPORT, (xdrproc_t)xdr_pmap, (char*)&parms, -					  (xdrproc_t)xdr_u_short, (char*)&port, tottimeout) != RPC_SUCCESS) { -			rpc_createerr.cf_stat = RPC_PMAPFAILURE; -			clnt_geterr(client, &rpc_createerr.cf_error); -		} else if (port == 0) { -			rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED; -		} -		CLNT_DESTROY(client); -	} -	(void) close(socket); -	address->sin_port = 0; -	return (port); -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot.c b/mdk-stage1/dietlibc/librpc/pmap_prot.c deleted file mode 100644 index ec8b5af79..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_prot.c +++ /dev/null @@ -1,58 +0,0 @@ -/* @(#)pmap_prot.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)pmap_prot.c 1.17 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_prot.c - * Protocol for the local binder service, or pmap. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/pmap_prot.h> - - -bool_t xdr_pmap(xdrs, regs) -XDR *xdrs; -struct pmap *regs; -{ - -	if (xdr_u_long(xdrs, ®s->pm_prog) && -		xdr_u_long(xdrs, ®s->pm_vers) && -		xdr_u_long(xdrs, ®s->pm_prot)) -			return (xdr_u_long(xdrs, ®s->pm_port)); -	return (FALSE); -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot2.c b/mdk-stage1/dietlibc/librpc/pmap_prot2.c deleted file mode 100644 index cd2deb036..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_prot2.c +++ /dev/null @@ -1,116 +0,0 @@ -/* @(#)pmap_prot2.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_prot2.c - * Protocol for the local binder service, or pmap. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <rpc/pmap_prot.h> - - -/*  - * What is going on with linked lists? (!) - * First recall the link list declaration from pmap_prot.h: - * - * struct pmaplist { - *	struct pmap pml_map; - *	struct pmaplist *pml_map; - * }; - * - * Compare that declaration with a corresponding xdr declaration that  - * is (a) pointer-less, and (b) recursive: - * - * typedef union switch (bool_t) { - *  - *	case TRUE: struct { - *		struct pmap; - * 		pmaplist_t foo; - *	}; - * - *	case FALSE: struct {}; - * } pmaplist_t; - * - * Notice that the xdr declaration has no nxt pointer while - * the C declaration has no bool_t variable.  The bool_t can be - * interpreted as ``more data follows me''; if FALSE then nothing - * follows this bool_t; if TRUE then the bool_t is followed by - * an actual struct pmap, and then (recursively) by the  - * xdr union, pamplist_t.   - * - * This could be implemented via the xdr_union primitive, though this - * would cause a one recursive call per element in the list.  Rather than do - * that we can ``unwind'' the recursion - * into a while loop and do the union arms in-place. - * - * The head of the list is what the C programmer wishes to past around - * the net, yet is the data that the pointer points to which is interesting; - * this sounds like a job for xdr_reference! - */ -bool_t xdr_pmaplist(XDR* xdrs, struct pmaplist** rp) -{ -	/* -	 * more_elements is pre-computed in case the direction is -	 * XDR_ENCODE or XDR_FREE.  more_elements is overwritten by -	 * xdr_bool when the direction is XDR_DECODE. -	 */ -	bool_t more_elements; -	register int freeing = (xdrs->x_op == XDR_FREE); -	register struct pmaplist **next=0; - -	while (TRUE) { -		more_elements = (bool_t) (*rp != NULL); -		if (!xdr_bool(xdrs, &more_elements)) -			return (FALSE); -		if (!more_elements) -			return (TRUE);		/* we are done */ -		/* -		 * the unfortunate side effect of non-recursion is that in -		 * the case of freeing we must remember the next object -		 * before we free the current object ... -		 */ -		if (freeing) -			next = &((*rp)->pml_next); -		if (!xdr_reference(xdrs, (char* *) rp, -						   (unsigned int) sizeof(struct pmaplist), (xdrproc_t)xdr_pmap)) -			return (FALSE); - -		rp = (freeing) ? next : &((*rp)->pml_next); -	} -} diff --git a/mdk-stage1/dietlibc/librpc/pmap_rmt.c b/mdk-stage1/dietlibc/librpc/pmap_rmt.c deleted file mode 100644 index 390bd736e..000000000 --- a/mdk-stage1/dietlibc/librpc/pmap_rmt.c +++ /dev/null @@ -1,402 +0,0 @@ -/* @(#)pmap_rmt.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro"; -#endif - -/* - * pmap_rmt.c - * Client interface to pmap rpc service. - * remote call and broadcast service - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> -#include <rpc/pmap_prot.h> -#include <rpc/pmap_clnt.h> -#include <rpc/pmap_rmt.h> -#include <sys/socket.h> -#include <stdio.h> -#include <errno.h> -//#include <net/if.h> -#include <sys/ioctl.h> -#include <arpa/inet.h> -#include <netinet/in.h> -#define MAX_BROADCAST_SIZE 1400 -#include <unistd.h> -#include <string.h> -#include "dietfeatures.h" - -static struct timeval timeout = { 3, 0 }; - - -/* - * pmapper remote-call-service interface. - * This routine is used to call the pmapper remote call service - * which will look up a service program in the port maps, and then - * remotely call that routine with the given parameters.  This allows - * programs to do a lookup and call in one step. -*/ -enum clnt_stat pmap_rmtcall (struct sockaddr_in *addr, -				    const unsigned long prog, -				    const unsigned long vers, -				    const unsigned long proc, -				    xdrproc_t xdrargs, -				    char* argsp, xdrproc_t xdrres, -				    char* resp, struct timeval tout, -				    unsigned long *port_ptr) { -  int socket = -1; -  register CLIENT *client; -  struct rmtcallargs a; -  struct rmtcallres r; -  enum clnt_stat stat; - -  addr->sin_port = htons((short)PMAPPORT); -  client = clntudp_create(addr, PMAPPROG, PMAPVERS, timeout, &socket); -  if (client != (CLIENT *) NULL) { -    a.prog = prog; -    a.vers = vers; -    a.proc = proc; -    a.args_ptr = argsp; -    a.xdr_args = xdrargs; -    r.port_ptr = port_ptr; -    r.results_ptr = resp; -    r.xdr_results = xdrres; -    stat = CLNT_CALL(client, PMAPPROC_CALLIT, (xdrproc_t)xdr_rmtcall_args, (char*)&a, -		      (xdrproc_t)xdr_rmtcallres, (char*)&r, tout); -    CLNT_DESTROY(client); -  } else { -    stat = RPC_FAILED; -  } -  (void) close(socket); -  addr->sin_port = 0; -  return (stat); -} - - -/* - * XDR remote call arguments - * written for XDR_ENCODE direction only - */ -bool_t xdr_rmtcall_args(XDR* xdrs, struct rmtcallargs* cap) -{ -	unsigned int lenposition, argposition, position; - -	if (xdr_u_long(xdrs, &(cap->prog)) && -		xdr_u_long(xdrs, &(cap->vers)) && xdr_u_long(xdrs, &(cap->proc))) { -		lenposition = XDR_GETPOS(xdrs); -		if (!xdr_u_long(xdrs, &(cap->arglen))) -			return (FALSE); -		argposition = XDR_GETPOS(xdrs); -		if (!(*(cap->xdr_args)) (xdrs, cap->args_ptr)) -			return (FALSE); -		position = XDR_GETPOS(xdrs); -		cap->arglen = (unsigned long) position - (unsigned long) argposition; -		XDR_SETPOS(xdrs, lenposition); -		if (!xdr_u_long(xdrs, &(cap->arglen))) -			return (FALSE); -		XDR_SETPOS(xdrs, position); -		return (TRUE); -	} -	return (FALSE); -} - -/* - * XDR remote call results - * written for XDR_DECODE direction only - */ -bool_t xdr_rmtcallres(XDR* xdrs, struct rmtcallres* crp) -{ -	char* port_ptr; - -	port_ptr = (char*) crp->port_ptr; -	if (xdr_reference(xdrs, &port_ptr, sizeof(unsigned long), -					  (xdrproc_t)xdr_u_long) && xdr_u_long(xdrs, &crp->resultslen)) { -		crp->port_ptr = (unsigned long *) port_ptr; -		return ((*(crp->xdr_results)) (xdrs, crp->results_ptr)); -	} -	return (FALSE); -} - - -/* - * The following is kludged-up support for simple rpc broadcasts. - * Someday a large, complicated system will replace these trivial  - * routines which only support udp/ip . - */ - -static int getbroadcastnets(addrs, sock, buf) -struct in_addr *addrs; -int sock;						/* any valid socket will do */ -char *buf;						/* why allocxate more when we can use existing... */ -{ -#ifdef __linux__ -	struct sockaddr_in addr; - -	get_myaddress(&addr); -#if 1 -	printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__); -#else -	addrs[0] = inet_makeaddr(inet_netof(addr.sin_addr), INADDR_ANY); -#endif -	return 1; -#else -	struct ifconf ifc; -	struct ifreq ifreq, *ifr; -	struct sockaddr_in *sin; -	int n, i; - -	ifc.ifc_len = UDPMSGSIZE; -	ifc.ifc_buf = buf; -	if (ioctl(sock, SIOCGIFCONF, (char *) &ifc) < 0) { -		perror("broadcast: ioctl (get interface configuration)"); -		return (0); -	} -	ifr = ifc.ifc_req; -	for (i = 0, n = ifc.ifc_len / sizeof(struct ifreq); n > 0; n--, ifr++) { -		ifreq = *ifr; -		if (ioctl(sock, SIOCGIFFLAGS, (char *) &ifreq) < 0) { -			perror("broadcast: ioctl (get interface flags)"); -			continue; -		} -		if ((ifreq.ifr_flags & IFF_BROADCAST) && -			(ifreq.ifr_flags & IFF_UP) && -			ifr->ifr_addr.sa_family == AF_INET) { -			sin = (struct sockaddr_in *) &ifr->ifr_addr; -#ifdef SIOCGIFBRDADDR			/* 4.3BSD */ -			if (ioctl(sock, SIOCGIFBRDADDR, (char *) &ifreq) < 0) { -#if 1 -				printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__); -#else -				addrs[i++] = inet_makeaddr(inet_netof -										   (sin->sin_addr.s_addr), -										   INADDR_ANY); -#endif -			} else { -				addrs[i++] = ((struct sockaddr_in *) -							  &ifreq.ifr_addr)->sin_addr; -			} -#else							/* 4.2 BSD */ -#if 1 -			printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__); -#else -			addrs[i++] = inet_makeaddr(inet_netof -									   (sin->sin_addr.s_addr), INADDR_ANY); -#endif -#endif -		} -	} -	return (i); -#endif -} - -enum clnt_stat -clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, -			   eachresult) -unsigned long prog;					/* program number */ -unsigned long vers;					/* version number */ -unsigned long proc;					/* procedure number */ -xdrproc_t xargs;				/* xdr routine for args */ -char* argsp;					/* pointer to args */ -xdrproc_t xresults;				/* xdr routine for results */ -char* resultsp;				/* pointer to results */ -resultproc_t eachresult;		/* call with each result obtained */ -{ -	enum clnt_stat stat; -	AUTH *unix_auth = authunix_create_default(); -	XDR xdr_stream; -	register XDR *xdrs = &xdr_stream; -	int outlen, inlen, fromlen, nets; -	register int sock; -	int on = 1; - -#ifdef FD_SETSIZE -	fd_set mask; -	fd_set readfds; -#else -	int readfds; -	register int mask; -#endif							/* def FD_SETSIZE */ -	register int i; -	bool_t done = FALSE; -	register unsigned long xid; -	unsigned long port; -	struct in_addr addrs[20]; -	struct sockaddr_in baddr, raddr;	/* broadcast and response addresses */ -	struct rmtcallargs a; -	struct rmtcallres r; -	struct rpc_msg msg; -	struct timeval t; -	char outbuf[MAX_BROADCAST_SIZE], inbuf[UDPMSGSIZE]; - -	/* -	 * initialization: create a socket, a broadcast address, and -	 * preserialize the arguments into a send buffer. -	 */ -	if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { -		perror("Cannot create socket for broadcast rpc"); -		stat = RPC_CANTSEND; -		goto done_broad; -	} -#ifdef SO_BROADCAST -	if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) < 0) { -		perror("Cannot set socket option SO_BROADCAST"); -		stat = RPC_CANTSEND; -		goto done_broad; -	} -#endif							/* def SO_BROADCAST */ -#ifdef FD_SETSIZE -	FD_ZERO(&mask); -	FD_SET(sock, &mask); -#else -	mask = (1 << sock); -#endif							/* def FD_SETSIZE */ -	nets = getbroadcastnets(addrs, sock, inbuf); -	memset((char*)&baddr,0,sizeof(baddr)); -	baddr.sin_family = AF_INET; -	baddr.sin_port = htons((short)PMAPPORT); -	baddr.sin_addr.s_addr = htonl(INADDR_ANY); -/*	baddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); */ -	(void) gettimeofday(&t, (struct timezone *) 0); -	msg.rm_xid = xid = getpid() ^ t.tv_sec ^ t.tv_usec; -	t.tv_usec = 0; -	msg.rm_direction = CALL; -	msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; -	msg.rm_call.cb_prog = PMAPPROG; -	msg.rm_call.cb_vers = PMAPVERS; -	msg.rm_call.cb_proc = PMAPPROC_CALLIT; -	msg.rm_call.cb_cred = unix_auth->ah_cred; -	msg.rm_call.cb_verf = unix_auth->ah_verf; -	a.prog = prog; -	a.vers = vers; -	a.proc = proc; -	a.xdr_args = xargs; -	a.args_ptr = argsp; -	r.port_ptr = &port; -	r.xdr_results = xresults; -	r.results_ptr = resultsp; -	xdrmem_create(xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE); -	if ((!xdr_callmsg(xdrs, &msg)) || (!xdr_rmtcall_args(xdrs, &a))) { -		stat = RPC_CANTENCODEARGS; -		goto done_broad; -	} -	outlen = (int) xdr_getpos(xdrs); -	xdr_destroy(xdrs); -	/* -	 * Basic loop: broadcast a packet and wait a while for response(s). -	 * The response timeout grows larger per iteration. -	 */ -	for (t.tv_sec = 4; t.tv_sec <= 14; t.tv_sec += 2) { -		for (i = 0; i < nets; i++) { -			baddr.sin_addr = addrs[i]; -			if (sendto(sock, outbuf, (size_t)outlen, 0, -					   (struct sockaddr *) &baddr, -					   sizeof(struct sockaddr)) != outlen) { -				perror("Cannot send broadcast packet"); -				stat = RPC_CANTSEND; -				goto done_broad; -			} -		} -		if (eachresult == NULL) { -			stat = RPC_SUCCESS; -			goto done_broad; -		} -	  recv_again: -		msg.acpted_rply.ar_verf = _null_auth; -		msg.acpted_rply.ar_results.where = (char*) & r; -		msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_rmtcallres; -		readfds = mask; -		switch (select(_rpc_dtablesize(), &readfds, 0, 0, &t)) { - -		case 0:				/* timed out */ -			stat = RPC_TIMEDOUT; -			continue; - -		case -1:				/* some kind of error */ -			if (errno == EINTR) -				goto recv_again; -			perror("Broadcast select problem"); -			stat = RPC_CANTRECV; -			goto done_broad; - -		}						/* end of select results switch */ -	  try_again: -		fromlen = sizeof(struct sockaddr); - -		inlen = recvfrom(sock, inbuf, UDPMSGSIZE, 0, -						 (struct sockaddr *) &raddr, &fromlen); -		if (inlen < 0) { -			if (errno == EINTR) -				goto try_again; -			perror("Cannot receive reply to broadcast"); -			stat = RPC_CANTRECV; -			goto done_broad; -		} -		if ((size_t)inlen < sizeof(unsigned long)) -			goto recv_again; -		/* -		 * see if reply transaction id matches sent id. -		 * If so, decode the results. -		 */ -		xdrmem_create(xdrs, inbuf, (unsigned int) inlen, XDR_DECODE); -		if (xdr_replymsg(xdrs, &msg)) { -			if ((msg.rm_xid == xid) && -				(msg.rm_reply.rp_stat == MSG_ACCEPTED) && -				(msg.acpted_rply.ar_stat == SUCCESS)) { -				raddr.sin_port = htons((unsigned short) port); -				done = (*eachresult) (resultsp, &raddr); -			} -			/* otherwise, we just ignore the errors ... */ -		} else { -#ifdef notdef -			/* some kind of deserialization problem ... */ -			if (msg.rm_xid == xid) -				fprintf(stderr, "Broadcast deserialization problem"); -			/* otherwise, just random garbage */ -#endif -		} -		xdrs->x_op = XDR_FREE; -		msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; -		(void) xdr_replymsg(xdrs, &msg); -		(void) (*xresults) (xdrs, resultsp); -		xdr_destroy(xdrs); -		if (done) { -			stat = RPC_SUCCESS; -			goto done_broad; -		} else { -			goto recv_again; -		} -	} -  done_broad: -	(void) close(sock); -	AUTH_DESTROY(unix_auth); -	return (stat); -} diff --git a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c b/mdk-stage1/dietlibc/librpc/rpc_callmsg.c deleted file mode 100644 index a3514f41c..000000000 --- a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c +++ /dev/null @@ -1,189 +0,0 @@ -/* @(#)rpc_callmsg.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * rpc_callmsg.c - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - */ - -#include <sys/param.h> - -#include <rpc/rpc.h> -#include <string.h> - -/* - * XDR a call message - */ -bool_t xdr_callmsg(xdrs, cmsg) -register XDR *xdrs; -register struct rpc_msg *cmsg; -{ -	register int32_t *buf; -	register struct opaque_auth *oa; - -	if (xdrs->x_op == XDR_ENCODE) { -		if (cmsg->rm_call.cb_cred.oa_length > MAX_AUTH_BYTES) { -			return (FALSE); -		} -		if (cmsg->rm_call.cb_verf.oa_length > MAX_AUTH_BYTES) { -			return (FALSE); -		} -		buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT -						 + RNDUP(cmsg->rm_call.cb_cred.oa_length) -						 + 2 * BYTES_PER_XDR_UNIT -						 + RNDUP(cmsg->rm_call.cb_verf.oa_length)); -		if (buf != NULL) { -			IXDR_PUT_LONG(buf, cmsg->rm_xid); -			IXDR_PUT_ENUM(buf, cmsg->rm_direction); -			if (cmsg->rm_direction != CALL) { -				return (FALSE); -			} -			IXDR_PUT_LONG(buf, cmsg->rm_call.cb_rpcvers); -			if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) { -				return (FALSE); -			} -			IXDR_PUT_LONG(buf, cmsg->rm_call.cb_prog); -			IXDR_PUT_LONG(buf, cmsg->rm_call.cb_vers); -			IXDR_PUT_LONG(buf, cmsg->rm_call.cb_proc); -			oa = &cmsg->rm_call.cb_cred; -			IXDR_PUT_ENUM(buf, oa->oa_flavor); -			IXDR_PUT_LONG(buf, oa->oa_length); -			if (oa->oa_length) { -				memmove((char*) buf, oa->oa_base, oa->oa_length); -				buf += RNDUP(oa->oa_length) / sizeof(long); -			} -			oa = &cmsg->rm_call.cb_verf; -			IXDR_PUT_ENUM(buf, oa->oa_flavor); -			IXDR_PUT_LONG(buf, oa->oa_length); -			if (oa->oa_length) { -				memmove((char*) buf, oa->oa_base, oa->oa_length); -				/* no real need.... -				   buf += RNDUP(oa->oa_length) / sizeof (long); -				 */ -			} -			return (TRUE); -		} -	} -	if (xdrs->x_op == XDR_DECODE) { -		buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT); -		if (buf != NULL) { -			cmsg->rm_xid = IXDR_GET_LONG(buf); -			cmsg->rm_direction = IXDR_GET_ENUM(buf, enum msg_type); - -			if (cmsg->rm_direction != CALL) { -				return (FALSE); -			} -			cmsg->rm_call.cb_rpcvers = IXDR_GET_LONG(buf); -			if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) { -				return (FALSE); -			} -			cmsg->rm_call.cb_prog = IXDR_GET_LONG(buf); -			cmsg->rm_call.cb_vers = IXDR_GET_LONG(buf); -			cmsg->rm_call.cb_proc = IXDR_GET_LONG(buf); -			oa = &cmsg->rm_call.cb_cred; -			oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t); -			oa->oa_length = IXDR_GET_LONG(buf); -			if (oa->oa_length) { -				if (oa->oa_length > MAX_AUTH_BYTES) { -					return (FALSE); -				} -				if (oa->oa_base == NULL) { -					oa->oa_base = (char*) -						mem_alloc(oa->oa_length); -				} -				buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length)); -				if (buf == NULL) { -					if (xdr_opaque(xdrs, oa->oa_base, -								   oa->oa_length) == FALSE) { -						return (FALSE); -					} -				} else { -					memmove(oa->oa_base, (char*) buf, oa->oa_length); -					/* no real need.... -					   buf += RNDUP(oa->oa_length) / -					   sizeof (long); -					 */ -				} -			} -			oa = &cmsg->rm_call.cb_verf; -			buf = XDR_INLINE(xdrs, 2 * BYTES_PER_XDR_UNIT); -			if (buf == NULL) { -				if (xdr_enum(xdrs, &oa->oa_flavor) == FALSE || -					xdr_u_int(xdrs, &oa->oa_length) == FALSE) { -					return (FALSE); -				} -			} else { -				oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t); -				oa->oa_length = IXDR_GET_LONG(buf); -			} -			if (oa->oa_length) { -				if (oa->oa_length > MAX_AUTH_BYTES) { -					return (FALSE); -				} -				if (oa->oa_base == NULL) { -					oa->oa_base = (char*) -						mem_alloc(oa->oa_length); -				} -				buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length)); -				if (buf == NULL) { -					if (xdr_opaque(xdrs, oa->oa_base, -								   oa->oa_length) == FALSE) { -						return (FALSE); -					} -				} else { -					memmove(oa->oa_base, (char*) buf, oa->oa_length); -					/* no real need... -					   buf += RNDUP(oa->oa_length) / -					   sizeof (long); -					 */ -				} -			} -			return (TRUE); -		} -	} -	if (xdr_u_long(xdrs, &(cmsg->rm_xid)) && -		xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) && -		(cmsg->rm_direction == CALL) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) && -		(cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_proc)) && -		xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_cred))) -			return (xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_verf))); -	return (FALSE); -} diff --git a/mdk-stage1/dietlibc/librpc/rpc_commondata.c b/mdk-stage1/dietlibc/librpc/rpc_commondata.c deleted file mode 100644 index 39648d284..000000000 --- a/mdk-stage1/dietlibc/librpc/rpc_commondata.c +++ /dev/null @@ -1,42 +0,0 @@ -/* @(#)rpc_commondata.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#include <rpc/rpc.h> -/* - * This file should only contain common data (global data) that is exported - * by public interfaces  - */ -struct opaque_auth _null_auth; - -#ifdef FD_SETSIZE -fd_set svc_fdset; -#else -int svc_fds; -#endif							/* def FD_SETSIZE */ -struct rpc_createerr rpc_createerr; diff --git a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c b/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c deleted file mode 100644 index b08ebaccd..000000000 --- a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c +++ /dev/null @@ -1,50 +0,0 @@ -/* @(#)rpc_dtablesize.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)rpc_dtablesize.c 1.2 87/08/11 Copyr 1987 Sun Micro"; -#endif - -#include <unistd.h> - -/* - * Cache the result of getdtablesize(), so we don't have to do an - * expensive system call every time. - */ -int _rpc_dtablesize() -{ -	static int size; - -	if (size == 0) { -		size = getdtablesize(); -	} -	return (size); -} diff --git a/mdk-stage1/dietlibc/librpc/rpc_prot.c b/mdk-stage1/dietlibc/librpc/rpc_prot.c deleted file mode 100644 index d5ca5ab77..000000000 --- a/mdk-stage1/dietlibc/librpc/rpc_prot.c +++ /dev/null @@ -1,281 +0,0 @@ -/* @(#)rpc_prot.c	2.3 88/08/07 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)rpc_prot.c 1.36 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * rpc_prot.c - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * This set of routines implements the rpc message definition, - * its serializer and some common rpc utility routines. - * The routines are meant for various implementations of rpc - - * they are NOT for the rpc client or rpc service implementations! - * Because authentication stuff is easy and is part of rpc, the opaque - * routines are also in this program. - */ - -#include <sys/param.h> - -#include <rpc/rpc.h> - -/* * * * * * * * * * * * * * XDR Authentication * * * * * * * * * * * */ - -struct opaque_auth _null_auth; - -/* - * XDR an opaque authentication struct - * (see auth.h) - */ -bool_t xdr_opaque_auth(xdrs, ap) -register XDR *xdrs; -register struct opaque_auth *ap; -{ - -	if (xdr_enum(xdrs, &(ap->oa_flavor))) -		return (xdr_bytes(xdrs, &ap->oa_base, -						  &ap->oa_length, MAX_AUTH_BYTES)); -	return (FALSE); -} - -/* - * XDR a DES block - */ -bool_t xdr_des_block(xdrs, blkp) -register XDR *xdrs; -register des_block *blkp; -{ -	return (xdr_opaque(xdrs, (char*) blkp, sizeof(des_block))); -} - -/* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */ - -/* - * XDR the MSG_ACCEPTED part of a reply message union - */ -bool_t xdr_accepted_reply(xdrs, ar) -register XDR *xdrs; -register struct accepted_reply *ar; -{ - -	/* personalized union, rather than calling xdr_union */ -	if (!xdr_opaque_auth(xdrs, &(ar->ar_verf))) -		return (FALSE); -	if (!xdr_enum(xdrs, (enum_t *) & (ar->ar_stat))) -		return (FALSE); -	switch (ar->ar_stat) { - -	case SUCCESS: -		return ((*(ar->ar_results.proc)) (xdrs, ar->ar_results.where)); - -	case PROG_MISMATCH: -		if (!xdr_u_long(xdrs, &(ar->ar_vers.low))) -			return (FALSE); -		return (xdr_u_long(xdrs, &(ar->ar_vers.high))); -	} -	return (TRUE);				/* TRUE => open ended set of problems */ -} - -/* - * XDR the MSG_DENIED part of a reply message union - */ -bool_t xdr_rejected_reply(xdrs, rr) -register XDR *xdrs; -register struct rejected_reply *rr; -{ - -	/* personalized union, rather than calling xdr_union */ -	if (!xdr_enum(xdrs, (enum_t *) & (rr->rj_stat))) -		return (FALSE); -	switch (rr->rj_stat) { - -	case RPC_MISMATCH: -		if (!xdr_u_long(xdrs, &(rr->rj_vers.low))) -			return (FALSE); -		return (xdr_u_long(xdrs, &(rr->rj_vers.high))); - -	case AUTH_ERROR: -		return (xdr_enum(xdrs, (enum_t *) & (rr->rj_why))); -	} -	return (FALSE); -} - -static struct xdr_discrim reply_dscrm[3] = { -	{(int) MSG_ACCEPTED, (xdrproc_t)xdr_accepted_reply}, -	{(int) MSG_DENIED, (xdrproc_t)xdr_rejected_reply}, -	{__dontcare__, NULL_xdrproc_t} -}; - -/* - * XDR a reply message - */ -bool_t xdr_replymsg(xdrs, rmsg) -register XDR *xdrs; -register struct rpc_msg *rmsg; -{ -	if (xdr_u_long(xdrs, &(rmsg->rm_xid)) && -		xdr_enum(xdrs, (enum_t *) & (rmsg->rm_direction)) && -		(rmsg->rm_direction == REPLY)) -		return (xdr_union(xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat), -						  (char*) & (rmsg->rm_reply.ru), reply_dscrm, -						  NULL_xdrproc_t)); -	return (FALSE); -} - - -/* - * Serializes the "static part" of a call message header. - * The fields include: rm_xid, rm_direction, rpcvers, prog, and vers. - * The rm_xid is not really static, but the user can easily munge on the fly. - */ -bool_t xdr_callhdr(xdrs, cmsg) -register XDR *xdrs; -register struct rpc_msg *cmsg; -{ - -	cmsg->rm_direction = CALL; -	cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION; -	if ( -		(xdrs->x_op == XDR_ENCODE) && -		xdr_u_long(xdrs, &(cmsg->rm_xid)) && -		xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) && -		xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog))) -			return (xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers))); -	return (FALSE); -} - -/* ************************** Client utility routine ************* */ - -static void accepted(acpt_stat, error) -register enum accept_stat acpt_stat; -register struct rpc_err *error; -{ - -	switch (acpt_stat) { - -	case PROG_UNAVAIL: -		error->re_status = RPC_PROGUNAVAIL; -		return; - -	case PROG_MISMATCH: -		error->re_status = RPC_PROGVERSMISMATCH; -		return; - -	case PROC_UNAVAIL: -		error->re_status = RPC_PROCUNAVAIL; -		return; - -	case GARBAGE_ARGS: -		error->re_status = RPC_CANTDECODEARGS; -		return; - -	case SYSTEM_ERR: -		error->re_status = RPC_SYSTEMERROR; -		return; - -	case SUCCESS: -		error->re_status = RPC_SUCCESS; -		return; -	} -	/* something's wrong, but we don't know what ... */ -	error->re_status = RPC_FAILED; -	error->re_lb.s1 = (long) MSG_ACCEPTED; -	error->re_lb.s2 = (long) acpt_stat; -} - -static void rejected(rjct_stat, error) -register enum reject_stat rjct_stat; -register struct rpc_err *error; -{ - -	switch (rjct_stat) { - -	case RPC_VERSMISMATCH: -		error->re_status = RPC_VERSMISMATCH; -		return; - -	case AUTH_ERROR: -		error->re_status = RPC_AUTHERROR; -		return; -	} -	/* something's wrong, but we don't know what ... */ -	error->re_status = RPC_FAILED; -	error->re_lb.s1 = (long) MSG_DENIED; -	error->re_lb.s2 = (long) rjct_stat; -} - -/* - * given a reply message, fills in the error - */ -void _seterr_reply(msg, error) -register struct rpc_msg *msg; -register struct rpc_err *error; -{ - -	/* optimized for normal, SUCCESSful case */ -	switch (msg->rm_reply.rp_stat) { - -	case MSG_ACCEPTED: -		if (msg->acpted_rply.ar_stat == SUCCESS) { -			error->re_status = RPC_SUCCESS; -			return; -		}; -		accepted(msg->acpted_rply.ar_stat, error); -		break; - -	case MSG_DENIED: -		rejected(msg->rjcted_rply.rj_stat, error); -		break; - -	default: -		error->re_status = RPC_FAILED; -		error->re_lb.s1 = (long) (msg->rm_reply.rp_stat); -		break; -	} -	switch (error->re_status) { - -	case RPC_VERSMISMATCH: -		error->re_vers.low = msg->rjcted_rply.rj_vers.low; -		error->re_vers.high = msg->rjcted_rply.rj_vers.high; -		break; - -	case RPC_AUTHERROR: -		error->re_why = msg->rjcted_rply.rj_why; -		break; - -	case RPC_PROGVERSMISMATCH: -		error->re_vers.low = msg->acpted_rply.ar_vers.low; -		error->re_vers.high = msg->acpted_rply.ar_vers.high; -		break; -	} -} diff --git a/mdk-stage1/dietlibc/librpc/svc.c b/mdk-stage1/dietlibc/librpc/svc.c deleted file mode 100644 index b430deb4a..000000000 --- a/mdk-stage1/dietlibc/librpc/svc.c +++ /dev/null @@ -1,478 +0,0 @@ -/* @(#)svc.c	2.4 88/08/11 4.0 RPCSRC; from 1.44 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)svc.c 1.41 87/10/13 Copyr 1984 Sun Micro"; -#endif - -/* - * svc.c, Server-side remote procedure call interface. - * - * There are two sets of procedures here.  The xprt routines are - * for handling transport handles.  The svc routines handle the - * list of service routines. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <errno.h> -#include <rpc/rpc.h> -#include <rpc/pmap_clnt.h> -#include <string.h> -#ifdef __linux__ -#include <sys/types.h> -#endif - -#ifdef FD_SETSIZE -static SVCXPRT **xports; -#else -#define NOFILE 32 - -static SVCXPRT *xports[NOFILE]; -#endif							/* def FD_SETSIZE */ - -#define NULL_SVC ((struct svc_callout *)0) -#define	RQCRED_SIZE	400			/* this size is excessive */ - -/* - * The services list - * Each entry represents a set of procedures (an rpc program). - * The dispatch routine takes request structs and runs the - * apropriate procedure. - */ -static struct svc_callout { -	struct svc_callout *sc_next; -	unsigned long sc_prog; -	unsigned long sc_vers; -	void (*sc_dispatch) (); -} *svc_head; - -static struct svc_callout *svc_find(); - -/* ***************  SVCXPRT related stuff **************** */ - -/* - * Activate a transport handle. - */ -void xprt_register(xprt) -SVCXPRT *xprt; -{ -	register int sock = xprt->xp_sock; - -#ifdef FD_SETSIZE -	if (xports == NULL) { -		xports = (SVCXPRT **) -			mem_alloc(FD_SETSIZE * sizeof(SVCXPRT *)); -	} -	if (sock < _rpc_dtablesize()) { -		xports[sock] = xprt; -		FD_SET(sock, &svc_fdset); -	} -#else -	if (sock < NOFILE) { -		xports[sock] = xprt; -		svc_fds |= (1 << sock); -	} -#endif							/* def FD_SETSIZE */ - -} - -/* - * De-activate a transport handle.  - */ -void xprt_unregister(xprt) -SVCXPRT *xprt; -{ -	register int sock = xprt->xp_sock; - -#ifdef FD_SETSIZE -	if ((sock < _rpc_dtablesize()) && (xports[sock] == xprt)) { -		xports[sock] = (SVCXPRT *) 0; -		FD_CLR(sock, &svc_fdset); -	} -#else -	if ((sock < NOFILE) && (xports[sock] == xprt)) { -		xports[sock] = (SVCXPRT *) 0; -		svc_fds &= ~(1 << sock); -	} -#endif							/* def FD_SETSIZE */ -} - - -/* ********************** CALLOUT list related stuff ************* */ - -/* - * Add a service program to the callout list. - * The dispatch routine will be called when a rpc request for this - * program number comes in. - */ -bool_t svc_register(xprt, prog, vers, dispatch, protocol) -SVCXPRT *xprt; -unsigned long prog; -unsigned long vers; -void (*dispatch) (); -rpcprot_t protocol; -{ -	struct svc_callout *prev; -	register struct svc_callout *s; - -	if ((s = svc_find(prog, vers, &prev)) != NULL_SVC) { -		if (s->sc_dispatch == dispatch) -			goto pmap_it;		/* he is registering another xptr */ -		return (FALSE); -	} -	s = (struct svc_callout *) mem_alloc(sizeof(struct svc_callout)); - -	if (s == (struct svc_callout *) 0) { -		return (FALSE); -	} -	s->sc_prog = prog; -	s->sc_vers = vers; -	s->sc_dispatch = dispatch; -	s->sc_next = svc_head; -	svc_head = s; -  pmap_it: -	/* now register the information with the local binder service */ -	if (protocol) { -		return (pmap_set(prog, vers, protocol, xprt->xp_port)); -	} -	return (TRUE); -} - -/* - * Remove a service program from the callout list. - */ -void svc_unregister(prog, vers) -unsigned long prog; -unsigned long vers; -{ -	struct svc_callout *prev; -	register struct svc_callout *s; - -	if ((s = svc_find(prog, vers, &prev)) == NULL_SVC) -		return; -	if (prev == NULL_SVC) { -		svc_head = s->sc_next; -	} else { -		prev->sc_next = s->sc_next; -	} -	s->sc_next = NULL_SVC; -	mem_free((char *) s, (unsigned int) sizeof(struct svc_callout)); - -	/* now unregister the information with the local binder service */ -	(void) pmap_unset(prog, vers); -} - -/* - * Search the callout list for a program number, return the callout - * struct. - */ -static struct svc_callout *svc_find(prog, vers, prev) -unsigned long prog; -unsigned long vers; -struct svc_callout **prev; -{ -	register struct svc_callout *s, *p; - -	p = NULL_SVC; -	for (s = svc_head; s != NULL_SVC; s = s->sc_next) { -		if ((s->sc_prog == prog) && (s->sc_vers == vers)) -			goto done; -		p = s; -	} -  done: -	*prev = p; -	return (s); -} - -/* ******************* REPLY GENERATION ROUTINES  ************ */ - -/* - * Send a reply to an rpc request - */ -bool_t svc_sendreply(xprt, xdr_results, xdr_location) -register SVCXPRT *xprt; -xdrproc_t xdr_results; -char* xdr_location; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = SUCCESS; -	rply.acpted_rply.ar_results.where = xdr_location; -	rply.acpted_rply.ar_results.proc = xdr_results; -	return (SVC_REPLY(xprt, &rply)); -} - -/* - * No procedure error reply - */ -void svcerr_noproc(xprt) -register SVCXPRT *xprt; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = PROC_UNAVAIL; -	SVC_REPLY(xprt, &rply); -} - -/* - * Can't decode args error reply - */ -void svcerr_decode(xprt) -register SVCXPRT *xprt; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = GARBAGE_ARGS; -	SVC_REPLY(xprt, &rply); -} - -/* - * Some system error - */ -void svcerr_systemerr(xprt) -register SVCXPRT *xprt; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = SYSTEM_ERR; -	SVC_REPLY(xprt, &rply); -} - -/* - * Authentication error reply - */ -void svcerr_auth(xprt, why) -SVCXPRT *xprt; -enum auth_stat why; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_DENIED; -	rply.rjcted_rply.rj_stat = AUTH_ERROR; -	rply.rjcted_rply.rj_why = why; -	SVC_REPLY(xprt, &rply); -} - -/* - * Auth too weak error reply - */ -void svcerr_weakauth(xprt) -SVCXPRT *xprt; -{ - -	svcerr_auth(xprt, AUTH_TOOWEAK); -} - -/* - * Program unavailable error reply - */ -void svcerr_noprog(xprt) -register SVCXPRT *xprt; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = PROG_UNAVAIL; -	SVC_REPLY(xprt, &rply); -} - -/* - * Program version mismatch error reply - */ -void svcerr_progvers(xprt, low_vers, high_vers) -register SVCXPRT *xprt; -unsigned long low_vers; -unsigned long high_vers; -{ -	struct rpc_msg rply; - -	rply.rm_direction = REPLY; -	rply.rm_reply.rp_stat = MSG_ACCEPTED; -	rply.acpted_rply.ar_verf = xprt->xp_verf; -	rply.acpted_rply.ar_stat = PROG_MISMATCH; -	rply.acpted_rply.ar_vers.low = low_vers; -	rply.acpted_rply.ar_vers.high = high_vers; -	SVC_REPLY(xprt, &rply); -} - -/* ******************* SERVER INPUT STUFF ******************* */ - -/* - * Get server side input from some transport. - * - * Statement of authentication parameters management: - * This function owns and manages all authentication parameters, specifically - * the "raw" parameters (msg.rm_call.cb_cred and msg.rm_call.cb_verf) and - * the "cooked" credentials (rqst->rq_clntcred). - * However, this function does not know the structure of the cooked - * credentials, so it make the following assumptions:  - *   a) the structure is contiguous (no pointers), and - *   b) the cred structure size does not exceed RQCRED_SIZE bytes.  - * In all events, all three parameters are freed upon exit from this routine. - * The storage is trivially management on the call stack in user land, but - * is mallocated in kernel land. - */ - -void svc_getreq(rdfds) -int rdfds; -{ -#ifdef FD_SETSIZE -	fd_set readfds; - -	FD_ZERO(&readfds); -/*#ifdef __linux__*/ -#if 0 -	readfds = rdfds; -#else -	readfds.fds_bits[0] = rdfds; -#endif -	svc_getreqset(&readfds); -#else -	int readfds = rdfds & svc_fds; - -	svc_getreqset(&readfds); -#endif							/* def FD_SETSIZE */ -} - -void svc_getreqset(readfds) -#ifdef FD_SETSIZE -fd_set *readfds; -{ -#else -int *readfds; -{ -	int readfds_local = *readfds; -#endif							/* def FD_SETSIZE */ -	enum xprt_stat stat; -	struct rpc_msg msg; -	int prog_found; -	unsigned long low_vers; -	unsigned long high_vers; -	struct svc_req r; -	register SVCXPRT *xprt; -	register unsigned long mask; -	register int bit; -	register unsigned long *maskp; -	register int setsize; -	register int sock; -	char cred_area[2 * MAX_AUTH_BYTES + RQCRED_SIZE]; - -	msg.rm_call.cb_cred.oa_base = cred_area; -	msg.rm_call.cb_verf.oa_base = &(cred_area[MAX_AUTH_BYTES]); -	r.rq_clntcred = &(cred_area[2 * MAX_AUTH_BYTES]); - - -#ifdef FD_SETSIZE -	setsize = _rpc_dtablesize(); -#ifdef __linux__ -/*#define NFDBITS	32*/ -	maskp = (unsigned long *) readfds; -#else -	maskp = (unsigned long *) readfds->fds_bits; -#endif -	for (sock = 0; sock < setsize; sock += NFDBITS) { -		for (mask = *maskp++; (bit = ffs(mask)); mask ^= (1 << (bit - 1))) { -			/* sock has input waiting */ -			xprt = xports[sock + bit - 1]; -#else -	for (sock = 0; readfds_local != 0; sock++, readfds_local >>= 1) { -		if ((readfds_local & 1) != 0) { -			/* sock has input waiting */ -			xprt = xports[sock]; -#endif							/* def FD_SETSIZE */ -			/* now receive msgs from xprtprt (support batch calls) */ -			do { -				if (SVC_RECV(xprt, &msg)) { - -					/* now find the exported program and call it */ -					register struct svc_callout *s; -					enum auth_stat why; - -					r.rq_xprt = xprt; -					r.rq_prog = msg.rm_call.cb_prog; -					r.rq_vers = msg.rm_call.cb_vers; -					r.rq_proc = msg.rm_call.cb_proc; -					r.rq_cred = msg.rm_call.cb_cred; -					/* first authenticate the message */ -					if ((why = _authenticate(&r, &msg)) != AUTH_OK) { -						svcerr_auth(xprt, why); -						goto call_done; -					} -					/* now match message with a registered service */ -					prog_found = FALSE; -					low_vers = 0 - 1; -					high_vers = 0; -					for (s = svc_head; s != NULL_SVC; s = s->sc_next) { -						if (s->sc_prog == r.rq_prog) { -							if (s->sc_vers == r.rq_vers) { -								(*s->sc_dispatch) (&r, xprt); -								goto call_done; -							}	/* found correct version */ -							prog_found = TRUE; -							if (s->sc_vers < low_vers) -								low_vers = s->sc_vers; -							if (s->sc_vers > high_vers) -								high_vers = s->sc_vers; -						}		/* found correct program */ -					} -					/* -					 * if we got here, the program or version -					 * is not served ... -					 */ -					if (prog_found) -						svcerr_progvers(xprt, low_vers, high_vers); -					else -						svcerr_noprog(xprt); -					/* Fall through to ... */ -				} -			  call_done: -				if ((stat = SVC_STAT(xprt)) == XPRT_DIED) { -					SVC_DESTROY(xprt); -					break; -				} -			} while (stat == XPRT_MOREREQS); -		} -	} -} diff --git a/mdk-stage1/dietlibc/librpc/svc_auth.c b/mdk-stage1/dietlibc/librpc/svc_auth.c deleted file mode 100644 index 336586d95..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_auth.c +++ /dev/null @@ -1,115 +0,0 @@ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)svc_auth.c	2.1 88/08/07 4.0 RPCSRC; from 1.19 87/08/11 Copyr 1984 Sun Micro"; -#endif -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * svc_auth_nodes.c, Server-side rpc authenticator interface, - * *WITHOUT* DES authentication. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> - -/* - * svcauthsw is the bdevsw of server side authentication.  - *  - * Server side authenticators are called from authenticate by - * using the client auth struct flavor field to index into svcauthsw. - * The server auth flavors must implement a routine that looks   - * like:  - *  - *	enum auth_stat - *	flavorx_auth(rqst, msg) - *		register struct svc_req *rqst;  - *		register struct rpc_msg *msg; - * - */ - -enum auth_stat _svcauth_null();		/* no authentication */ -enum auth_stat _svcauth_unix();		/* unix style (uid, gids) */ -enum auth_stat _svcauth_short();	/* short hand unix style */ - -static struct { -	enum auth_stat (*authenticator) (); -} svcauthsw[] = { -	{ _svcauth_null },			/* AUTH_NULL */ -	{ _svcauth_unix },			/* AUTH_UNIX */ -	{ _svcauth_short },			/* AUTH_SHORT */ -}; - -#define	AUTH_MAX	2			/* HIGHEST AUTH NUMBER */ - - -/* - * The call rpc message, msg has been obtained from the wire.  The msg contains - * the raw form of credentials and verifiers.  authenticate returns AUTH_OK - * if the msg is successfully authenticated.  If AUTH_OK then the routine also - * does the following things: - * set rqst->rq_xprt->verf to the appropriate response verifier; - * sets rqst->rq_client_cred to the "cooked" form of the credentials. - * - * NB: rqst->rq_cxprt->verf must be pre-alloctaed; - * its length is set appropriately. - * - * The caller still owns and is responsible for msg->u.cmb.cred and - * msg->u.cmb.verf.  The authentication system retains ownership of - * rqst->rq_client_cred, the cooked credentials. - * - * There is an assumption that any flavour less than AUTH_NULL is - * invalid. - */ -enum auth_stat _authenticate(rqst, msg) -register struct svc_req *rqst; -struct rpc_msg *msg; -{ -	register int cred_flavor; - -	rqst->rq_cred = msg->rm_call.cb_cred; -	rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor; -	rqst->rq_xprt->xp_verf.oa_length = 0; -	cred_flavor = rqst->rq_cred.oa_flavor; -	if ((cred_flavor <= AUTH_MAX) && (cred_flavor >= AUTH_NULL)) { -		return ((*(svcauthsw[cred_flavor].authenticator)) (rqst, msg)); -	} - -	return (AUTH_REJECTEDCRED); -} - -enum auth_stat _svcauth_null( /*rqst, msg */ ) -	/*struct svc_req *rqst; -	   struct rpc_msg *msg; */ -{ - -	return (AUTH_OK); -} diff --git a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c b/mdk-stage1/dietlibc/librpc/svc_auth_unix.c deleted file mode 100644 index e81eba7d9..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c +++ /dev/null @@ -1,136 +0,0 @@ -/* @(#)svc_auth_unix.c	2.3 88/08/01 4.0 RPCSRC; from 1.28 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro"; -#endif - -/* - * svc_auth_unix.c - * Handles UNIX flavor authentication parameters on the service side of rpc. - * There are two svc auth implementations here: AUTH_UNIX and AUTH_SHORT. - * _svcauth_unix does full blown unix style uid,gid+gids auth, - * _svcauth_short uses a shorthand auth to index into a cache of longhand auths. - * Note: the shorthand has been gutted for efficiency. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <string.h> - -/* - * Unix longhand authenticator - */ -enum auth_stat _svcauth_unix(rqst, msg) -register struct svc_req *rqst; -register struct rpc_msg *msg; -{ -	register enum auth_stat stat; -	XDR xdrs; -	register struct authunix_parms *aup; -	register int32_t *buf; -	struct area { -		struct authunix_parms area_aup; -		char area_machname[MAX_MACHINE_NAME + 1]; -		gid_t area_gids[NGRPS]; -	} *area; -	unsigned int auth_len; -	int str_len, gid_len; -	register int i; - -	area = (struct area *) rqst->rq_clntcred; -	aup = &area->area_aup; -	aup->aup_machname = area->area_machname; -	aup->aup_gids = area->area_gids; -	auth_len = (unsigned int) msg->rm_call.cb_cred.oa_length; -	xdrmem_create(&xdrs, msg->rm_call.cb_cred.oa_base, auth_len, -				  XDR_DECODE); -	buf = XDR_INLINE(&xdrs, auth_len); -	if (buf != NULL) { -		aup->aup_time = IXDR_GET_LONG(buf); -		str_len = IXDR_GET_U_LONG(buf); -		if (str_len > MAX_MACHINE_NAME) { -			stat = AUTH_BADCRED; -			goto done; -		} -		memmove(aup->aup_machname, (char*) buf, (unsigned int) str_len); -		aup->aup_machname[str_len] = 0; -		str_len = RNDUP(str_len); -		buf += str_len / sizeof(long); - -		aup->aup_uid = IXDR_GET_LONG(buf); -		aup->aup_gid = IXDR_GET_LONG(buf); -		gid_len = IXDR_GET_U_LONG(buf); -		if (gid_len > NGRPS) { -			stat = AUTH_BADCRED; -			goto done; -		} -		aup->aup_len = gid_len; -		for (i = 0; i < gid_len; i++) { -			aup->aup_gids[i] = IXDR_GET_LONG(buf); -		} -		/* -		 * five is the smallest unix credentials structure - -		 * timestamp, hostname len (0), uid, gid, and gids len (0). -		 */ -		if ((5 + gid_len) * BYTES_PER_XDR_UNIT + str_len > auth_len) { -			(void) printf("bad auth_len gid %d str %d auth %d\n", -						  gid_len, str_len, auth_len); -			stat = AUTH_BADCRED; -			goto done; -		} -	} else if (!xdr_authunix_parms(&xdrs, aup)) { -		xdrs.x_op = XDR_FREE; -		(void) xdr_authunix_parms(&xdrs, aup); -		stat = AUTH_BADCRED; -		goto done; -	} -	rqst->rq_xprt->xp_verf.oa_flavor = AUTH_NULL; -	rqst->rq_xprt->xp_verf.oa_length = 0; -	stat = AUTH_OK; -  done: -	XDR_DESTROY(&xdrs); -	return (stat); -} - - -/* - * Shorthand unix authenticator - * Looks up longhand in a cache. - */ - /*ARGSUSED*/ enum auth_stat _svcauth_short(rqst, msg) -struct svc_req *rqst; -struct rpc_msg *msg; -{ -	return (AUTH_REJECTEDCRED); -} diff --git a/mdk-stage1/dietlibc/librpc/svc_raw.c b/mdk-stage1/dietlibc/librpc/svc_raw.c deleted file mode 100644 index eebb433ee..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_raw.c +++ /dev/null @@ -1,161 +0,0 @@ -/* @(#)svc_raw.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)svc_raw.c 1.15 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * svc_raw.c,   This a toy for simple testing and timing. - * Interface to create an rpc client and server in the same UNIX process. - * This lets us similate rpc and get rpc (round trip) overhead, without - * any interference from the kernal. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <rpc/rpc.h> - - -/* - * This is the "network" that we will be moving data over - */ -static struct svcraw_private { -	char _raw_buf[UDPMSGSIZE]; -	SVCXPRT server; -	XDR xdr_stream; -	char verf_body[MAX_AUTH_BYTES]; -} *svcraw_private; - -static bool_t svcraw_recv(); -static enum xprt_stat svcraw_stat(); -static bool_t svcraw_getargs(); -static bool_t svcraw_reply(); -static bool_t svcraw_freeargs(); -static void svcraw_destroy(); - -static struct xp_ops server_ops = { -	svcraw_recv, -	svcraw_stat, -	svcraw_getargs, -	svcraw_reply, -	svcraw_freeargs, -	svcraw_destroy -}; - - -SVCXPRT *svcraw_create() -{ -	register struct svcraw_private *srp = svcraw_private; - -	if (srp == 0) { -		srp = (struct svcraw_private *) calloc(1, sizeof(*srp)); -		if (srp == 0) -			return (0); -	} -	srp->server.xp_sock = 0; -	srp->server.xp_port = 0; -	srp->server.xp_ops = &server_ops; -	srp->server.xp_verf.oa_base = srp->verf_body; -	xdrmem_create(&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE); -	return (&srp->server); -} - -static enum xprt_stat svcraw_stat() -{ - -	return (XPRT_IDLE); -} - -static bool_t svcraw_recv(xprt, msg) -SVCXPRT *xprt; -struct rpc_msg *msg; -{ -	register struct svcraw_private *srp = svcraw_private; -	register XDR *xdrs; - -	if (srp == 0) -		return (0); -	xdrs = &srp->xdr_stream; -	xdrs->x_op = XDR_DECODE; -	XDR_SETPOS(xdrs, 0); -	if (!xdr_callmsg(xdrs, msg)) -		return (FALSE); -	return (TRUE); -} - -static bool_t svcraw_reply(xprt, msg) -SVCXPRT *xprt; -struct rpc_msg *msg; -{ -	register struct svcraw_private *srp = svcraw_private; -	register XDR *xdrs; - -	if (srp == 0) -		return (FALSE); -	xdrs = &srp->xdr_stream; -	xdrs->x_op = XDR_ENCODE; -	XDR_SETPOS(xdrs, 0); -	if (!xdr_replymsg(xdrs, msg)) -		return (FALSE); -	(void) XDR_GETPOS(xdrs);	/* called just for overhead */ -	return (TRUE); -} - -static bool_t svcraw_getargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ -	register struct svcraw_private *srp = svcraw_private; - -	if (srp == 0) -		return (FALSE); -	return ((*xdr_args) (&srp->xdr_stream, args_ptr)); -} - -static bool_t svcraw_freeargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ -	register struct svcraw_private *srp = svcraw_private; -	register XDR *xdrs; - -	if (srp == 0) -		return (FALSE); -	xdrs = &srp->xdr_stream; -	xdrs->x_op = XDR_FREE; -	return ((*xdr_args) (xdrs, args_ptr)); -} - -static void svcraw_destroy() -{ -} - diff --git a/mdk-stage1/dietlibc/librpc/svc_run.c b/mdk-stage1/dietlibc/librpc/svc_run.c deleted file mode 100644 index 506b37942..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_run.c +++ /dev/null @@ -1,71 +0,0 @@ -/* @(#)svc_run.c	2.1 88/07/29 4.0 RPCSRC */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)svc_run.c 1.1 87/10/13 Copyr 1984 Sun Micro"; -#endif - -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ - -/* - * This is the rpc server side idle loop - * Wait for input, call server program. - */ -#include <rpc/rpc.h> -#include <errno.h> -#include <unistd.h> -#include "dietfeatures.h" - -void svc_run() -{ -#ifdef FD_SETSIZE -	fd_set readfds; -#else -	int readfds; -#endif							/* def FD_SETSIZE */ - -	for (;;) { -#ifdef FD_SETSIZE -		readfds = svc_fdset; -#else -		readfds = svc_fds; -#endif							/* def FD_SETSIZE */ -		switch (select(_rpc_dtablesize(), &readfds, 0, 0, 0)) { -		case -1: -			if (errno == EINTR) { -				continue; -			} -			perror("svc_run: - select failed"); -			return; -		case 0: -			continue; -		default: -			svc_getreqset(&readfds); -		} -	} -} diff --git a/mdk-stage1/dietlibc/librpc/svc_simple.c b/mdk-stage1/dietlibc/librpc/svc_simple.c deleted file mode 100644 index d2310de1e..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_simple.c +++ /dev/null @@ -1,144 +0,0 @@ -/* @(#)svc_simple.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)svc_simple.c 1.18 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/*  - * svc_simple.c - * Simplified front end to rpc. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <netdb.h> -#include <rpc/pmap_clnt.h> -#include <string.h> - -static struct proglst { -	char *(*p_progname) (); -	int p_prognum; -	int p_procnum; -	xdrproc_t p_inproc, p_outproc; -	struct proglst *p_nxt; -} *proglst; -static void universal(); -static SVCXPRT *transp; -struct proglst *pl; - -int registerrpc(int prognum, int versnum, int procnum, char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc) -{ - -	if (procnum == NULLPROC) { -		(void) fprintf(stderr, -					   "can't reassign procedure number %d\n", NULLPROC); -		return (-1); -	} -	if (transp == 0) { -		transp = svcudp_create(RPC_ANYSOCK); -		if (transp == NULL) { -			(void) fprintf(stderr, "couldn't create an rpc server\n"); -			return (-1); -		} -	} -	(void) pmap_unset((unsigned long) prognum, (unsigned long) versnum); -	if (!svc_register(transp, (unsigned long) prognum, (unsigned long) versnum, -					  universal, IPPROTO_UDP)) { -		(void) fprintf(stderr, "couldn't register prog %d vers %d\n", -					   prognum, versnum); -		return (-1); -	} -	pl = (struct proglst *) malloc(sizeof(struct proglst)); - -	if (pl == NULL) { -		(void) fprintf(stderr, "registerrpc: out of memory\n"); -		return (-1); -	} -	pl->p_progname = progname; -	pl->p_prognum = prognum; -	pl->p_procnum = procnum; -	pl->p_inproc = inproc; -	pl->p_outproc = outproc; -	pl->p_nxt = proglst; -	proglst = pl; -	return (0); -} - -static void universal(rqstp, transp) -struct svc_req *rqstp; -SVCXPRT *transp; -{ -	int prog, proc; -	char *outdata; -	char xdrbuf[UDPMSGSIZE]; -	struct proglst *pl; - -	/*  -	 * enforce "procnum 0 is echo" convention -	 */ -	if (rqstp->rq_proc == NULLPROC) { -		if (svc_sendreply(transp, (xdrproc_t)xdr_void, (char *) NULL) == FALSE) { -			(void) fprintf(stderr, "xxx\n"); -			exit(1); -		} -		return; -	} -	prog = rqstp->rq_prog; -	proc = rqstp->rq_proc; -	for (pl = proglst; pl != NULL; pl = pl->p_nxt) -		if (pl->p_prognum == prog && pl->p_procnum == proc) { -			/* decode arguments into a CLEAN buffer */ -			memset(xdrbuf, 0, sizeof(xdrbuf));	/* required ! */ -			if (!svc_getargs(transp, pl->p_inproc, xdrbuf)) { -				svcerr_decode(transp); -				return; -			} -			outdata = (*(pl->p_progname)) (xdrbuf); -			if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void) -				/* there was an error */ -				return; -			if (!svc_sendreply(transp, pl->p_outproc, outdata)) { -				(void) fprintf(stderr, -							   "trouble replying to prog %d\n", -							   pl->p_prognum); -				exit(1); -			} -			/* free the decoded arguments */ -			(void) svc_freeargs(transp, pl->p_inproc, xdrbuf); -			return; -		} -	(void) fprintf(stderr, "never registered prog %d\n", prog); -	exit(1); -} diff --git a/mdk-stage1/dietlibc/librpc/svc_tcp.c b/mdk-stage1/dietlibc/librpc/svc_tcp.c deleted file mode 100644 index 0444bc0d0..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_tcp.c +++ /dev/null @@ -1,410 +0,0 @@ -/* @(#)svc_tcp.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * svc_tcp.c, Server side for TCP/IP based RPC.  - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * Actually implements two flavors of transporter - - * a tcp rendezvouser (a listner and connection establisher) - * and a record/tcp stream. - */ - -#include <stdlib.h> -#include <stdio.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <errno.h> -#include <string.h> -#include <unistd.h> -#include "dietfeatures.h" - -/* - * Ops vector for TCP/IP based rpc service handle - */ -static bool_t svctcp_recv(); -static enum xprt_stat svctcp_stat(); -static bool_t svctcp_getargs(); -static bool_t svctcp_reply(); -static bool_t svctcp_freeargs(); -static void svctcp_destroy(); - -static struct xp_ops svctcp_op; - -/* - * Ops vector for TCP/IP rendezvous handler - */ -static bool_t rendezvous_request(); -static enum xprt_stat rendezvous_stat(); - -static struct xp_ops svctcp_rendezvous_op = { -	rendezvous_request, -	rendezvous_stat, -	(void*)abort, -	(void*)abort, -	(void*)abort, -	svctcp_destroy -}; - -static int readtcp(), writetcp(); -static SVCXPRT *makefd_xprt(); - -struct tcp_rendezvous {			/* kept in xprt->xp_p1 */ -	unsigned int sendsize; -	unsigned int recvsize; -}; - -struct tcp_conn {				/* kept in xprt->xp_p1 */ -	enum xprt_stat strm_stat; -	unsigned long x_id; -	XDR xdrs; -	char verf_body[MAX_AUTH_BYTES]; -}; - -/* - * Usage: - *	xprt = svctcp_create(sock, send_buf_size, recv_buf_size); - * - * Creates, registers, and returns a (rpc) tcp based transporter. - * Once *xprt is initialized, it is registered as a transporter - * see (svc.h, xprt_register).  This routine returns - * a NULL if a problem occurred. - * - * If sock<0 then a socket is created, else sock is used. - * If the socket, sock is not bound to a port then svctcp_create - * binds it to an arbitrary port.  The routine then starts a tcp - * listener on the socket's associated port.  In any (successful) case, - * xprt->xp_sock is the registered socket number and xprt->xp_port is the - * associated port number. - * - * Since tcp streams do buffered io similar to stdio, the caller can specify - * how big the send and receive buffers are via the second and third parms; - * 0 => use the system default. - */ -SVCXPRT *svctcp_create(sock, sendsize, recvsize) -register int sock; -unsigned int sendsize; -unsigned int recvsize; -{ -	bool_t madesock = FALSE; -	register SVCXPRT *xprt; -	register struct tcp_rendezvous *r; -	struct sockaddr_in addr; -	int len = sizeof(struct sockaddr_in); - -	if (sock == RPC_ANYSOCK) { -		if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { -			perror("svc_tcp.c - tcp socket creation problem"); -			return ((SVCXPRT *) NULL); -		} -		madesock = TRUE; -	} -	memset((char *) &addr, 0, sizeof(addr)); -	addr.sin_family = AF_INET; -	if (bindresvport(sock, &addr)) { -		addr.sin_port = 0; -		(void) bind(sock, (struct sockaddr *) &addr, len); -	} -	if ((getsockname(sock, (struct sockaddr *) &addr, &len) != 0) || -		(listen(sock, 2) != 0)) { -		perror("svctcp_.c - cannot getsockname or listen"); -		if (madesock) -			(void) close(sock); -		return ((SVCXPRT *) NULL); -	} -	r = (struct tcp_rendezvous *) mem_alloc(sizeof(*r)); -	if (r == NULL) { -		(void) fprintf(stderr, "svctcp_create: out of memory\n"); -		return (NULL); -	} -	r->sendsize = sendsize; -	r->recvsize = recvsize; -	xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT)); -	if (xprt == NULL) { -		(void) fprintf(stderr, "svctcp_create: out of memory\n"); -		return (NULL); -	} -	xprt->xp_p2 = NULL; -	xprt->xp_p1 = (char*) r; -	xprt->xp_verf = _null_auth; -	xprt->xp_ops = &svctcp_rendezvous_op; -	xprt->xp_port = ntohs(addr.sin_port); -	xprt->xp_sock = sock; -	xprt_register(xprt); -	return (xprt); -} - -/* - * Like svtcp_create(), except the routine takes any *open* UNIX file - * descriptor as its first input. - */ -SVCXPRT *svcfd_create(fd, sendsize, recvsize) -int fd; -unsigned int sendsize; -unsigned int recvsize; -{ - -	return (makefd_xprt(fd, sendsize, recvsize)); -} - -static SVCXPRT *makefd_xprt(fd, sendsize, recvsize) -int fd; -unsigned int sendsize; -unsigned int recvsize; -{ -	register SVCXPRT *xprt; -	register struct tcp_conn *cd; - -	xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT)); -	if (xprt == (SVCXPRT *) NULL) { -		(void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n"); -		goto done; -	} -	cd = (struct tcp_conn *) mem_alloc(sizeof(struct tcp_conn)); - -	if (cd == (struct tcp_conn *) NULL) { -		(void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n"); -		mem_free((char *) xprt, sizeof(SVCXPRT)); -		xprt = (SVCXPRT *) NULL; -		goto done; -	} -	cd->strm_stat = XPRT_IDLE; -	xdrrec_create(&(cd->xdrs), sendsize, recvsize, -				  (char*) xprt, readtcp, writetcp); -	xprt->xp_p2 = NULL; -	xprt->xp_p1 = (char*) cd; -	xprt->xp_verf.oa_base = cd->verf_body; -	xprt->xp_addrlen = 0; -	xprt->xp_ops = &svctcp_op;	/* truely deals with calls */ -	xprt->xp_port = 0;			/* this is a connection, not a rendezvouser */ -	xprt->xp_sock = fd; -	xprt_register(xprt); -  done: -	return (xprt); -} - -static bool_t rendezvous_request(xprt) -register SVCXPRT *xprt; -{ -	int sock; -	struct tcp_rendezvous *r; -	struct sockaddr_in addr; -	int len; - -	r = (struct tcp_rendezvous *) xprt->xp_p1; -  again: -	len = sizeof(struct sockaddr_in); - -	if ((sock = accept(xprt->xp_sock, (struct sockaddr *) &addr, -					   &len)) < 0) { -		if (errno == EINTR) -			goto again; -		return (FALSE); -	} -	/* -	 * make a new transporter (re-uses xprt) -	 */ -	xprt = makefd_xprt(sock, r->sendsize, r->recvsize); -	xprt->xp_raddr = addr; -	xprt->xp_addrlen = len; -	return (FALSE);				/* there is never an rpc msg to be processed */ -} - -static enum xprt_stat rendezvous_stat() -{ - -	return (XPRT_IDLE); -} - -static void svctcp_destroy(xprt) -register SVCXPRT *xprt; -{ -	register struct tcp_conn *cd = (struct tcp_conn *) xprt->xp_p1; - -	xprt_unregister(xprt); -	(void) close(xprt->xp_sock); -	if (xprt->xp_port != 0) { -		/* a rendezvouser socket */ -		xprt->xp_port = 0; -	} else { -		/* an actual connection socket */ -		XDR_DESTROY(&(cd->xdrs)); -	} -	mem_free((char*) cd, sizeof(struct tcp_conn)); - -	mem_free((char*) xprt, sizeof(SVCXPRT)); -} - -/* - * All read operations timeout after 35 seconds. - * A timeout is fatal for the connection. - */ -static struct timeval wait_per_try = { 35, 0 }; - -/* - * reads data from the tcp conection. - * any error is fatal and the connection is closed. - * (And a read of zero bytes is a half closed stream => error.) - */ -static int readtcp(xprt, buf, len) -register SVCXPRT *xprt; -char* buf; -register int len; -{ -	register int sock = xprt->xp_sock; - -#ifdef FD_SETSIZE -	fd_set mask; -	fd_set readfds; - -	FD_ZERO(&mask); -	FD_SET(sock, &mask); -#else -	register int mask = 1 << sock; -	int readfds; -#endif							/* def FD_SETSIZE */ -	do { -		readfds = mask; -		if (select(_rpc_dtablesize(), &readfds, 0, 0, &wait_per_try) <= 0) { -			if (errno == EINTR) { -				continue; -			} -			goto fatal_err; -		} -#ifdef FD_SETSIZE -	} while (!FD_ISSET(sock, &readfds)); -#else -	} while (readfds != mask); -#endif							/* def FD_SETSIZE */ -	if ((len = read(sock, buf, len)) > 0) { -		return (len); -	} -  fatal_err: -	((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED; -	return (-1); -} - -/* - * writes data to the tcp connection. - * Any error is fatal and the connection is closed. - */ -static int writetcp(xprt, buf, len) -register SVCXPRT *xprt; -char* buf; -int len; -{ -	register int i, cnt; - -	for (cnt = len; cnt > 0; cnt -= i, buf += i) { -		if ((i = write(xprt->xp_sock, buf, cnt)) < 0) { -			((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED; -			return (-1); -		} -	} -	return (len); -} - -static enum xprt_stat svctcp_stat(xprt) -SVCXPRT *xprt; -{ -	register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1); - -	if (cd->strm_stat == XPRT_DIED) -		return (XPRT_DIED); -	if (!xdrrec_eof(&(cd->xdrs))) -		return (XPRT_MOREREQS); -	return (XPRT_IDLE); -} - -static bool_t svctcp_recv(xprt, msg) -SVCXPRT *xprt; -register struct rpc_msg *msg; -{ -	register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1); -	register XDR *xdrs = &(cd->xdrs); - -	xdrs->x_op = XDR_DECODE; -	(void) xdrrec_skiprecord(xdrs); -	if (xdr_callmsg(xdrs, msg)) { -		cd->x_id = msg->rm_xid; -		return (TRUE); -	} -	return (FALSE); -} - -static bool_t svctcp_getargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ - -	return ((*xdr_args) -			(&(((struct tcp_conn *) (xprt->xp_p1))->xdrs), args_ptr)); -} - -static bool_t svctcp_freeargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ -	register XDR *xdrs = &(((struct tcp_conn *) (xprt->xp_p1))->xdrs); - -	xdrs->x_op = XDR_FREE; -	return ((*xdr_args) (xdrs, args_ptr)); -} - -static bool_t svctcp_reply(xprt, msg) -SVCXPRT *xprt; -register struct rpc_msg *msg; -{ -	register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1); -	register XDR *xdrs = &(cd->xdrs); -	register bool_t stat; - -	xdrs->x_op = XDR_ENCODE; -	msg->rm_xid = cd->x_id; -	stat = xdr_replymsg(xdrs, msg); -	(void) xdrrec_endofrecord(xdrs, TRUE); -	return (stat); -} - -static struct xp_ops svctcp_op = { -	svctcp_recv, -	svctcp_stat, -	svctcp_getargs, -	svctcp_reply, -	svctcp_freeargs, -	svctcp_destroy -}; - diff --git a/mdk-stage1/dietlibc/librpc/svc_udp.c b/mdk-stage1/dietlibc/librpc/svc_udp.c deleted file mode 100644 index af22f289f..000000000 --- a/mdk-stage1/dietlibc/librpc/svc_udp.c +++ /dev/null @@ -1,467 +0,0 @@ -/* @(#)svc_udp.c	2.2 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * svc_udp.c, - * Server side for UDP/IP based RPC.  (Does some caching in the hopes of - * achieving execute-at-most-once semantics.) - * - * Copyright (C) 1984, Sun Microsystems, Inc. - */ - -#include <stdio.h> -#include <rpc/rpc.h> -#include <sys/socket.h> -#include <errno.h> -#include <string.h> -#include <unistd.h> -#include "dietfeatures.h" - -#define rpc_buffer(xprt) ((xprt)->xp_p1) - -static bool_t svcudp_recv(); -static bool_t svcudp_reply(); -static enum xprt_stat svcudp_stat(); -static bool_t svcudp_getargs(); -static bool_t svcudp_freeargs(); -static void svcudp_destroy(); - -static struct xp_ops svcudp_op; - -/* - * kept in xprt->xp_p2 - */ -struct svcudp_data { -	unsigned int su_iosz;				/* byte size of send.recv buffer */ -	unsigned long su_xid;				/* transaction id */ -	XDR su_xdrs;				/* XDR handle */ -	char su_verfbody[MAX_AUTH_BYTES];	/* verifier body */ -	char *su_cache;				/* cached data, NULL if no cache */ -}; - -#define	su_data(xprt)	((struct svcudp_data *)(xprt->xp_p2)) - -static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, unsigned long* replylenp); -static void cache_set(SVCXPRT* xprt, unsigned long replylen); - -/* - * Usage: - *	xprt = svcudp_create(sock); - * - * If sock<0 then a socket is created, else sock is used. - * If the socket, sock is not bound to a port then svcudp_create - * binds it to an arbitrary port.  In any (successful) case, - * xprt->xp_sock is the registered socket number and xprt->xp_port is the - * associated port number. - * Once *xprt is initialized, it is registered as a transporter; - * see (svc.h, xprt_register). - * The routines returns NULL if a problem occurred. - */ -SVCXPRT *svcudp_bufcreate(sock, sendsz, recvsz) -register int sock; -unsigned int sendsz, recvsz; -{ -	bool_t madesock = FALSE; -	register SVCXPRT *xprt; -	register struct svcudp_data *su; -	struct sockaddr_in addr; -	int len = sizeof(struct sockaddr_in); - -	if (sock == RPC_ANYSOCK) { -		if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { -			perror("svcudp_create: socket creation problem"); -			return ((SVCXPRT *) NULL); -		} -		madesock = TRUE; -	} -	memset((char *) &addr, 0, sizeof(addr)); -	addr.sin_family = AF_INET; -	if (bindresvport(sock, &addr)) { -		addr.sin_port = 0; -		(void) bind(sock, (struct sockaddr *) &addr, len); -	} -	if (getsockname(sock, (struct sockaddr *) &addr, &len) != 0) { -		perror("svcudp_create - cannot getsockname"); -		if (madesock) -			(void) close(sock); -		return ((SVCXPRT *) NULL); -	} -	xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT)); -	if (xprt == NULL) { -		(void) fprintf(stderr, "svcudp_create: out of memory\n"); -		return (NULL); -	} -	su = (struct svcudp_data *) mem_alloc(sizeof(*su)); -	if (su == NULL) { -		(void) fprintf(stderr, "svcudp_create: out of memory\n"); -		return (NULL); -	} -	su->su_iosz = ((MAX(sendsz, recvsz) + 3) / 4) * 4; -	if ((rpc_buffer(xprt) = mem_alloc(su->su_iosz)) == NULL) { -		(void) fprintf(stderr, "svcudp_create: out of memory\n"); -		return (NULL); -	} -	xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, -				  XDR_DECODE); -	su->su_cache = NULL; -	xprt->xp_p2 = (char*) su; -	xprt->xp_verf.oa_base = su->su_verfbody; -	xprt->xp_ops = &svcudp_op; -	xprt->xp_port = ntohs(addr.sin_port); -	xprt->xp_sock = sock; -	xprt_register(xprt); -	return (xprt); -} - -SVCXPRT *svcudp_create(sock) -int sock; -{ - -	return (svcudp_bufcreate(sock, UDPMSGSIZE, UDPMSGSIZE)); -} - -static enum xprt_stat svcudp_stat(xprt) -SVCXPRT *xprt; -{ - -	return (XPRT_IDLE); -} - -static bool_t svcudp_recv(xprt, msg) -register SVCXPRT *xprt; -struct rpc_msg *msg; -{ -	register struct svcudp_data *su = su_data(xprt); -	register XDR *xdrs = &(su->su_xdrs); -	register int rlen; -	char *reply; -	unsigned long replylen; - -  again: -	xprt->xp_addrlen = sizeof(struct sockaddr_in); - -	rlen = recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz, -					0, (struct sockaddr *) &(xprt->xp_raddr), -					&(xprt->xp_addrlen)); -	if (rlen == -1 && errno == EINTR) -		goto again; -	if (rlen < 4 * sizeof(unsigned long)) -		return (FALSE); -	xdrs->x_op = XDR_DECODE; -	XDR_SETPOS(xdrs, 0); -	if (!xdr_callmsg(xdrs, msg)) -		return (FALSE); -	su->su_xid = msg->rm_xid; -	if (su->su_cache != NULL) { -		if (cache_get(xprt, msg, &reply, &replylen)) { -			(void) sendto(xprt->xp_sock, reply, (int) replylen, 0, -						  (struct sockaddr *) &xprt->xp_raddr, -						  xprt->xp_addrlen); -			return (TRUE); -		} -	} -	return (TRUE); -} - -static bool_t svcudp_reply(xprt, msg) -register SVCXPRT *xprt; -struct rpc_msg *msg; -{ -	register struct svcudp_data *su = su_data(xprt); -	register XDR *xdrs = &(su->su_xdrs); -	register int slen; -	register bool_t stat = FALSE; - -	xdrs->x_op = XDR_ENCODE; -	XDR_SETPOS(xdrs, 0); -	msg->rm_xid = su->su_xid; -	if (xdr_replymsg(xdrs, msg)) { -		slen = (int) XDR_GETPOS(xdrs); -		if (sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0, -				   (struct sockaddr *) &(xprt->xp_raddr), xprt->xp_addrlen) -			== slen) { -			stat = TRUE; -			if (su->su_cache && slen >= 0) { -				cache_set(xprt, (unsigned long) slen); -			} -		} -	} -	return (stat); -} - -static bool_t svcudp_getargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ - -	return ((*xdr_args) (&(su_data(xprt)->su_xdrs), args_ptr)); -} - -static bool_t svcudp_freeargs(xprt, xdr_args, args_ptr) -SVCXPRT *xprt; -xdrproc_t xdr_args; -char* args_ptr; -{ -	register XDR *xdrs = &(su_data(xprt)->su_xdrs); - -	xdrs->x_op = XDR_FREE; -	return ((*xdr_args) (xdrs, args_ptr)); -} - -static void svcudp_destroy(xprt) -register SVCXPRT *xprt; -{ -	register struct svcudp_data *su = su_data(xprt); - -	xprt_unregister(xprt); -	(void) close(xprt->xp_sock); -	XDR_DESTROY(&(su->su_xdrs)); -	mem_free(rpc_buffer(xprt), su->su_iosz); -	mem_free((char*) su, sizeof(struct svcudp_data)); - -	mem_free((char*) xprt, sizeof(SVCXPRT)); -} - - -/***********this could be a separate file*********************/ - -/* - * Fifo cache for udp server - * Copies pointers to reply buffers into fifo cache - * Buffers are sent again if retransmissions are detected. - */ - -#define SPARSENESS 4			/* 75% sparse */ - -#define CACHE_PERROR(msg)	\ -	(void) fprintf(stderr,"%s\n", msg) - -#define ALLOC(type, size)	\ -	(type *) mem_alloc((unsigned) (sizeof(type) * (size))) - -#define BZERO(addr, type, size)	 \ -	memset((char *) addr, 0, sizeof(type) * (int) (size)) - -/* - * An entry in the cache - */ -typedef struct cache_node *cache_ptr; -struct cache_node { -	/* -	 * Index into cache is xid, proc, vers, prog and address -	 */ -	unsigned long cache_xid; -	unsigned long cache_proc; -	unsigned long cache_vers; -	unsigned long cache_prog; -	struct sockaddr_in cache_addr; -	/* -	 * The cached reply and length -	 */ -	char *cache_reply; -	unsigned long cache_replylen; -	/* -	 * Next node on the list, if there is a collision -	 */ -	cache_ptr cache_next; -}; - - - -/* - * The entire cache - */ -struct udp_cache { -	unsigned long uc_size;				/* size of cache */ -	cache_ptr *uc_entries;		/* hash table of entries in cache */ -	cache_ptr *uc_fifo;			/* fifo list of entries in cache */ -	unsigned long uc_nextvictim;		/* points to next victim in fifo list */ -	unsigned long uc_prog;				/* saved program number */ -	unsigned long uc_vers;				/* saved version number */ -	unsigned long uc_proc;				/* saved procedure number */ -	struct sockaddr_in uc_addr;	/* saved caller's address */ -}; - - -/* - * the hashing function - */ -#define CACHE_LOC(transp, xid)	\ - (xid % (SPARSENESS*((struct udp_cache *) su_data(transp)->su_cache)->uc_size)) - - -/* - * Enable use of the cache.  - * Note: there is no disable. - */ -int svcudp_enablecache(SVCXPRT* transp, unsigned long size) -{ -	struct svcudp_data *su = su_data(transp); -	struct udp_cache *uc; - -	if (su->su_cache != NULL) { -		CACHE_PERROR("enablecache: cache already enabled"); -		return (0); -	} -	uc = ALLOC(struct udp_cache, 1); -	if (uc == NULL) { -		CACHE_PERROR("enablecache: could not allocate cache"); -		return (0); -	} -	uc->uc_size = size; -	uc->uc_nextvictim = 0; -	uc->uc_entries = ALLOC(cache_ptr, size * SPARSENESS); -	if (uc->uc_entries == NULL) { -		CACHE_PERROR("enablecache: could not allocate cache data"); -		return (0); -	} -	BZERO(uc->uc_entries, cache_ptr, size * SPARSENESS); -	uc->uc_fifo = ALLOC(cache_ptr, size); -	if (uc->uc_fifo == NULL) { -		CACHE_PERROR("enablecache: could not allocate cache fifo"); -		return (0); -	} -	BZERO(uc->uc_fifo, cache_ptr, size); -	su->su_cache = (char *) uc; -	return (1); -} - - -/* - * Set an entry in the cache - */ -static void cache_set(SVCXPRT* xprt, unsigned long replylen) -{ -	register cache_ptr victim; -	register cache_ptr *vicp; -	register struct svcudp_data *su = su_data(xprt); -	struct udp_cache *uc = (struct udp_cache *) su->su_cache; -	unsigned int loc; -	char *newbuf; - -	/* -	 * Find space for the new entry, either by -	 * reusing an old entry, or by mallocing a new one -	 */ -	victim = uc->uc_fifo[uc->uc_nextvictim]; -	if (victim != NULL) { -		loc = CACHE_LOC(xprt, victim->cache_xid); -		for (vicp = &uc->uc_entries[loc]; -			 *vicp != NULL && *vicp != victim; -			 vicp = &(*vicp)->cache_next); -		if (*vicp == NULL) { -			CACHE_PERROR("cache_set: victim not found"); -			return; -		} -		*vicp = victim->cache_next;	/* remote from cache */ -		newbuf = victim->cache_reply; -	} else { -		victim = ALLOC(struct cache_node, 1); - -		if (victim == NULL) { -			CACHE_PERROR("cache_set: victim alloc failed"); -			return; -		} -		newbuf = mem_alloc(su->su_iosz); -		if (newbuf == NULL) { -			CACHE_PERROR("cache_set: could not allocate new rpc_buffer"); -			return; -		} -	} - -	/* -	 * Store it away -	 */ -	victim->cache_replylen = replylen; -	victim->cache_reply = rpc_buffer(xprt); -	rpc_buffer(xprt) = newbuf; -	xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, -				  XDR_ENCODE); -	victim->cache_xid = su->su_xid; -	victim->cache_proc = uc->uc_proc; -	victim->cache_vers = uc->uc_vers; -	victim->cache_prog = uc->uc_prog; -	victim->cache_addr = uc->uc_addr; -	loc = CACHE_LOC(xprt, victim->cache_xid); -	victim->cache_next = uc->uc_entries[loc]; -	uc->uc_entries[loc] = victim; -	uc->uc_fifo[uc->uc_nextvictim++] = victim; -	uc->uc_nextvictim %= uc->uc_size; -} - -/* - * Try to get an entry from the cache - * return 1 if found, 0 if not found - */ -static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, unsigned long* replylenp) -{ -	unsigned int loc; -	register cache_ptr ent; -	register struct svcudp_data *su = su_data(xprt); -	register struct udp_cache *uc = (struct udp_cache *) su->su_cache; - -#	define EQADDR(a1, a2)	(memcmp((char*)&a1, (char*)&a2, sizeof(a1)) == 0) - -	loc = CACHE_LOC(xprt, su->su_xid); -	for (ent = uc->uc_entries[loc]; ent != NULL; ent = ent->cache_next) { -		if (ent->cache_xid == su->su_xid && -			ent->cache_proc == uc->uc_proc && -			ent->cache_vers == uc->uc_vers && -			ent->cache_prog == uc->uc_prog && -			EQADDR(ent->cache_addr, uc->uc_addr)) { -			*replyp = ent->cache_reply; -			*replylenp = ent->cache_replylen; -			return (1); -		} -	} -	/* -	 * Failed to find entry -	 * Remember a few things so we can do a set later -	 */ -	uc->uc_proc = msg->rm_call.cb_proc; -	uc->uc_vers = msg->rm_call.cb_vers; -	uc->uc_prog = msg->rm_call.cb_prog; -	uc->uc_addr = xprt->xp_raddr; -	return (0); -} - -static struct xp_ops svcudp_op = { -	svcudp_recv, -	svcudp_stat, -	svcudp_getargs, -	svcudp_reply, -	svcudp_freeargs, -	svcudp_destroy -}; - diff --git a/mdk-stage1/dietlibc/librpc/xdr.c b/mdk-stage1/dietlibc/librpc/xdr.c deleted file mode 100644 index 8849dde7a..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr.c +++ /dev/null @@ -1,576 +0,0 @@ -/* @(#)xdr.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)xdr.c 1.35 87/08/12"; -#endif - -/* - * xdr.c, Generic XDR routines implementation. - * - * Copyright (C) 1986, Sun Microsystems, Inc. - * - * These are the "generic" xdr routines used to serialize and de-serialize - * most common data items.  See xdr.h for more info on the interface to - * xdr. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <string.h> - -/* - * constants specific to the xdr "protocol" - */ -#define XDR_FALSE	((long) 0) -#define XDR_TRUE	((long) 1) -#define LASTUNSIGNED	((unsigned int) 0-1) - -/* - * for unit alignment - */ -static char xdr_zero[BYTES_PER_XDR_UNIT] = { 0, 0, 0, 0 }; - -/* - * Free a data structure using XDR - * Not a filter, but a convenient utility nonetheless - */ -void xdr_free(xdrproc_t proc, char* objp) -{ -	XDR x; - -	x.x_op = XDR_FREE; -	(*proc) (&x, objp); -} - -/* - * XDR nothing - */ -bool_t xdr_void( /* xdrs, addr */ ) -	/* XDR *xdrs; */ -	/* char* addr; */ -{ - -	return (TRUE); -} - -/* - * XDR integers - */ -bool_t xdr_int(XDR* xdrs, int* ip) -{ -	if (sizeof(int) == sizeof(long)) { -		return (xdr_long(xdrs, (long *) ip)); -	} else if (sizeof(int) < sizeof(long)) { -	  long l; -	  switch (xdrs->x_op) { -	  case XDR_ENCODE: -		l = (long) *ip; -		return XDR_PUTLONG(xdrs, &l); -	  case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &l)) -		  return FALSE; -		*ip = (int) l; -	  case XDR_FREE: -		return TRUE; -	  } -	  return FALSE; -	} else { -		return (xdr_short(xdrs, (short *) ip)); -	} -} - -/* - * XDR unsigned integers - */ -bool_t xdr_u_int(XDR* xdrs, unsigned int* up) -{ -	if (sizeof(unsigned int) == sizeof(unsigned long)) { -		return (xdr_u_long(xdrs, (unsigned long *) up)); -	} else if (sizeof(unsigned int) < sizeof(unsigned long)) { -	  unsigned long l; -	  switch (xdrs->x_op) { -	  case XDR_ENCODE: -		l = (unsigned long) *up; -		return XDR_PUTLONG(xdrs, &l); -	  case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &l)) -		  return FALSE; -		*up = (unsigned int) l; -	  case XDR_FREE: -		return TRUE; -	  } -	  return FALSE; -	} else { -		return (xdr_short(xdrs, (short *) up)); -	} -} - -/* - * XDR long integers - * same as xdr_u_long - open coded to save a proc call! - */ -bool_t xdr_long(XDR* xdrs, long* lp) -{ - -	if (xdrs->x_op == XDR_ENCODE -		&& (sizeof(int32_t) == sizeof(long) -			|| (int32_t) *lp == *lp)) -		return (XDR_PUTLONG(xdrs, lp)); - -	if (xdrs->x_op == XDR_DECODE) -		return (XDR_GETLONG(xdrs, lp)); - -	if (xdrs->x_op == XDR_FREE) -		return (TRUE); - -	return (FALSE); -} - -/* - * XDR unsigned long integers - * same as xdr_long - open coded to save a proc call! - */ -bool_t xdr_u_long(XDR* xdrs, unsigned long* ulp) -{ - -  if (xdrs->x_op == XDR_DECODE) { -	long l; -	if (XDR_GETLONG(xdrs, &l) == FALSE) -	  return FALSE; -	*ulp = (uint32_t) l; -	return TRUE; -  } - -  if (xdrs->x_op == XDR_ENCODE) { -	if (sizeof(uint32_t) != sizeof(unsigned long) -		&& (uint32_t) *ulp != *ulp) -	  return FALSE; - -		return (XDR_PUTLONG(xdrs, (long *) ulp)); -  } - -	if (xdrs->x_op == XDR_FREE) -		return (TRUE); - -	return (FALSE); -} - -/* - * XDR short integers - */ -bool_t xdr_short(XDR* xdrs, short* sp) -{ -	long l; - -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -		l = (long) *sp; -		return (XDR_PUTLONG(xdrs, &l)); - -	case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &l)) { -			return (FALSE); -		} -		*sp = (short) l; -		return (TRUE); - -	case XDR_FREE: -		return (TRUE); -	} -	return (FALSE); -} - -/* - * XDR unsigned short integers - */ -bool_t xdr_u_short(XDR* xdrs, unsigned short* usp) -{ -	unsigned long l; - -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -		l = (unsigned long) * usp; -		return (XDR_PUTLONG(xdrs, &l)); - -	case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &l)) { -			return (FALSE); -		} -		*usp = (unsigned short) l; -		return (TRUE); - -	case XDR_FREE: -		return (TRUE); -	} -	return (FALSE); -} - - -/* - * XDR a char - */ -bool_t xdr_char(XDR* xdrs, char* cp) -{ -	int i; - -	i = (*cp); -	if (!xdr_int(xdrs, &i)) { -		return (FALSE); -	} -	*cp = i; -	return (TRUE); -} - -/* - * XDR an unsigned char - */ -bool_t xdr_u_char(XDR* xdrs, unsigned char* cp) -{ -	unsigned int u; - -	u = (*cp); -	if (!xdr_u_int(xdrs, &u)) { -		return (FALSE); -	} -	*cp = u; -	return (TRUE); -} - -/* - * XDR booleans - */ -bool_t xdr_bool(xdrs, bp) -register XDR *xdrs; -bool_t *bp; -{ -	long lb; - -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -		lb = *bp ? XDR_TRUE : XDR_FALSE; -		return (XDR_PUTLONG(xdrs, &lb)); - -	case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &lb)) { -			return (FALSE); -		} -		*bp = (lb == XDR_FALSE) ? FALSE : TRUE; -		return (TRUE); - -	case XDR_FREE: -		return (TRUE); -	} -	return (FALSE); -} - -/* - * XDR enumerations - */ -bool_t xdr_enum(xdrs, ep) -XDR *xdrs; -enum_t *ep; -{ -	enum sizecheck { SIZEVAL };	/* used to find the size of an enum */ - -	/* -	 * enums are treated as ints -	 */ -	if (sizeof(enum sizecheck) == sizeof(long)) { -		return (xdr_long(xdrs, (long *) ep)); -	} else if (sizeof(enum sizecheck) == sizeof(int)) { -	  long l; -	  switch (xdrs->x_op) { -	  case XDR_ENCODE: -		l = *ep; -		return XDR_PUTLONG(xdrs, &l); -	  case XDR_DECODE: -		if (!XDR_GETLONG(xdrs, &l)) -		  return FALSE; -		*ep = l; -	  case XDR_FREE: -		return TRUE; -	  } -	  return FALSE; -	} else if (sizeof(enum sizecheck) == sizeof(short)) { -		return (xdr_short(xdrs, (short *) ep)); -	} else { -		return (FALSE); -	} -} - -/* - * XDR opaque data - * Allows the specification of a fixed size sequence of opaque bytes. - * cp points to the opaque object and cnt gives the byte length. - */ -bool_t xdr_opaque(xdrs, cp, cnt) -register XDR *xdrs; -char* cp; -register unsigned int cnt; -{ -	register unsigned int rndup; -	static char crud[BYTES_PER_XDR_UNIT]; - -	/* -	 * if no data we are done -	 */ -	if (cnt == 0) -		return (TRUE); - -	/* -	 * round byte count to full xdr units -	 */ -	rndup = cnt % BYTES_PER_XDR_UNIT; -	if (rndup > 0) -		rndup = BYTES_PER_XDR_UNIT - rndup; - -	if (xdrs->x_op == XDR_DECODE) { -		if (!XDR_GETBYTES(xdrs, cp, cnt)) { -			return (FALSE); -		} -		if (rndup == 0) -			return (TRUE); -		return (XDR_GETBYTES(xdrs, crud, rndup)); -	} - -	if (xdrs->x_op == XDR_ENCODE) { -		if (!XDR_PUTBYTES(xdrs, cp, cnt)) { -			return (FALSE); -		} -		if (rndup == 0) -			return (TRUE); -		return (XDR_PUTBYTES(xdrs, xdr_zero, rndup)); -	} - -	if (xdrs->x_op == XDR_FREE) { -		return (TRUE); -	} - -	return (FALSE); -} - -/* - * XDR counted bytes - * *cpp is a pointer to the bytes, *sizep is the count. - * If *cpp is NULL maxsize bytes are allocated - */ -bool_t xdr_bytes(xdrs, cpp, sizep, maxsize) -register XDR *xdrs; -char **cpp; -register unsigned int *sizep; -unsigned int maxsize; -{ -	register char *sp = *cpp;	/* sp is the actual string pointer */ -	register unsigned int nodesize; - -	/* -	 * first deal with the length since xdr bytes are counted -	 */ -	if (!xdr_u_int(xdrs, sizep)) { -		return (FALSE); -	} -	nodesize = *sizep; -	if ((nodesize > maxsize) && (xdrs->x_op != XDR_FREE)) { -		return (FALSE); -	} - -	/* -	 * now deal with the actual bytes -	 */ -	switch (xdrs->x_op) { - -	case XDR_DECODE: -		if (nodesize == 0) { -			return (TRUE); -		} -		if (sp == NULL) { -			*cpp = sp = (char *) mem_alloc(nodesize); -		} -		if (sp == NULL) { -			(void) fprintf(stderr, "xdr_bytes: out of memory\n"); -			return (FALSE); -		} -		/* fall into ... */ - -	case XDR_ENCODE: -		return (xdr_opaque(xdrs, sp, nodesize)); - -	case XDR_FREE: -		if (sp != NULL) { -			mem_free(sp, nodesize); -			*cpp = NULL; -		} -		return (TRUE); -	} -	return (FALSE); -} - -/* - * Implemented here due to commonality of the object. - */ -bool_t xdr_netobj(xdrs, np) -XDR *xdrs; -struct netobj *np; -{ - -	return (xdr_bytes(xdrs, &np->n_bytes, &np->n_len, MAX_NETOBJ_SZ)); -} - -/* - * XDR a descriminated union - * Support routine for discriminated unions. - * You create an array of xdrdiscrim structures, terminated with - * an entry with a null procedure pointer.  The routine gets - * the discriminant value and then searches the array of xdrdiscrims - * looking for that value.  It calls the procedure given in the xdrdiscrim - * to handle the discriminant.  If there is no specific routine a default - * routine may be called. - * If there is no specific or default routine an error is returned. - */ -bool_t xdr_union(XDR* xdrs, enum_t* dscmp, char* unp, const struct xdr_discrim* choices, xdrproc_t dfault) -{ -	register enum_t dscm; - -	/* -	 * we deal with the discriminator;  it's an enum -	 */ -	if (!xdr_enum(xdrs, dscmp)) { -		return (FALSE); -	} -	dscm = *dscmp; - -	/* -	 * search choices for a value that matches the discriminator. -	 * if we find one, execute the xdr routine for that value. -	 */ -	for (; choices->proc != NULL_xdrproc_t; choices++) { -		if (choices->value == dscm) -			return ((*(choices->proc)) (xdrs, unp, LASTUNSIGNED)); -	} - -	/* -	 * no match - execute the default xdr routine if there is one -	 */ -	return ((dfault == NULL_xdrproc_t) ? FALSE : -			(*dfault) (xdrs, unp, LASTUNSIGNED)); -} - - -/* - * Non-portable xdr primitives. - * Care should be taken when moving these routines to new architectures. - */ - - -/* - * XDR null terminated ASCII strings - * xdr_string deals with "C strings" - arrays of bytes that are - * terminated by a NULL character.  The parameter cpp references a - * pointer to storage; If the pointer is null, then the necessary - * storage is allocated.  The last parameter is the max allowed length - * of the string as specified by a protocol. - */ -bool_t xdr_string(xdrs, cpp, maxsize) -register XDR *xdrs; -char **cpp; -unsigned int maxsize; -{ -	register char *sp = *cpp;	/* sp is the actual string pointer */ -	unsigned int size; -	unsigned int nodesize; - -	/* -	 * first deal with the length since xdr strings are counted-strings -	 */ -	switch (xdrs->x_op) { -	case XDR_FREE: -		if (sp == NULL) { -			return (TRUE);		/* already free */ -		} -		/* fall through... */ -	case XDR_ENCODE: -		size = strlen(sp); -		break; -	} -	if (!xdr_u_int(xdrs, &size)) { -		return (FALSE); -	} -	if (size > maxsize) { -		return (FALSE); -	} -	nodesize = size + 1; - -	/* -	 * now deal with the actual bytes -	 */ -	switch (xdrs->x_op) { - -	case XDR_DECODE: -		if (nodesize == 0) { -			return (TRUE); -		} -		if (sp == NULL) -			*cpp = sp = (char *) mem_alloc(nodesize); -		if (sp == NULL) { -			(void) fprintf(stderr, "xdr_string: out of memory\n"); -			return (FALSE); -		} -		sp[size] = 0; -		/* fall into ... */ - -	case XDR_ENCODE: -		return (xdr_opaque(xdrs, sp, size)); - -	case XDR_FREE: -		mem_free(sp, nodesize); -		*cpp = NULL; -		return (TRUE); -	} -	return (FALSE); -} - -/*  - * Wrapper for xdr_string that can be called directly from  - * routines like clnt_call - */ -bool_t xdr_wrapstring(xdrs, cpp) -XDR *xdrs; -char **cpp; -{ -	if (xdr_string(xdrs, cpp, LASTUNSIGNED)) { -		return (TRUE); -	} -	return (FALSE); -} diff --git a/mdk-stage1/dietlibc/librpc/xdr_array.c b/mdk-stage1/dietlibc/librpc/xdr_array.c deleted file mode 100644 index f0c9bbbb3..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_array.c +++ /dev/null @@ -1,162 +0,0 @@ -/* @(#)xdr_array.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * xdr_array.c, Generic XDR routines impelmentation. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * These are the "non-trivial" xdr primitives used to serialize and de-serialize - * arrays.  See xdr.h for more info on the interface to xdr. - */ - -#include <stdio.h> - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <string.h> - -#define LASTUNSIGNED	((unsigned int)0-1) - - -/* - * XDR an array of arbitrary elements - * *addrp is a pointer to the array, *sizep is the number of elements. - * If addrp is NULL (*sizep * elsize) bytes are allocated. - * elsize is the size (in bytes) of each element, and elproc is the - * xdr procedure to call to handle each element of the array. - */ -bool_t xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc) -register XDR *xdrs; -char* *addrp;					/* array pointer */ -unsigned int *sizep;					/* number of elements */ -unsigned int maxsize;					/* max numberof elements */ -unsigned int elsize;					/* size in bytes of each element */ -xdrproc_t elproc;				/* xdr routine to handle each element */ -{ -	register unsigned int i; -	register char* target = *addrp; -	register unsigned int c;			/* the actual element count */ -	register bool_t stat = TRUE; -	register unsigned int nodesize; - -	/* like strings, arrays are really counted arrays */ -	if (!xdr_u_int(xdrs, sizep)) { -		return (FALSE); -	} -	c = *sizep; -	if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) { -		return (FALSE); -	} -	/* duh, look for integer overflow (fefe) */ -	{ -	  unsigned int i; -	  nodesize = 0; -	  for (i=c; i; --i) { -	    unsigned int tmp=nodesize+elsize; -	    if (tmp<nodesize)	/* overflow */ -	      return FALSE; -	    nodesize=tmp; -	  } -	} - -	/* -	 * if we are deserializing, we may need to allocate an array. -	 * We also save time by checking for a null array if we are freeing. -	 */ -	if (target == NULL) -		switch (xdrs->x_op) { -		case XDR_DECODE: -			if (c == 0) -				return (TRUE); -			*addrp = target = mem_alloc(nodesize); -			if (target == NULL) { -				(void) fprintf(stderr, "xdr_array: out of memory\n"); -				return (FALSE); -			} -			memset(target, 0, nodesize); -			break; - -		case XDR_FREE: -			return (TRUE); -		} - -	/* -	 * now we xdr each element of array -	 */ -	for (i = 0; (i < c) && stat; i++) { -		stat = (*elproc) (xdrs, target, LASTUNSIGNED); -		target += elsize; -	} - -	/* -	 * the array may need freeing -	 */ -	if (xdrs->x_op == XDR_FREE) { -		mem_free(*addrp, nodesize); -		*addrp = NULL; -	} -	return (stat); -} - -/* - * xdr_vector(): - * - * XDR a fixed length array. Unlike variable-length arrays, - * the storage of fixed length arrays is static and unfreeable. - * > basep: base of the array - * > size: size of the array - * > elemsize: size of each element - * > xdr_elem: routine to XDR each element - */ -bool_t xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem) -register XDR *xdrs; -register char *basep; -register unsigned int nelem; -register unsigned int elemsize; -register xdrproc_t xdr_elem; -{ -	register unsigned int i; -	register char *elptr; - -	elptr = basep; -	for (i = 0; i < nelem; i++) { -		if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) { -			return (FALSE); -		} -		elptr += elemsize; -	} -	return (TRUE); -} diff --git a/mdk-stage1/dietlibc/librpc/xdr_float.c b/mdk-stage1/dietlibc/librpc/xdr_float.c deleted file mode 100644 index f8eb5e99c..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_float.c +++ /dev/null @@ -1,284 +0,0 @@ -/* @(#)xdr_float.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * xdr_float.c, Generic XDR routines impelmentation. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * These are the "floating point" xdr routines used to (de)serialize - * most common data items.  See xdr.h for more info on the interface to - * xdr. - */ - -#include <stdio.h> - -#include <rpc/types.h> -#include <rpc/xdr.h> - -/* - * NB: Not portable. - * This routine works on Suns (Sky / 68000's) and Vaxen. - */ - -#ifdef __linux__ -/* cheat big time */ -#define sparc -#endif - -#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(xdrs, fp) -register XDR *xdrs; -register float *fp; -{ -#if !defined(mc68000) && !defined(sparc) -	struct ieee_single is; -	struct vax_single vs, *vsp; -	struct sgl_limits *lim; -	int i; -#endif -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -#if defined(mc68000) || defined(sparc) -		return (XDR_PUTLONG(xdrs, (long *) fp)); -#else -		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)); -#endif - -	case XDR_DECODE: -#if defined(mc68000) || defined(sparc) -		return (XDR_GETLONG(xdrs, (long *) fp)); -#else -		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); -#endif - -	case XDR_FREE: -		return (TRUE); -	} -	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(xdrs, dp) -register XDR *xdrs; -double *dp; -{ -	register long *lp; - -#if !defined(mc68000) && !defined(sparc) -	struct ieee_double id; -	struct vax_double vd; -	register struct dbl_limits *lim; -	int i; -#endif - -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -#if defined(mc68000) || defined(sparc) -		lp = (long *) dp; -#else -		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; -		lp = (long *) &id; -#endif -		return (XDR_PUTLONG(xdrs, lp++) && XDR_PUTLONG(xdrs, lp)); - -	case XDR_DECODE: -#if defined(mc68000) || defined(sparc) -		lp = (long *) dp; -		return (XDR_GETLONG(xdrs, lp++) && XDR_GETLONG(xdrs, lp)); -#else -		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); -#endif - -	case XDR_FREE: -		return (TRUE); -	} -	return (FALSE); -} diff --git a/mdk-stage1/dietlibc/librpc/xdr_mem.c b/mdk-stage1/dietlibc/librpc/xdr_mem.c deleted file mode 100644 index c21121183..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_mem.c +++ /dev/null @@ -1,166 +0,0 @@ -/* @(#)xdr_mem.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * xdr_mem.h, XDR implementation using memory buffers. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * If you have some data to be interpreted as external data representation - * or to be converted to external data representation in a memory buffer, - * then this is the package for you. - * - */ - -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <netinet/in.h> -#include <string.h> -#include <limits.h> - -static bool_t xdrmem_getlong (XDR *, long *); -static bool_t xdrmem_putlong (XDR *, const long *); -static bool_t xdrmem_getbytes (XDR *, char *, unsigned int); -static bool_t xdrmem_putbytes (XDR *, const char *, unsigned int); -static unsigned int xdrmem_getpos (const XDR *); -static bool_t xdrmem_setpos (XDR *, unsigned int); -static int32_t *xdrmem_inline (XDR *, unsigned int); -static void xdrmem_destroy (XDR *); - -static struct xdr_ops xdrmem_ops = { -	xdrmem_getlong, -	xdrmem_putlong, -	xdrmem_getbytes, -	xdrmem_putbytes, -	xdrmem_getpos, -	xdrmem_setpos, -	xdrmem_inline, -	xdrmem_destroy -}; - - -/* - * The procedure xdrmem_create initializes a stream descriptor for a - * memory buffer.   - */ -void -xdrmem_create (XDR *xdrs, const char* addr, unsigned int size, enum xdr_op op) -{ -	xdrs->x_op = op; -	xdrs->x_ops = &xdrmem_ops; -	xdrs->x_private = xdrs->x_base = (char*)addr; -	xdrs->x_handy = size; -} - -static void -xdrmem_destroy (XDR *xdrs) -{ -} - -static bool_t -xdrmem_getlong (XDR *xdrs, long *lp) -{ -  if (xdrs->x_handy < 4) return FALSE; -  xdrs->x_handy -= 4; - -  *lp = (int32_t) ntohl((*((int32_t *) (xdrs->x_private)))); -  xdrs->x_private += 4; -  return TRUE; -} - -static bool_t -xdrmem_putlong (XDR *xdrs, const long *lp) -{ -  if (xdrs->x_handy < 4) return FALSE; -  xdrs->x_handy -= 4; - -  *(int32_t *) xdrs->x_private = htonl(*lp); -  xdrs->x_private += 4; -  return (TRUE); -} - -static bool_t -xdrmem_getbytes (XDR *xdrs, char *addr, unsigned int len) -{ -  if (xdrs->x_handy < len) return FALSE; -  xdrs->x_handy -= len; -  memmove(addr, xdrs->x_private, len); -  xdrs->x_private += len; -  return TRUE; -} - -static bool_t -xdrmem_putbytes (XDR *xdrs, const char *addr, unsigned int len) -{ -  if (xdrs->x_handy < len) return FALSE; -  xdrs->x_handy -= len; -  memmove(xdrs->x_private, addr, len); -  xdrs->x_private += len; -  return (TRUE); -} - -static unsigned int -xdrmem_getpos (const XDR *xdrs) -{ -	return ((unsigned long) xdrs->x_private - (unsigned long) xdrs->x_base); -} - -static bool_t xdrmem_setpos(xdrs, pos) -register XDR *xdrs; -unsigned int pos; -{ -  register char* newaddr = xdrs->x_base + pos; -  register char* lastaddr = xdrs->x_private + xdrs->x_handy; - -  if ((long) newaddr > (long) lastaddr -	  || (UINT_MAX < LONG_MAX -		  && (long) UINT_MAX < (long) lastaddr - (long) newaddr)) -	  return (FALSE); -  xdrs->x_private = newaddr; -  xdrs->x_handy = (long) lastaddr - (long) newaddr; -  return (TRUE); -} - -static int32_t * -xdrmem_inline (XDR *xdrs, unsigned int len) -{ -	int32_t *buf = 0; - -	if (xdrs->x_handy >= len) { -		xdrs->x_handy -= len; -		buf = (int32_t *) xdrs->x_private; -		xdrs->x_private += len; -	} -	return (buf); -} - diff --git a/mdk-stage1/dietlibc/librpc/xdr_rec.c b/mdk-stage1/dietlibc/librpc/xdr_rec.c deleted file mode 100644 index ab0b6fd8d..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_rec.c +++ /dev/null @@ -1,572 +0,0 @@ -/* @(#)xdr_rec.c	2.2 88/08/01 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking" - * layer above tcp (for rpc's use). - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * These routines interface XDRSTREAMS to a tcp/ip connection. - * There is a record marking layer between the xdr stream - * and the tcp transport level.  A record is composed on one or more - * record fragments.  A record fragment is a thirty-two bit header followed - * by n bytes of data, where n is contained in the header.  The header - * is represented as a htonl(unsigned long).  Thegh order bit encodes - * whether or not the fragment is the last fragment of the record - * (1 => fragment is last, 0 => more fragments to follow.  - * The other 31 bits encode the byte length of the fragment. - */ - -#include <stdio.h> -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <netinet/in.h> -#include <string.h> -#include <unistd.h> - -static unsigned int fix_buf_size (unsigned int); - -static bool_t xdrrec_getlong (XDR *, long *); -static bool_t xdrrec_putlong (XDR *, const long *); -static bool_t xdrrec_getbytes (XDR *, char *, unsigned int); -static bool_t xdrrec_putbytes (XDR *, const char *, unsigned int); -static unsigned int xdrrec_getpos (const XDR *); -static bool_t xdrrec_setpos (XDR *, unsigned int); -static int32_t *xdrrec_inline (XDR *, unsigned int); -static void xdrrec_destroy (XDR *); - -static struct xdr_ops xdrrec_ops = { -	xdrrec_getlong, -	xdrrec_putlong, -	xdrrec_getbytes, -	xdrrec_putbytes, -	xdrrec_getpos, -	xdrrec_setpos, -	xdrrec_inline, -	xdrrec_destroy -}; - - -/* - * A record is composed of one or more record fragments. - * A record fragment is a two-byte header followed by zero to - * 2**32-1 bytes.  The header is treated as a long unsigned and is - * encode/decoded to the network via htonl/ntohl.  The low order 31 bits - * are a byte count of the fragment.  The highest order bit is a boolean: - * 1 => this fragment is the last fragment of the record, - * 0 => this fragment is followed by more fragment(s). - * - * The fragment/record machinery is not general;  it is constructed to - * meet the needs of xdr and rpc based on tcp. - */ - -#define LAST_FRAG ((unsigned long)(1 << 31)) - -typedef struct rec_strm { -	char* tcp_handle; -	char* the_buffer; -	/* -	 * out-goung bits -	 */ -    int (*writeit) (char *, char *, int); -	char* out_base;			/* output buffer (points to frag header) */ -	char* out_finger;			/* next output position */ -	char* out_boundry;		/* data cannot up to this address */ -	uint32_t *frag_header;		/* beginning of curren fragment */ -	bool_t frag_sent;			/* true if buffer sent in middle of record */ -	/* -	 * in-coming bits -	 */ -    int (*readit) (char *, char *, int); -	unsigned long in_size;				/* fixed size of the input buffer */ -	char* in_base; -	char* in_finger;			/* location of next byte to be had */ -	char* in_boundry;			/* can read up to this location */ -	long fbtbc;					/* fragment bytes to be consumed */ -	bool_t last_frag; -	unsigned int sendsize; -	unsigned int recvsize; -} RECSTREAM; - - -/* - * Create an xdr handle for xdrrec - * xdrrec_create fills in xdrs.  Sendsize and recvsize are - * send and recv buffer sizes (0 => use default). - * tcp_handle is an opaque handle that is passed as the first parameter to - * the procedures readit and writeit.  Readit and writeit are read and - * write respectively.   They are like the system - * calls expect that they take an opaque handle rather than an fd. - */ -void -xdrrec_create (XDR *xdrs, unsigned int sendsize, -	       unsigned int recvsize, char *tcp_handle, -	       int (*readit) (char *, char *, int), -	       int (*writeit) (char *, char *, int)) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) mem_alloc(sizeof(RECSTREAM)); - -	if (rstrm == NULL) { -		(void) fprintf(stderr, "xdrrec_create: out of memory\n"); -		/*  -		 *  This is bad.  Should rework xdrrec_create to  -		 *  return a handle, and in this case return NULL -		 */ -		return; -	} -	/* -	 * adjust sizes and allocate buffer quad byte aligned -	 */ -	rstrm->sendsize = sendsize = fix_buf_size(sendsize); -	rstrm->recvsize = recvsize = fix_buf_size(recvsize); -	rstrm->the_buffer = -		mem_alloc(sendsize + recvsize + BYTES_PER_XDR_UNIT); -	if (rstrm->the_buffer == NULL) { -		(void) fprintf(stderr, "xdrrec_create: out of memory\n"); -		return; -	} -	for (rstrm->out_base = rstrm->the_buffer; -		 (unsigned long) rstrm->out_base % BYTES_PER_XDR_UNIT != 0; -		 rstrm->out_base++); -	rstrm->in_base = rstrm->out_base + sendsize; -	/* -	 * now the rest ... -	 */ -	xdrs->x_ops = &xdrrec_ops; -	xdrs->x_private = (char*) rstrm; -	rstrm->tcp_handle = tcp_handle; -	rstrm->readit = readit; -	rstrm->writeit = writeit; -	rstrm->out_finger = rstrm->out_boundry = rstrm->out_base; -	rstrm->frag_header = (uint32_t *) rstrm->out_base; -	rstrm->out_finger += 4; -	rstrm->out_boundry += sendsize; -	rstrm->frag_sent = FALSE; -	rstrm->in_size = recvsize; -	rstrm->in_boundry = rstrm->in_base; -	rstrm->in_finger = (rstrm->in_boundry += recvsize); -	rstrm->fbtbc = 0; -	rstrm->last_frag = TRUE; -} - - -/* - * The reoutines defined below are the xdr ops which will go into the - * xdr handle filled in by xdrrec_create. - */ - -static bool_t -xdrrec_getlong (XDR *xdrs, long *lp) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); -	register int32_t *buflp = (int32_t *) (rstrm->in_finger); -	int32_t mylong; - -	/* first try the inline, fast case */ -	if ((rstrm->fbtbc >= BYTES_PER_XDR_UNIT) && -		((rstrm->in_boundry - (char *) buflp) >= BYTES_PER_XDR_UNIT)) { -		*lp = (int32_t) ntohl(*buflp); -		rstrm->fbtbc -= BYTES_PER_XDR_UNIT; -		rstrm->in_finger += BYTES_PER_XDR_UNIT; -	} else { -		if (!xdrrec_getbytes(xdrs, (char*) & mylong, BYTES_PER_XDR_UNIT)) -			return (FALSE); - -		*lp = (int32_t) ntohl(mylong); -	} -	return (TRUE); -} - -/* - * Internal useful routines - */ -static bool_t flush_out(RECSTREAM* rstrm, bool_t eor) -{ -	register unsigned long eormask = (eor == TRUE) ? LAST_FRAG : 0; -	register unsigned long len = (rstrm->out_finger -								  - (char *) rstrm->frag_header -								  - BYTES_PER_XDR_UNIT); - -	*(rstrm->frag_header) = htonl(len | eormask); -	len = rstrm->out_finger - rstrm->out_base; -	if ((*(rstrm->writeit)) (rstrm->tcp_handle, rstrm->out_base, (int) len) -		!= (int) len) -		return (FALSE); -	rstrm->frag_header = (uint32_t *) rstrm->out_base; -	rstrm->out_finger = (char*) rstrm->out_base + BYTES_PER_XDR_UNIT; -	return (TRUE); -} - -static bool_t -/* knows nothing about records!  Only about input buffers */ -fill_input_buf(rstrm) -register RECSTREAM *rstrm; -{ -	register char* where; -	unsigned int i; -	register int len; - -	where = rstrm->in_base; -	i = (unsigned long) rstrm->in_boundry % BYTES_PER_XDR_UNIT; -	where += i; -	len = rstrm->in_size - i; -	if ((len = (*(rstrm->readit)) (rstrm->tcp_handle, where, len)) == -1) -		return (FALSE); -	rstrm->in_finger = where; -	where += len; -	rstrm->in_boundry = where; -	return (TRUE); -} - -static bool_t -/* knows nothing about records!  Only about input buffers */ -get_input_bytes(rstrm, addr, len) -register RECSTREAM *rstrm; -register char* addr; -register int len; -{ -	register int current; - -	while (len > 0) { -		current = rstrm->in_boundry - rstrm->in_finger; -		if (current == 0) { -			if (!fill_input_buf(rstrm)) -				return (FALSE); -			continue; -		} -		current = (len < current) ? len : current; -		memmove(addr, rstrm->in_finger, current); -		rstrm->in_finger += current; -		addr += current; -		len -= current; -	} -	return (TRUE); -} - -static bool_t -/* next two bytes of the input stream are treated as a header */ -set_input_fragment(rstrm) -register RECSTREAM *rstrm; -{ -	uint32_t header; - -	if (!get_input_bytes(rstrm, (char*) & header, sizeof(header))) -		return (FALSE); -	header = ntohl(header); -	rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE; -	/* -	 * Sanity check. Try not to accept wildly incorrect fragment -	 * sizes. Unfortunately, only a size of zero can be identified as -	 * 'wildely incorrect', and this only, if it is not the last -	 * fragment of a message. Ridiculously large fragment sizes may look -	 * wrong, but we don't have any way to be certain that they aren't -	 * what the client actually intended to send us. Many existing RPC -	 * implementations may sent a fragment of size zero as the last -	 * fragment of a message. -	 */ -	if (header == 0) -	  return FALSE; -	rstrm->fbtbc = header & (~LAST_FRAG); -	return (TRUE); -} - -static bool_t -/* consumes input bytes; knows nothing about records! */ -skip_input_bytes(rstrm, cnt) -register RECSTREAM *rstrm; -long cnt; -{ -	register int current; - -	while (cnt > 0) { -		current = rstrm->in_boundry - rstrm->in_finger; -		if (current == 0) { -			if (!fill_input_buf(rstrm)) -				return (FALSE); -			continue; -		} -		current = (cnt < current) ? cnt : current; -		rstrm->in_finger += current; -		cnt -= current; -	} -	return (TRUE); -} - -static unsigned int -fix_buf_size (unsigned int s) -{ - -	if (s < 100) -		s = 4000; -	return (RNDUP(s)); -} - -static bool_t -xdrrec_putlong (XDR *xdrs, const long *lp) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); -	register int32_t *dest_lp = (int32_t *) rstrm->out_finger; - -	if ((rstrm->out_finger += BYTES_PER_XDR_UNIT) > rstrm->out_boundry) { -		/* -		 * this case should almost never happen so the code is -		 * inefficient -		 */ -		rstrm->out_finger -= BYTES_PER_XDR_UNIT; - -		rstrm->frag_sent = TRUE; -		if (!flush_out(rstrm, FALSE)) -			return (FALSE); -		dest_lp = ((int32_t *) (rstrm->out_finger)); -		rstrm->out_finger += BYTES_PER_XDR_UNIT; -	} -	*dest_lp = htonl(*lp); -	return (TRUE); -} - -static bool_t	   /* must manage buffers, fragments, and records */ -xdrrec_getbytes (XDR *xdrs, char *addr, unsigned int len) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); -	register unsigned int current; - -	while (len > 0) { -		current = rstrm->fbtbc; -		if (current == 0) { -			if (rstrm->last_frag) -				return (FALSE); -			if (!set_input_fragment(rstrm)) -				return (FALSE); -			continue; -		} -		current = (len < current) ? len : current; -		if (!get_input_bytes(rstrm, addr, current)) -			return (FALSE); -		addr += current; -		rstrm->fbtbc -= current; -		len -= current; -	} -	return (TRUE); -} - -static bool_t -xdrrec_putbytes (XDR *xdrs, const char *addr, unsigned int len) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); -	register unsigned int current; - -	while (len > 0) { -		current = rstrm->out_boundry - rstrm->out_finger; -		current = (len < current) ? len : current; -		memmove(rstrm->out_finger, addr, current); -		rstrm->out_finger += current; -		addr += current; -		len -= current; -		if (rstrm->out_finger == rstrm->out_boundry) { -			rstrm->frag_sent = TRUE; -			if (!flush_out(rstrm, FALSE)) -				return (FALSE); -		} -	} -	return (TRUE); -} - -static unsigned int -xdrrec_getpos (const XDR *xdrs) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; -	register long pos; - -	pos = lseek((int)((long) rstrm->tcp_handle), (long) 0, 1); -	if (pos != -1) -		switch (xdrs->x_op) { - -		case XDR_ENCODE: -			pos += rstrm->out_finger - rstrm->out_base; -			break; - -		case XDR_DECODE: -			pos -= rstrm->in_boundry - rstrm->in_finger; -			break; - -		default: -			pos = (unsigned int) - 1; -			break; -		} -	return ((unsigned int) pos); -} - -static bool_t -xdrrec_setpos (XDR *xdrs, unsigned int pos) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; -	unsigned int currpos = xdrrec_getpos(xdrs); -	int delta = currpos - pos; -	char* newpos; - -	if ((int) currpos != -1) -		switch (xdrs->x_op) { - -		case XDR_ENCODE: -			newpos = rstrm->out_finger - delta; -			if ((newpos > (char*) (rstrm->frag_header)) && -				(newpos < rstrm->out_boundry)) { -				rstrm->out_finger = newpos; -				return (TRUE); -			} -			break; - -		case XDR_DECODE: -			newpos = rstrm->in_finger - delta; -			if ((delta < (int) (rstrm->fbtbc)) && -				(newpos <= rstrm->in_boundry) && -				(newpos >= rstrm->in_base)) { -				rstrm->in_finger = newpos; -				rstrm->fbtbc -= delta; -				return (TRUE); -			} -			break; -		} -	return (FALSE); -} - -static int32_t *xdrrec_inline(XDR* xdrs, unsigned int len) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; -	int32_t *buf = NULL; - -	switch (xdrs->x_op) { - -	case XDR_ENCODE: -		if ((rstrm->out_finger + len) <= rstrm->out_boundry) { -			buf = (int32_t *) rstrm->out_finger; -			rstrm->out_finger += len; -		} -		break; - -	case XDR_DECODE: -		if ((len <= rstrm->fbtbc) && -			((rstrm->in_finger + len) <= rstrm->in_boundry)) { -			buf = (int32_t *) rstrm->in_finger; -			rstrm->fbtbc -= len; -			rstrm->in_finger += len; -		} -		break; -	} -	return (buf); -} - -static void -xdrrec_destroy (XDR *xdrs) -{ -	register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; - -	mem_free(rstrm->the_buffer, -			 rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT); -	mem_free((char*) rstrm, sizeof(RECSTREAM)); -} - - -/* - * Exported routines to manage xdr records - */ - -/* - * Before reading (deserializing from the stream, one should always call - * this procedure to guarantee proper record alignment. - */ -bool_t xdrrec_skiprecord(xdrs) -XDR *xdrs; -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); - -	while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) { -		if (!skip_input_bytes(rstrm, rstrm->fbtbc)) -			return (FALSE); -		rstrm->fbtbc = 0; -		if ((!rstrm->last_frag) && (!set_input_fragment(rstrm))) -			return (FALSE); -	} -	rstrm->last_frag = FALSE; -	return (TRUE); -} - -/* - * Look ahead fuction. - * Returns TRUE iff there is no more input in the buffer  - * after consuming the rest of the current record. - */ -bool_t xdrrec_eof(xdrs) -XDR *xdrs; -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); - -	while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) { -		if (!skip_input_bytes(rstrm, rstrm->fbtbc)) -			return (TRUE); -		rstrm->fbtbc = 0; -		if ((!rstrm->last_frag) && (!set_input_fragment(rstrm))) -			return (TRUE); -	} -	if (rstrm->in_finger == rstrm->in_boundry) -		return (TRUE); -	return (FALSE); -} - -/* - * The client must tell the package when an end-of-record has occurred. - * The second paraemters tells whether the record should be flushed to the - * (output) tcp stream.  (This let's the package support batched or - * pipelined procedure calls.)  TRUE => immmediate flush to tcp connection. - */ -bool_t xdrrec_endofrecord(xdrs, sendnow) -XDR *xdrs; -bool_t sendnow; -{ -	register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private); -	register unsigned long len;		/* fragment length */ - -	if (sendnow || rstrm->frag_sent || -		(rstrm->out_finger + BYTES_PER_XDR_UNIT >= rstrm->out_boundry)) { -		rstrm->frag_sent = FALSE; -		return (flush_out(rstrm, TRUE)); -	} -	len = rstrm->out_finger - (char *)rstrm->frag_header - -		BYTES_PER_XDR_UNIT; -	*(rstrm->frag_header) = htonl((unsigned long) len | LAST_FRAG); -	rstrm->frag_header = (uint32_t *) rstrm->out_finger; -	rstrm->out_finger += BYTES_PER_XDR_UNIT; -	return (TRUE); -} - diff --git a/mdk-stage1/dietlibc/librpc/xdr_reference.c b/mdk-stage1/dietlibc/librpc/xdr_reference.c deleted file mode 100644 index 3e42d12f3..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_reference.c +++ /dev/null @@ -1,130 +0,0 @@ -/* @(#)xdr_reference.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = "@(#)xdr_reference.c 1.11 87/08/11 SMI"; -#endif - -/* - * xdr_reference.c, Generic XDR routines impelmentation. - * - * Copyright (C) 1987, Sun Microsystems, Inc. - * - * These are the "non-trivial" xdr primitives used to serialize and de-serialize - * "pointers".  See xdr.h for more info on the interface to xdr. - */ - -#include <stdio.h> -#include <rpc/types.h> -#include <rpc/xdr.h> -#include <string.h> - -#define LASTUNSIGNED	((unsigned int)0-1) - -/* - * XDR an indirect pointer - * xdr_reference is for recursively translating a structure that is - * referenced by a pointer inside the structure that is currently being - * translated.  pp references a pointer to storage. If *pp is null - * the  necessary storage is allocated. - * size is the sizeof the referneced structure. - * proc is the routine to handle the referenced structure. - */ -bool_t xdr_reference(xdrs, pp, size, proc) -register XDR *xdrs; -char* *pp;					/* the pointer to work on */ -unsigned int size;						/* size of the object pointed to */ -xdrproc_t proc;					/* xdr routine to handle the object */ -{ -	register char* loc = *pp; -	register bool_t stat; - -	if (loc == NULL) -		switch (xdrs->x_op) { -		case XDR_FREE: -			return (TRUE); - -		case XDR_DECODE: -			*pp = loc = (char*) mem_alloc(size); -			if (loc == NULL) { -				(void) fprintf(stderr, "xdr_reference: out of memory\n"); -				return (FALSE); -			} -			memset(loc, 0, (int) size); -			break; -		} - -	stat = (*proc) (xdrs, loc, LASTUNSIGNED); - -	if (xdrs->x_op == XDR_FREE) { -		mem_free(loc, size); -		*pp = NULL; -	} -	return (stat); -} - - -/* - * xdr_pointer(): - * - * XDR a pointer to a possibly recursive data structure. This - * differs with xdr_reference in that it can serialize/deserialiaze - * trees correctly. - * - *  What's sent is actually a union: - * - *  union object_pointer switch (boolean b) { - *  case TRUE: object_data data; - *  case FALSE: void nothing; - *  } - * - * > objpp: Pointer to the pointer to the object. - * > obj_size: size of the object. - * > xdr_obj: routine to XDR an object. - * - */ -bool_t xdr_pointer(xdrs, objpp, obj_size, xdr_obj) -register XDR *xdrs; -char **objpp; -unsigned int obj_size; -xdrproc_t xdr_obj; -{ - -	bool_t more_data; - -	more_data = (*objpp != NULL); -	if (!xdr_bool(xdrs, &more_data)) { -		return (FALSE); -	} -	if (!more_data) { -		*objpp = NULL; -		return (TRUE); -	} -	return (xdr_reference(xdrs, objpp, obj_size, xdr_obj)); -} diff --git a/mdk-stage1/dietlibc/librpc/xdr_stdio.c b/mdk-stage1/dietlibc/librpc/xdr_stdio.c deleted file mode 100644 index 405cc6a69..000000000 --- a/mdk-stage1/dietlibc/librpc/xdr_stdio.c +++ /dev/null @@ -1,187 +0,0 @@ -/* @(#)xdr_stdio.c	2.1 88/07/29 4.0 RPCSRC */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part.  Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - *  - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - *  - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - *  - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - *  - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - *  - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California  94043 - */ -#if !defined(lint) && defined(SCCSIDS) -static char sccsid[] = - -	"@(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro"; -#endif - -/* - * xdr_stdio.c, XDR implementation on standard i/o file. - * - * Copyright (C) 1984, Sun Microsystems, Inc. - * - * This set of routines implements a XDR on a stdio stream. - * XDR_ENCODE serializes onto the stream, XDR_DECODE de-serializes - * from the stream. - */ - -#include <rpc/types.h> -#include <stdio.h> -#include <rpc/xdr.h> - -static bool_t xdrstdio_getlong(); -static bool_t xdrstdio_putlong(); -static bool_t xdrstdio_getbytes(); -static bool_t xdrstdio_putbytes(); -static unsigned int xdrstdio_getpos(); -static bool_t xdrstdio_setpos(); -static int32_t *xdrstdio_inline(); -static void xdrstdio_destroy(); - -/* - * Ops vector for stdio type XDR - */ -static struct xdr_ops xdrstdio_ops = { -	xdrstdio_getlong,			/* deseraialize a long int */ -	xdrstdio_putlong,			/* seraialize a long int */ -	xdrstdio_getbytes,			/* deserialize counted bytes */ -	xdrstdio_putbytes,			/* serialize counted bytes */ -	xdrstdio_getpos,			/* get offset in the stream */ -	xdrstdio_setpos,			/* set offset in the stream */ -	xdrstdio_inline,			/* prime stream for inline macros */ -	xdrstdio_destroy			/* destroy stream */ -}; - - -/* - * Initialize a stdio xdr stream. - * Sets the xdr stream handle xdrs for use on the stream file. - * Operation flag is set to op. - */ -void xdrstdio_create(xdrs, file, op) -register XDR *xdrs; -FILE *file; -enum xdr_op op; -{ - -	xdrs->x_op = op; -	xdrs->x_ops = &xdrstdio_ops; -	xdrs->x_private = (char*) file; -	xdrs->x_handy = 0; -	xdrs->x_base = 0; -} - -/* - * Destroy a stdio xdr stream. - * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create. - */ -static void xdrstdio_destroy(xdrs) -register XDR *xdrs; -{ -	(void) fflush((FILE *) xdrs->x_private); -	/* xx should we close the file ?? */ -}; - -static bool_t xdrstdio_getlong(xdrs, lp) -XDR *xdrs; -register long *lp; -{ - -	if (fread((char*) lp, sizeof(long), 1, (FILE *) xdrs->x_private) != -		1) return (FALSE); - -#ifndef mc68000 -	*lp = ntohl(*lp); -#endif -	return (TRUE); -} - -static bool_t xdrstdio_putlong(xdrs, lp) -XDR *xdrs; -long *lp; -{ - -#ifndef mc68000 -	long mycopy = htonl(*lp); - -	lp = &mycopy; -#endif -	if (fwrite((char*) lp, sizeof(long), 1, (FILE *) xdrs->x_private) != -		1) return (FALSE); - -	return (TRUE); -} - -static bool_t xdrstdio_getbytes(xdrs, addr, len) -XDR *xdrs; -char* addr; -unsigned int len; -{ - -	if ((len != 0) -		&& (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) -		return (FALSE); -	return (TRUE); -} - -static bool_t xdrstdio_putbytes(xdrs, addr, len) -XDR *xdrs; -char* addr; -unsigned int len; -{ - -	if ((len != 0) -		&& (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) -		return (FALSE); -	return (TRUE); -} - -static unsigned int xdrstdio_getpos(xdrs) -XDR *xdrs; -{ - -	return ((unsigned int) ftell((FILE *) xdrs->x_private)); -} - -static bool_t xdrstdio_setpos(xdrs, pos) -XDR *xdrs; -unsigned int pos; -{ - -	return ((fseek((FILE *) xdrs->x_private, (long) pos, 0) < 0) ? -			FALSE : TRUE); -} - -static int32_t *xdrstdio_inline(XDR* xdrs, unsigned int len) -{ - -	/* -	 * Must do some work to implement this: must insure -	 * enough data in the underlying stdio buffer, -	 * that the buffer is aligned so that we can indirect through a -	 * long *, and stuff this pointer in xdrs->x_buf.  Doing -	 * a fread or fwrite to a scratch buffer would defeat -	 * most of the gains to be had here and require storage -	 * management on this buffer, so we don't do this. -	 */ -	return (NULL); -} - diff --git a/mdk-stage1/dietlibc/libshell/basename.c b/mdk-stage1/dietlibc/libshell/basename.c deleted file mode 100644 index fbf5b2478..000000000 --- a/mdk-stage1/dietlibc/libshell/basename.c +++ /dev/null @@ -1,27 +0,0 @@ -#include <string.h> -#include <libgen.h> - -/* -       path           dirname        basename -       "/usr/lib"     "/usr"         "lib" -       "/usr/"        "/"            "usr" -       "usr"          "."            "usr" -       "/"            "/"            "/" -       "."            "."            "." -       ".."           "."            ".." -*/ - -char *basename(char *path) { -  char *c; -again: -  if (!(c=strrchr(path,'/'))) return path; -  if (c[1]==0) { -    if (c == path) -      return c; -    else { -      *c=0; -      goto again; -    } -  } -  return c+1; -} diff --git a/mdk-stage1/dietlibc/libshell/dirname.c b/mdk-stage1/dietlibc/libshell/dirname.c deleted file mode 100644 index d35e6ea62..000000000 --- a/mdk-stage1/dietlibc/libshell/dirname.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <string.h> -#include <libgen.h> - -/* -       path           dirname        basename -       "/usr/lib"     "/usr"         "lib" -       "/usr/"        "/"            "usr" -       "usr"          "."            "usr" -       "/"            "/"            "/" -       "."            "."            "." -       ".."           "."            ".." -*/ - -char *dirname(char *path) { -  char *c; -again: -  if (!(c=strrchr(path,'/'))) return "."; -  while (c[1]==0) {	/* remove trailing slashes */ -    if (c==path) return c;	/* unless path=='/' */ -    *c=0; -    if (*--c!='/') break; -  } -  if (*c=='/') { if (c!=path) *c=0; return path; } -  goto again; -} diff --git a/mdk-stage1/dietlibc/libshell/fnmatch.c b/mdk-stage1/dietlibc/libshell/fnmatch.c deleted file mode 100644 index ef43735f6..000000000 --- a/mdk-stage1/dietlibc/libshell/fnmatch.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <ctype.h> -#include <fnmatch.h> -#include <string.h> - -#define NOTFIRST 128 - -static int match(char c,char d,int flags) { -  if (flags&FNM_CASEFOLD) -    return (tolower(c)==tolower(d)); -  else -    return (c==d); -} - -int fnmatch(const char *pattern, const char *string, int flags) { -  /*printf("fnmatch(\"%s\",\"%s\")\n",pattern,string);*/ -  if (*string==0) { -    while (*pattern=='*') ++pattern; -    return (!!*pattern); -  } -  if (*string=='.' && *pattern!='.' && (flags&FNM_PERIOD)) { -    /* don't match if FNM_PERIOD and this is the first char */ -    if ((flags&FNM_PERIOD) && (!(flags&NOTFIRST))) -      return FNM_NOMATCH; -    /* don't match if FNM_PERIOD and FNM_FILE_NAME and previous was '/' */ -    if ((flags&(FNM_FILE_NAME|FNM_PERIOD)) && string[-1]=='/') -      return FNM_NOMATCH; -  } -  flags|=NOTFIRST; -  switch (*pattern) { -  case '[': -    { -      int neg=0; -      ++pattern; -      if (*string=='/' && flags&FNM_PATHNAME) return FNM_NOMATCH; -      if (*pattern=='^') { neg=1; ++pattern; } -      while (*pattern && *pattern!=']') { -	int res=0; -	if (pattern[1]=='-') { -	  if (*string>=*pattern && *string<=pattern[2]) res=1; -	  if (flags&FNM_CASEFOLD) { -	    if (tolower(*string)>=tolower(*pattern) && tolower(*string)<=tolower(pattern[2])) res=1; -	  } -	  pattern+=3; -	} else { -	  res=match(*pattern,*string,flags); -	  ++pattern; -	} -	if (res ^ neg) { -	  while (*pattern && *pattern!=']') ++pattern; -	  return fnmatch(pattern+1,string+1,flags); -	} -      } -    } -    break; -  case '\\': -    if (flags&FNM_NOESCAPE) { -      if (*string=='\\') -	return fnmatch(pattern+1,string+1,flags); -    } else { -      if (*string==pattern[1]) -	return fnmatch(pattern+2,string+1,flags); -    } -    break; -  case '*': -    if ((*string=='/' && flags&FNM_PATHNAME) || fnmatch(pattern,string+1,flags)) -      return fnmatch(pattern+1,string,flags); -    return 0; -  case 0: -    if (*string==0 || (*string=='/' && (flags&FNM_LEADING_DIR))) -      return 0; -    break; -  default: -    if (match(*pattern,*string,flags)) -      return fnmatch(pattern+1,string+1,flags); -    break; -  } -  return FNM_NOMATCH; -} diff --git a/mdk-stage1/dietlibc/libshell/glob.c b/mdk-stage1/dietlibc/libshell/glob.c deleted file mode 100644 index def55f8dc..000000000 --- a/mdk-stage1/dietlibc/libshell/glob.c +++ /dev/null @@ -1,356 +0,0 @@ -/* - * dietlibc/libshell/glob.c - * - * Copyright 2001 Guillaume Cottenceau <gc@mandrakesoft.com> - * - * This is free software, licensed under the Gnu General Public License. - * - */ - -/* - * unsupported: GLOB_BRACE GLOB_ALTDIRFUNC GLOB_MAGCHAR - */ - -#define DEBUG(x) - -#include <stdlib.h> -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <assert.h> -#include <fnmatch.h> -#include <dirent.h> -#include <pwd.h> -#include "dietfeatures.h" - -#include <glob.h> - - - -/* If i18n, should be using strcoll */ -static int cmp_func(const void * a, const void * b) -{ -	const char *const s1 = *(const char *const * const) a; -	const char *const s2 = *(const char *const * const) b; -	if (s1 == NULL) -		return 1; -	if (s2 == NULL) -		return -1; -	return strcoll(s1, s2); -} - - -/* Like `glob', but PATTERN is a final pathname component, -   and matches are searched for in DIRECTORY. -   The GLOB_NOSORT bit in FLAGS is ignored.  No sorting is ever done. -   The GLOB_APPEND flag is assumed to be set (always appends). -   Prepends DIRECTORY in constructed PGLOB. */ -static void close_dir_keep_errno(DIR* dp) { -  int save = errno; -  if (dp) -    closedir (dp); -  errno=save; -} - -static int add_entry(const char* name,glob_t *pglob,int* nfound) { -  pglob->gl_pathv	= (char **) realloc(pglob->gl_pathv, -			  (pglob->gl_pathc + pglob->gl_offs + 2) -			  * sizeof (char *)); -  if (pglob->gl_pathv == NULL) -    return 1; -  pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc] = strdup(name); -  pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc + 1] = NULL; -  pglob->gl_pathc++; -  (*nfound)++; -  return 0; -} - -static void build_fullname(char * fullname, const char * directory, const char * filename) { -  char *dest=fullname; -  if (directory[0]=='/' && !directory[1]) { -    *dest='/'; ++dest; -  } else if (directory[0]!='.' || directory[1]) { -    strcpy(dest,directory); -    dest=strchr(dest,0); -    *dest='/'; ++dest; -  } -  strcpy(dest,filename); -} - -static int glob_in_dir(const char *pattern, const char *directory, int flags, -		       int errfunc(const char * epath, int eerrno), -		       glob_t *pglob) -{ -	DIR *dp = opendir(directory); -	int nfound = 0; - -	int i; -	char * ptr; - -	if (!dp) { -		if (errno != ENOTDIR -		    && ((errfunc != NULL && (*errfunc) (directory, errno)) -			|| (flags & GLOB_ERR))) -		      return GLOB_ABORTED; -	} else { -		int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) -				 | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)); -		struct dirent *ep; -		while ((ep = readdir(dp))) { -			i = strlen(directory) + strlen(ep->d_name) + 2; -			ptr = (char *) alloca(i); -			build_fullname(ptr, directory, ep->d_name); -			if (flags & GLOB_ONLYDIR) { -				struct stat statr; -				if (stat(ptr, &statr) || !S_ISDIR(statr.st_mode)) -					continue; -			} -			if (fnmatch(pattern, ep->d_name, fnm_flags) == 0) -				if (add_entry(ptr,pglob,&nfound)) -					goto memory_error; -		} -	} - -	close_dir_keep_errno(dp); - -	if (nfound != 0) -		pglob->gl_flags = flags; -	else if (flags & GLOB_NOCHECK) { -		/* nfound == 0 */ -		i = strlen(directory) + strlen(pattern) + 2; -		ptr = (char *) alloca(i); -		build_fullname(ptr, directory, pattern); -		if (add_entry(ptr,pglob,&nfound)) -			goto memory_error; -	} - -	return (nfound == 0) ? GLOB_NOMATCH : 0; - - memory_error: -	/* We're in trouble since we can't free the already allocated memory. [allocated from strdup(filame)] -	 * Well, after all, when malloc returns NULL we're already in a bad mood, and no doubt the -	 * program will manage to segfault by itself very soon :-). */ -	close_dir_keep_errno(dp); -	return GLOB_NOSPACE; -} - - - -int glob(const char *pattern, int flags, int errfunc(const char * epath, int eerrno), glob_t *pglob) -{ -	char * pattern_; -	char * filename; -	char * dirname; -	size_t oldcount; -	struct stat statr; - -	size_t i; /* tmp variables are declared here to save a bit of object space */ -	int j, k;    /* */ -	char * ptr, * ptr2; - -	if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) { -		errno=EINVAL; -		return -1; -	} - -	if (!(flags & GLOB_DOOFFS)) -		pglob->gl_offs = 0; - - -	/* Duplicate pattern so I can make modif to it later (to handle -           TILDE stuff replacing old contents, and to null-terminate the -           directory) */ -	pattern_ = alloca(strlen(pattern) + 1); -	strcpy(pattern_, pattern); - -	/* Check for TILDE stuff */ -	if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern_[0] == '~') { -		char * home_dir = NULL; -		if (pattern_[1] == '\0' || pattern_[1] == '/') { -			/* She's asking for ~, her homedir */ -			home_dir = getenv("HOME"); -		} else { -			/* She's asking for another one's homedir */ -			struct passwd * p; -			ptr2 = alloca(strlen(pattern_) + 1); -			strcpy(ptr2, pattern_ + 1); -			ptr = strchr(ptr2, '/'); -			if (ptr != NULL) -				*ptr = '\0'; -			if (((p = getpwnam(ptr2)) != NULL)) -				home_dir = p->pw_dir; -		} -		if (home_dir != NULL) { -			i = strlen(home_dir) + strlen(pattern_); /* pessimistic (the ~ case) */ -			ptr = alloca(i); -			strncpy(ptr, home_dir, i); -			ptr2 = pattern_ + 1; -			while (*ptr2 != '/' && *ptr2 != '\0') -				ptr2++; -			strncat(ptr, ptr2, i); -			pattern_ = ptr; -		} else if (flags & GLOB_TILDE_CHECK) -			return GLOB_NOMATCH; -	} - -	/* Find the filename */ -	filename = strrchr(pattern_, '/'); - -	if (filename == NULL) { -		/* We have no '/' in the pattern */ -		filename = pattern_; -		dirname = (char*)"."; -	} else if (filename == pattern_) { -		/* "/pattern".  */ -		dirname = (char*)"/"; -		filename++; -	} else { -		dirname = pattern_; -		filename++; -		/* allow dirname to be null terminated */ -		*(filename-1) = '\0'; - -		if (filename[0] == '\0' && strcmp(pattern_, "/")) { -			/* "pattern/".  Expand "pattern", appending slashes.  */ -			j = glob(dirname, flags | GLOB_MARK, errfunc, pglob); -			if (j == 0) -				pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK) -						   | (flags & GLOB_MARK)); -			return j; -		} -	} - -	 -	/* Reserve memory for pglob */ -	if (!(flags & GLOB_APPEND)) { -		pglob->gl_pathc = 0; -		if (!(flags & GLOB_DOOFFS)) -			pglob->gl_pathv = NULL; -		else { -			pglob->gl_pathv = (char **) malloc((pglob->gl_offs + 1) * sizeof (char *)); -			if (pglob->gl_pathv == NULL) -				return GLOB_NOSPACE; -			for (i = 0; i <= pglob->gl_offs; i++) -				pglob->gl_pathv[i] = NULL; -		} -	} - - -	oldcount = pglob->gl_pathc + pglob->gl_offs; - - -	/* Begin real work */ -	if (!strcmp(dirname, "/") || !strcmp(dirname, ".") -	    || (!strchr(dirname, '*') && !strchr(dirname, '?') && !strchr(dirname, '['))) { -		/* Approx of a terminal state, glob directly in dir. */ -		j = glob_in_dir(filename, dirname, flags, errfunc, pglob); -		if (j != 0) -			return j; -	} else { -		/* We are not in a terminal state, so we have to glob for -		   the directory, and then glob for the pattern in each -		   directory found. */ -		glob_t dirs; - -		j = glob(dirname, ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ALTDIRFUNC)) -				   | GLOB_NOSORT | GLOB_ONLYDIR), -			 errfunc, &dirs); -		if (j != 0) -			return j; - -		/* We have successfully globbed the directory name. -		   For each name we found, call glob_in_dir on it and FILENAME, -		   appending the results to PGLOB.  */ -		for (i = 0; i < dirs.gl_pathc; i++) { -			j = glob_in_dir(filename, dirs.gl_pathv[i], ((flags | GLOB_APPEND) & ~GLOB_NOCHECK), -					errfunc, pglob); -			if (j == GLOB_NOMATCH) -				/* No matches in this directory.  Try the next.  */ -				continue; -			if (j != 0) { -				globfree(&dirs); -				globfree(pglob); -				return j; -			} -		} - -		/* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls. -		   But if we have not found any matching entry and the GLOB_NOCHECK -		   flag was set we must return the list consisting of the disrectory -		   names followed by the filename.  */ -		if (pglob->gl_pathc + pglob->gl_offs == oldcount) -		{ -			/* No matches.  */ -			if (flags & GLOB_NOCHECK) -			{ -				for (i = 0; i < dirs.gl_pathc; i++) { -					if (stat(dirs.gl_pathv[i], &statr) || !S_ISDIR(statr.st_mode)) -						continue; - -					/* stat is okay, we will add the entry, but before let's resize the pathv */ -					j = pglob->gl_pathc + pglob->gl_offs; -					pglob->gl_pathv = (char **) realloc(pglob->gl_pathv, (j + 2) * sizeof (char *)); -					if (pglob->gl_pathv == NULL) { -						globfree (&dirs); -						return GLOB_NOSPACE; -					} - -					/* okay now we add the new entry */ -					k = strlen(dirs.gl_pathv[i]) + strlen(filename) + 2; -					if ((pglob->gl_pathv[j] = malloc(k)) == NULL) { -						globfree(&dirs); -						globfree(pglob); -						return GLOB_NOSPACE; -					} -					build_fullname(pglob->gl_pathv[j], dirs.gl_pathv[i], filename); -					pglob->gl_pathc++; -					pglob->gl_pathv[j+1] = NULL; -				} -			} else { -				globfree(&dirs); -				return GLOB_NOMATCH; -			} -		} - -		globfree (&dirs); -	} - - -	if (flags & GLOB_MARK) { -		for (i = oldcount; i < pglob->gl_pathc + pglob->gl_offs; i++) -			if (!stat(pglob->gl_pathv[i], &statr) && S_ISDIR(statr.st_mode)) { -				size_t len = strlen(pglob->gl_pathv[i]) + 2; -				ptr = realloc(pglob->gl_pathv[i], len); -				if (ptr == NULL) { -					globfree(pglob); -					return GLOB_NOSPACE; -				} -				strcpy(&ptr[len - 2], "/"); -				pglob->gl_pathv[i] = ptr; -			} -	} - -	if (!(flags & GLOB_NOSORT)) { -		qsort(&pglob->gl_pathv[oldcount], -		      pglob->gl_pathc + pglob->gl_offs - oldcount, -		      sizeof(char *), cmp_func); -	} - -	return 0; -} - - -/* Free storage allocated in PGLOB by a previous `glob' call.  */ -void globfree (glob_t * pglob) -{ -  if (pglob->gl_pathv != NULL) { -      size_t i; -      for (i = 0; i < pglob->gl_pathc; i++) -	      if (pglob->gl_pathv[pglob->gl_offs + i] != NULL) -		      free((void *) pglob->gl_pathv[pglob->gl_offs + i]); -      free((void *) pglob->gl_pathv); -  } -} diff --git a/mdk-stage1/dietlibc/libshell/realpath.c b/mdk-stage1/dietlibc/libshell/realpath.c deleted file mode 100644 index 9aee2c585..000000000 --- a/mdk-stage1/dietlibc/libshell/realpath.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <limits.h> -#include <stdlib.h> -#include <errno.h> -#include <fcntl.h> -#include <string.h> -#include "dietfeatures.h" - -char* realpath(const char *path, char *resolved_path) { -  int fd=open(".",O_RDONLY); -  char* tmp=(char*)""; -  if (fd<0) return 0; -  if (chdir(path)) { -    if (errno==ENOTDIR) { -      char* match; -      if ((match=strrchr(path,'/'))) { -	tmp=match; -	memmove(resolved_path,path,tmp-path); -	resolved_path[tmp-path]=0; -	if (chdir(resolved_path)) { resolved_path=0; goto abort; } -      } -    } else { -      resolved_path=0; goto abort; -    } -  } -  if (!getcwd(resolved_path,PATH_MAX)) { resolved_path=0; goto abort; } -  strcat(resolved_path,tmp); -abort: -  fchdir(fd); -  close(fd); -  return resolved_path; -} diff --git a/mdk-stage1/dietlibc/libstdio/clearerr.c b/mdk-stage1/dietlibc/libstdio/clearerr.c deleted file mode 100644 index 8bde8c702..000000000 --- a/mdk-stage1/dietlibc/libstdio/clearerr.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "dietstdio.h" - -void clearerr( FILE *stream) { -  stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); -} diff --git a/mdk-stage1/dietlibc/libstdio/fclose.c b/mdk-stage1/dietlibc/libstdio/fclose.c deleted file mode 100644 index 491ed2522..000000000 --- a/mdk-stage1/dietlibc/libstdio/fclose.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "dietstdio.h" -#include <stdlib.h> -#include <unistd.h> - -int fclose(FILE *stream) { -  int res; -  FILE *f,*fl; -  fflush(stream); -  res=close(stream->fd); -  for (fl=0,f=__stdio_root; f; fl=f,f=f->next) -    if (f==stream) { -      if (fl) -	fl->next=f->next; -      else -	__stdio_root=f->next; -      break; -    } -  if ((!(stream->flags&STATICBUF))&&(stream->buf)) -    free(stream->buf); -  free(stream); -  return res; -} diff --git a/mdk-stage1/dietlibc/libstdio/fdglue.c b/mdk-stage1/dietlibc/libstdio/fdglue.c deleted file mode 100644 index 9542711e2..000000000 --- a/mdk-stage1/dietlibc/libstdio/fdglue.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <errno.h> -#include <stdlib.h> -#include <pthread.h> -#include "dietstdio.h" - -int __stdio_parse_mode(const char *mode) { -  int f=0; -  for (;;) { -    switch (*mode) { -    case 0: return f; -    case 'b': break; -    case 'r': f=O_RDONLY; break; -    case 'w': f=O_WRONLY|O_CREAT|O_TRUNC; break; -    case 'a': f=O_WRONLY|O_CREAT|O_APPEND; break; -    case '+': f=(f&(~O_WRONLY))|O_RDWR; break; -    } -    ++mode; -  } -} - diff --git a/mdk-stage1/dietlibc/libstdio/fdglue2.c b/mdk-stage1/dietlibc/libstdio/fdglue2.c deleted file mode 100644 index b96e4c5b8..000000000 --- a/mdk-stage1/dietlibc/libstdio/fdglue2.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <sys/stat.h> -#include <errno.h> -#include "dietstdio.h" -#include <stdlib.h> -#include <pthread.h> - -extern int __stdio_atexit; - -FILE* __stdio_init_file_nothreads(int fd,int closeonerror); -FILE* __stdio_init_file_nothreads(int fd,int closeonerror) { -  FILE *tmp=(FILE*)malloc(sizeof(FILE)); -  if (!tmp) goto err_out; -  tmp->buf=(char*)malloc(BUFSIZE); -  if (!tmp->buf) { -    free(tmp); -err_out: -    if (closeonerror) close(fd); -    errno=ENOMEM; -    return 0; -  } -  tmp->fd=fd; -  tmp->bm=0; -  tmp->bs=0; -  tmp->buflen=BUFSIZE; -  { -    struct stat st; -    fstat(fd,&st); -    tmp->flags=(S_ISFIFO(st.st_mode))?FDPIPE:0; -  } -  tmp->popen_kludge=0; -  if (__stdio_atexit==0) { -    __stdio_atexit=1; -    atexit(__stdio_flushall); -  } -  tmp->next=__stdio_root; -  __stdio_root=tmp; -  tmp->ungotten=0; -  return tmp; -} - -FILE* __stdio_init_file(int fd,int closeonerror) __attribute__((weak,alias("__stdio_init_file_nothreads"))); diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c deleted file mode 100644 index 748b716eb..000000000 --- a/mdk-stage1/dietlibc/libstdio/fdopen.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" -#include <sys/types.h> -#include <dietstdio.h> -#include <unistd.h> - -FILE *fdopen(int filedes, const char *mode) { -  int f=0;	/* O_RDONLY, O_WRONLY or O_RDWR */ - -  f=__stdio_parse_mode(mode); -  if (filedes<0) { errno=EBADF; return 0; } -  return __stdio_init_file(filedes,0); -} diff --git a/mdk-stage1/dietlibc/libstdio/fdprintf.c b/mdk-stage1/dietlibc/libstdio/fdprintf.c deleted file mode 100644 index f9fc7a3b4..000000000 --- a/mdk-stage1/dietlibc/libstdio/fdprintf.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> - -int fdprintf(int fd,const char *format,...) { -  int n; -  va_list arg_ptr; -  va_start(arg_ptr,format); -  n=vfdprintf(fd,format,arg_ptr); -  va_end(arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/libstdio/feof.c b/mdk-stage1/dietlibc/libstdio/feof.c deleted file mode 100644 index bf2267fcf..000000000 --- a/mdk-stage1/dietlibc/libstdio/feof.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <dietstdio.h> - -int feof(FILE *stream) { -  /* yuck!!! */ -  if (stream->ungotten) return 0; -  return (stream->flags&EOFINDICATOR); -} diff --git a/mdk-stage1/dietlibc/libstdio/ferror.c b/mdk-stage1/dietlibc/libstdio/ferror.c deleted file mode 100644 index e86873be0..000000000 --- a/mdk-stage1/dietlibc/libstdio/ferror.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <dietstdio.h> - -int ferror(FILE *stream) { -  return (stream->flags&ERRORINDICATOR); -} diff --git a/mdk-stage1/dietlibc/libstdio/fflush.c b/mdk-stage1/dietlibc/libstdio/fflush.c deleted file mode 100644 index e0e23b3ba..000000000 --- a/mdk-stage1/dietlibc/libstdio/fflush.c +++ /dev/null @@ -1,64 +0,0 @@ -#include <unistd.h> -#include <stdlib.h> -#include "dietwarning.h" -#include "dietstdio.h" - -FILE *__stdio_root; - -int __stdio_atexit=0; - -void __stdio_flushall(void) { -  fflush(0); -} - -int fflush(FILE *stream) { -  if (stream==0) { -    int res; -    FILE *f; -    __fflush_stdin(); -    __fflush_stdout(); -    __fflush_stderr(); -    for (res=0, f=__stdio_root; f; f=f->next) -      if (fflush(f)) -	res=-1; -    return res; -  } -//  if (stream->flags&NOBUF) return 0; -  if (stream->flags&BUFINPUT) { -    register int tmp; -    if ((tmp=stream->bm-stream->bs)) { -      lseek(stream->fd,tmp,SEEK_CUR); -    } -    stream->bs=stream->bm=0; -  } else { -    if (stream->bm && write(stream->fd,stream->buf,stream->bm)!=(int)stream->bm) { -      stream->flags|=ERRORINDICATOR; -      return -1; -    } -    stream->bm=0; -  } -  return 0; -} - -int __fflush4(FILE *stream,int next) { -  if (!__stdio_atexit) { -    __stdio_atexit=1; -    atexit(__stdio_flushall); -  } -  if ((stream->flags&BUFINPUT)!=next) { -    int res=fflush(stream); -    stream->flags=(stream->flags&~BUFINPUT)|next; -    return res; -  } -  if (stream->fd==0) __fflush_stdout(); -  return 0; -} - -/* Internal function, has no prototype. - * This is defined here because of the weak symbol ELF semantics */ -int __stdio_outs(const char *s,size_t len); -int __stdio_outs(const char *s,size_t len) { -  return fwrite(s,1,(size_t)len,stdout)==len?1:0; -} - -link_warning("fflush","warning: your code uses stdio (7+k bloat).") diff --git a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c deleted file mode 100644 index 5136c8df1..000000000 --- a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "dietstdio.h" -#include <unistd.h> - -int fgetc_unlocked(FILE *stream) { -  unsigned char c; -  if (stream->ungotten) { -    stream->ungotten=0; -    return stream->ungetbuf; -  } -  if (feof(stream)) -    return EOF; -  if (__fflush4(stream,BUFINPUT)) return EOF; -  if (stream->bm>=stream->bs) { -    int len=read(stream->fd,stream->buf,stream->buflen); -    if (len==0) { -      stream->flags|=EOFINDICATOR; -      return EOF; -    } else if (len<0) { -      stream->flags|=ERRORINDICATOR; -      return EOF; -    } -    stream->bm=0; -    stream->bs=len; -  } -  c=stream->buf[stream->bm]; -  ++stream->bm; -  return c; -} - -int fgetc(FILE* stream) __attribute__((weak,alias("fgetc_unlocked"))); diff --git a/mdk-stage1/dietlibc/libstdio/fgetpos.c b/mdk-stage1/dietlibc/libstdio/fgetpos.c deleted file mode 100644 index d58b6fa5b..000000000 --- a/mdk-stage1/dietlibc/libstdio/fgetpos.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <stdio.h> - -int fgetpos(FILE *stream, fpos_t *pos) { -  long l=ftell(stream); -  if (l==-1) return -1; -  *pos=l; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libstdio/fgets.c b/mdk-stage1/dietlibc/libstdio/fgets.c deleted file mode 100644 index d2ce4195d..000000000 --- a/mdk-stage1/dietlibc/libstdio/fgets.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "dietstdio.h" - -char *fgets(char *s, int size, FILE *stream) { -  char *orig=s; -  int l; -  for (l=size; l>1;) { -    int c=fgetc(stream); -    if (c==EOF) break; -    *s=c; -    ++s; -    --l; -    if (c=='\n') break; -  } -  if (l==size || ferror(stream)) -    return 0; -  *s=0; -  return orig; -} diff --git a/mdk-stage1/dietlibc/libstdio/fileno.c b/mdk-stage1/dietlibc/libstdio/fileno.c deleted file mode 100644 index f021d3881..000000000 --- a/mdk-stage1/dietlibc/libstdio/fileno.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <dietstdio.h> - -int fileno(FILE *stream) { -  return stream->fd; -} diff --git a/mdk-stage1/dietlibc/libstdio/fopen.c b/mdk-stage1/dietlibc/libstdio/fopen.c deleted file mode 100644 index 3d9c28198..000000000 --- a/mdk-stage1/dietlibc/libstdio/fopen.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <sys/types.h> -#include <dietstdio.h> -#include <unistd.h> - -extern int __stdio_atexit; - -FILE *fopen (const char *path, const char *mode) { -  int f=0;	/* O_RDONLY, O_WRONLY or O_RDWR */ -  int fd; - -  f=__stdio_parse_mode(mode); -  if ((fd=open(path,f,0666))<0) -    return 0; -  return __stdio_init_file(fd,1); -} diff --git a/mdk-stage1/dietlibc/libstdio/fprintf.c b/mdk-stage1/dietlibc/libstdio/fprintf.c deleted file mode 100644 index 6b3849a33..000000000 --- a/mdk-stage1/dietlibc/libstdio/fprintf.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> - -int fprintf(FILE *f,const char *format,...) { -  int n; -  va_list arg_ptr; -  va_start(arg_ptr,format); -  n=vfprintf(f,format,arg_ptr); -  va_end(arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c deleted file mode 100644 index 6441c5741..000000000 --- a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -int fputc_unlocked(int c, FILE *stream) { -  if (__fflush4(stream,0)) return EOF; -  if (stream->bm>=stream->buflen-1) -    if (fflush(stream)) return EOF; -  if (stream->flags&NOBUF) { -    if (write(stream->fd,&c,1) != 1) return EOF; -    return 0; -  } -  stream->buf[stream->bm]=c; -  ++stream->bm; -  if (((stream->flags&BUFLINEWISE) && c=='\n') || -      ((stream->flags&NOBUF))) /* puke */ -    if (fflush(stream)) return EOF; -  return 0; -} - -int fputc(int c,FILE* stream) __attribute__((weak,alias("fputc_unlocked"))); diff --git a/mdk-stage1/dietlibc/libstdio/fputs.c b/mdk-stage1/dietlibc/libstdio/fputs.c deleted file mode 100644 index 51ee9a96e..000000000 --- a/mdk-stage1/dietlibc/libstdio/fputs.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "dietstdio.h" -#include <string.h> - -int fputs(const char *s, FILE *stream) { -  return fwrite(s,strlen(s),1,stream); -} diff --git a/mdk-stage1/dietlibc/libstdio/fread.c b/mdk-stage1/dietlibc/libstdio/fread.c deleted file mode 100644 index 813a98fb2..000000000 --- a/mdk-stage1/dietlibc/libstdio/fread.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <sys/types.h> -#include "dietstdio.h" -#include <unistd.h> - -size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream) { -  int res; -  unsigned long i,j; -  j=size*nmemb; -  i=0; - -  if (!j || j/nmemb!=size) return 0; -  if (stream->ungotten) { -    stream->ungotten=0; -    *(char*)ptr=stream->ungetbuf; -    ++i; -  } -  if (!j) return 1; - -#ifdef WANT_FREAD_OPTIMIZATION -  if ( !(stream->flags&FDPIPE) && (j>stream->buflen)) { -    size_t tmp=j-i; -    int res; -    fflush(stream); -    while ((res=read(stream->fd,ptr+i,tmp))<(int)tmp) { -      if (res==-1) { -	stream->flags|=ERRORINDICATOR; -	goto exit; -      } else if (!res) { -	stream->flags|=EOFINDICATOR; -	goto exit; -      } -      i+=res; tmp-=res; -    } -    return nmemb; -  } -#endif -  for (; i<j; ++i) { -    res=fgetc(stream); -    if (res==EOF) -exit: -      return i/size; -    else -      ((unsigned char*)ptr)[i]=(unsigned char)res; -  } -  return nmemb; -} diff --git a/mdk-stage1/dietlibc/libstdio/freopen.c b/mdk-stage1/dietlibc/libstdio/freopen.c deleted file mode 100644 index 8d4644a10..000000000 --- a/mdk-stage1/dietlibc/libstdio/freopen.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <sys/types.h> -#include <dietstdio.h> -#include <unistd.h> - -FILE *freopen (const char *path, const char *mode, FILE *stream) { -  fclose(stream); -  stream=fopen(path,mode); -  return stream; -} diff --git a/mdk-stage1/dietlibc/libstdio/fscanf.c b/mdk-stage1/dietlibc/libstdio/fscanf.c deleted file mode 100644 index 07f477462..000000000 --- a/mdk-stage1/dietlibc/libstdio/fscanf.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include "dietstdio.h" -#include <unistd.h> - -int fscanf(FILE *stream, const char *format, ...) { -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vfscanf(stream,format,arg_ptr); -  va_end (arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/libstdio/fseek.c b/mdk-stage1/dietlibc/libstdio/fseek.c deleted file mode 100644 index a49230f0a..000000000 --- a/mdk-stage1/dietlibc/libstdio/fseek.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -int fseek(FILE *stream, long offset, int whence) { -  fflush(stream); -  stream->bm=0; stream->bs=0; -  stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); -  stream->ungotten=0; -  return lseek(stream->fd,offset,whence)!=-1?0:-1; -} diff --git a/mdk-stage1/dietlibc/libstdio/fseeko.c b/mdk-stage1/dietlibc/libstdio/fseeko.c deleted file mode 100644 index 6459a6ff4..000000000 --- a/mdk-stage1/dietlibc/libstdio/fseeko.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -int fseeko(FILE *stream, off_t offset, int whence) { -  fflush(stream); -  stream->bm=0; stream->bs=0; -  stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); -  stream->ungotten=0; -  return lseek(stream->fd,offset,whence)!=-1?0:-1; -} diff --git a/mdk-stage1/dietlibc/libstdio/fseeko64.c b/mdk-stage1/dietlibc/libstdio/fseeko64.c deleted file mode 100644 index 3b00596a1..000000000 --- a/mdk-stage1/dietlibc/libstdio/fseeko64.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -#ifndef __NO_STAT64 -int fseeko64(FILE *stream, off64_t offset, int whence) { -  fflush(stream); -  stream->bm=0; stream->bs=0; -  stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); -  stream->ungotten=0; -  return lseek64(stream->fd,offset,whence)!=-1?0:-1; -} -#endif diff --git a/mdk-stage1/dietlibc/libstdio/fsetpos.c b/mdk-stage1/dietlibc/libstdio/fsetpos.c deleted file mode 100644 index 336135fff..000000000 --- a/mdk-stage1/dietlibc/libstdio/fsetpos.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> - -int fsetpos(FILE *stream, fpos_t *pos) { -  if (fseek(stream,*pos,SEEK_SET)==-1) -    return -1; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libstdio/ftell.c b/mdk-stage1/dietlibc/libstdio/ftell.c deleted file mode 100644 index 48f74858a..000000000 --- a/mdk-stage1/dietlibc/libstdio/ftell.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -long ftell(FILE *stream) { -  fflush(stream); -  return (lseek(stream->fd,0,SEEK_CUR)-stream->ungotten); -} diff --git a/mdk-stage1/dietlibc/libstdio/ftello.c b/mdk-stage1/dietlibc/libstdio/ftello.c deleted file mode 100644 index 9d36318e2..000000000 --- a/mdk-stage1/dietlibc/libstdio/ftello.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -off_t ftello(FILE *stream) { -  fflush(stream); -  return (lseek(stream->fd,0,SEEK_CUR)); -} diff --git a/mdk-stage1/dietlibc/libstdio/ftello64.c b/mdk-stage1/dietlibc/libstdio/ftello64.c deleted file mode 100644 index bda7a7de4..000000000 --- a/mdk-stage1/dietlibc/libstdio/ftello64.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <dietstdio.h> -#include <unistd.h> - -#ifndef __NO_STAT64 -off64_t ftello64(FILE *stream) { -  fflush(stream); -  return (lseek64(stream->fd,0ull,SEEK_CUR)); -} -#endif diff --git a/mdk-stage1/dietlibc/libstdio/fwrite.c b/mdk-stage1/dietlibc/libstdio/fwrite.c deleted file mode 100644 index e2536ccfb..000000000 --- a/mdk-stage1/dietlibc/libstdio/fwrite.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <sys/types.h> -#include "dietstdio.h" -#include <unistd.h> -#include <errno.h> - -size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) { -  int res; -  unsigned long len=size*nmemb; -  long i; -  if (!nmemb || len/nmemb!=size) return 0; /* check for integer overflow */ -  if (len>stream->buflen || (stream->flags&NOBUF)) { -    fflush(stream); -    do { -      res=write(stream->fd,ptr,size*nmemb); -    } while (res==-1 && errno==EINTR); -  } else { -    register const unsigned char *c=ptr; -    for (i=len; i>0; --i,++c) -      if (fputc(*c,stream)) { res=len-i; goto abort; } -    res=len; -  } -  if (res<0) { -    stream->flags|=ERRORINDICATOR; -    return 0; -  } -abort: -  return size?res/size:0; -} diff --git a/mdk-stage1/dietlibc/libstdio/printf.c b/mdk-stage1/dietlibc/libstdio/printf.c deleted file mode 100644 index 5af172c58..000000000 --- a/mdk-stage1/dietlibc/libstdio/printf.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <unistd.h> -#include <stdlib.h> -#include "dietstdio.h" - -int printf(const char *format,...) -{ -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vprintf(format, arg_ptr); -  va_end(arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/libstdio/putchar.c b/mdk-stage1/dietlibc/libstdio/putchar.c deleted file mode 100644 index 7e5285a48..000000000 --- a/mdk-stage1/dietlibc/libstdio/putchar.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdio.h> - -#undef putchar -int putchar(int c) { -  return fputc(c,stdout); -} diff --git a/mdk-stage1/dietlibc/libstdio/puts.c b/mdk-stage1/dietlibc/libstdio/puts.c deleted file mode 100644 index b1da01f9d..000000000 --- a/mdk-stage1/dietlibc/libstdio/puts.c +++ /dev/null @@ -1,16 +0,0 @@ -#include <unistd.h> -#include <string.h> -#include "dietstdio.h" -#include "dietfeatures.h" - -int __cheap_outs(const char *s,size_t len); -int __cheap_outs(const char *s,size_t len) { -  return (size_t)write(1,s,len)==len?1:0; -} - -int __stdio_outs(const char *s,size_t len)  __attribute__((weak,alias("__cheap_outs"))); - -int puts(const char *s) { -  return (__stdio_outs(s,strlen(s)) && __stdio_outs("\n",1))?0:-1; -} - diff --git a/mdk-stage1/dietlibc/libstdio/scanf.c b/mdk-stage1/dietlibc/libstdio/scanf.c deleted file mode 100644 index 589c19f41..000000000 --- a/mdk-stage1/dietlibc/libstdio/scanf.c +++ /dev/null @@ -1,14 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include "dietstdio.h" -#include <unistd.h> - -int scanf(const char *format, ...) { -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vfscanf(stdin,format,arg_ptr); -  va_end (arg_ptr); -  return n; -} diff --git a/mdk-stage1/dietlibc/libstdio/setvbuf.c b/mdk-stage1/dietlibc/libstdio/setvbuf.c deleted file mode 100644 index b8b50addf..000000000 --- a/mdk-stage1/dietlibc/libstdio/setvbuf.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <sys/types.h> -#include "dietstdio.h" -#include <unistd.h> -#include <stdlib.h> -#include "dietwarning.h" - -static int set_flags (FILE *stream, int flags) { -  switch (flags) { -    case _IONBF: stream->flags = (stream->flags & ~(BUFLINEWISE)) | NOBUF; break; -    case _IOLBF: stream->flags = (stream->flags & ~(NOBUF)) | BUFLINEWISE; break; -    case _IOFBF: stream->flags = stream->flags & ~(NOBUF | BUFLINEWISE); break; -    default: return -1; -  } -  return 0; -} - -int setvbuf(FILE *stream, char *buf, int flags, size_t size) { -  if (buf) { -    if (!(stream->flags&STATICBUF)) free(stream->buf); -    stream->buf=buf; -  } -  else { -    char *tmp; -    if (!size) { -      return set_flags(stream,flags); -    } -    if (!(tmp=malloc(size))) return -1; -    if (!(stream->flags&STATICBUF)) free(stream->buf); -    stream->buf=tmp; -  } -  stream->buflen=size; -  stream->bm=stream->bs=0; -  return set_flags(stream,flags); -} diff --git a/mdk-stage1/dietlibc/libstdio/stderr.c b/mdk-stage1/dietlibc/libstdio/stderr.c deleted file mode 100644 index a9a34fd7e..000000000 --- a/mdk-stage1/dietlibc/libstdio/stderr.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <dietstdio.h> - -static FILE __stderr = { -  .fd=2, -  .flags=NOBUF, -  .bs=0, .bm=0, -  .buflen=0, -  .buf=0, -  .next=0, -  .popen_kludge=0, -  .ungetbuf=0, -  .ungotten=0 -#ifdef WANT_THREAD_SAFE -  , .m=PTHREAD_MUTEX_INITIALIZER -#endif -}; - -FILE *stderr=&__stderr; - -int __fflush_stderr(void) { -  return fflush(stderr); -} diff --git a/mdk-stage1/dietlibc/libstdio/stdin.c b/mdk-stage1/dietlibc/libstdio/stdin.c deleted file mode 100644 index 217f3f609..000000000 --- a/mdk-stage1/dietlibc/libstdio/stdin.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <dietstdio.h> - -static char __stdin_buf[BUFSIZE]; -static FILE __stdin = { -  .fd=0, -  .flags=BUFINPUT|STATICBUF, -  .bs=0, .bm=0, -  .buflen=BUFSIZE, -  .buf=__stdin_buf, -  .next=0, -  .popen_kludge=0, -  .ungetbuf=0, -  .ungotten=0 -#ifdef WANT_THREAD_SAFE -  , .m=PTHREAD_MUTEX_INITIALIZER -#endif -}; - -FILE *stdin=&__stdin; - -int __fflush_stdin(void) { -  return fflush(stdin); -} diff --git a/mdk-stage1/dietlibc/libstdio/stdout.c b/mdk-stage1/dietlibc/libstdio/stdout.c deleted file mode 100644 index 08054d0d4..000000000 --- a/mdk-stage1/dietlibc/libstdio/stdout.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <dietstdio.h> - -static char __stdout_buf[BUFSIZE]; -static FILE __stdout = { -  .fd=1, -  .flags=BUFLINEWISE|STATICBUF, -  .bs=0, .bm=0, -  .buflen=BUFSIZE, -  .buf=__stdout_buf, -  .next=0, -  .popen_kludge=0, -  .ungetbuf=0, -  .ungotten=0 -#ifdef WANT_THREAD_SAFE -  , .m=PTHREAD_MUTEX_INITIALIZER -#endif -}; - -FILE *stdout=&__stdout; - -int __fflush_stdout(void) { -  return fflush(stdout); -} diff --git a/mdk-stage1/dietlibc/libstdio/tmpfile.c b/mdk-stage1/dietlibc/libstdio/tmpfile.c deleted file mode 100644 index b20d8410d..000000000 --- a/mdk-stage1/dietlibc/libstdio/tmpfile.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "dietstdio.h" -#include <stdlib.h> -#include <unistd.h> - -FILE *tmpfile (void) { -  int fd; -  char template[20] = "/tmp/tmpfile-XXXXXX"; -  if ((fd=mkstemp(template))<0) -    return 0; -  unlink(template); -  return __stdio_init_file(fd,1); -} diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c deleted file mode 100644 index 133e92820..000000000 --- a/mdk-stage1/dietlibc/libstdio/ungetc.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietstdio.h" - -int ungetc(int c, FILE *stream) { -  if (stream->ungotten || c<0 || c>255) -    return EOF; -  stream->ungotten=1; -  stream->ungetbuf=(unsigned char)c; -  stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); -  return c; -} diff --git a/mdk-stage1/dietlibc/libstdio/vfdprintf.c b/mdk-stage1/dietlibc/libstdio/vfdprintf.c deleted file mode 100644 index fdfeb09e1..000000000 --- a/mdk-stage1/dietlibc/libstdio/vfdprintf.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <unistd.h> -#include <stdlib.h> -#include "dietstdio.h" - -static int __fwrite(void*ptr, size_t nmemb, int fd) { -  return write(fd,ptr,nmemb); -} - -int vfdprintf(int fd, const char *format, va_list arg_ptr) -{ -  struct arg_printf ap = { (void*)(long)fd, (int(*)(void*,size_t,void*)) __fwrite }; -  return __v_printf(&ap,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/libstdio/vfprintf.c b/mdk-stage1/dietlibc/libstdio/vfprintf.c deleted file mode 100644 index 5e64cf099..000000000 --- a/mdk-stage1/dietlibc/libstdio/vfprintf.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <unistd.h> -#include <stdlib.h> -#include "dietstdio.h" - -static int __fwrite(void*ptr, size_t nmemb, FILE* f) { -  return fwrite(ptr,1,nmemb,f); -} - -int vfprintf(FILE *stream, const char *format, va_list arg_ptr) -{ -  struct arg_printf ap = { stream, (int(*)(void*,size_t,void*)) __fwrite }; -  return __v_printf(&ap,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/libstdio/vfscanf.c b/mdk-stage1/dietlibc/libstdio/vfscanf.c deleted file mode 100644 index 6d75a45ac..000000000 --- a/mdk-stage1/dietlibc/libstdio/vfscanf.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include "dietstdio.h" -#include <unistd.h> - -int vfscanf(FILE *stream, const char *format, va_list arg_ptr) -{ -  struct arg_scanf farg = { (void*)stream, (int(*)(void*))fgetc, (int(*)(int,void*))ungetc }; -  return __v_scanf(&farg,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/libstdio/vprintf.c b/mdk-stage1/dietlibc/libstdio/vprintf.c deleted file mode 100644 index 7fe579e0a..000000000 --- a/mdk-stage1/dietlibc/libstdio/vprintf.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <stdarg.h> -#include <unistd.h> -#include "dietstdio.h" - -int __stdio_outs(const char *s,size_t len) __attribute__((weak)); -int __stdio_outs(const char *s,size_t len) { -  return (write(1,s,len)==(int)len)?1:0; -} - -int vprintf(const char *format, va_list ap) -{ -  struct arg_printf _ap = { 0, (int(*)(void*,size_t,void*)) __stdio_outs }; -  return __v_printf(&_ap,format,ap); -} - diff --git a/mdk-stage1/dietlibc/libstdio/vscanf.c b/mdk-stage1/dietlibc/libstdio/vscanf.c deleted file mode 100644 index ba9358fc4..000000000 --- a/mdk-stage1/dietlibc/libstdio/vscanf.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include "dietstdio.h" -#include <unistd.h> - -int vscanf(const char *format, va_list arg_ptr) -{ -  return vfscanf(stdin,format,arg_ptr); -} diff --git a/mdk-stage1/dietlibc/libugly/asctime.c b/mdk-stage1/dietlibc/libugly/asctime.c deleted file mode 100644 index e1fcc8706..000000000 --- a/mdk-stage1/dietlibc/libugly/asctime.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <time.h> - -static char buf[25]; - -char *asctime(const struct tm *timeptr) { -  return asctime_r(timeptr,buf); -} diff --git a/mdk-stage1/dietlibc/libugly/asctime_r.c b/mdk-stage1/dietlibc/libugly/asctime_r.c deleted file mode 100644 index 43c5e2cb2..000000000 --- a/mdk-stage1/dietlibc/libugly/asctime_r.c +++ /dev/null @@ -1,29 +0,0 @@ -#include <time.h> - -static const char days[] = "Sun Mon Tue Wed Thu Fri Sat "; -static const char months[] = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec "; - -static void num2str(char *c,int i) { -  c[0]=i/10+'0'; -  c[1]=i%10+'0'; -} - -char *asctime_r(const struct tm *t, char *buf) { -  /* "Wed Jun 30 21:49:08 1993\n" */ -  *(int*)buf=*(int*)(days+(t->tm_wday<<2)); -  *(int*)(buf+4)=*(int*)(months+(t->tm_mon<<2)); -  num2str(buf+8,t->tm_mday); -  if (buf[8]=='0') buf[8]=' '; -  buf[10]=' '; -  num2str(buf+11,t->tm_hour); -//  if (buf[11]=='0') buf[11]=' '; -  buf[13]=':'; -  num2str(buf+14,t->tm_min); -  buf[16]=':'; -  num2str(buf+17,t->tm_sec); -  buf[19]=' '; -  num2str(buf+20,(t->tm_year+1900)/100); -  num2str(buf+22,(t->tm_year+1900)%100); -  buf[24]='\n'; -  return buf; -} diff --git a/mdk-stage1/dietlibc/libugly/asprintf.c b/mdk-stage1/dietlibc/libugly/asprintf.c deleted file mode 100644 index 9db1f67c7..000000000 --- a/mdk-stage1/dietlibc/libugly/asprintf.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <stdarg.h> -#include <sys/types.h> -#include <stdlib.h> -#include <stdio.h> -#include "dietwarning.h" - -int asprintf(char **s, const char *format,...) -{ -  int n; -  va_list arg_ptr; -  va_start(arg_ptr, format); -  n=vsnprintf(0,1000000,format,arg_ptr); -  va_start (arg_ptr, format); -  if ((*s=malloc(n+1))) { -    n=vsnprintf(*s,n+1,format,arg_ptr); -    return n; -  } -  return -1; -} diff --git a/mdk-stage1/dietlibc/libugly/ctime.c b/mdk-stage1/dietlibc/libugly/ctime.c deleted file mode 100644 index a0e12d673..000000000 --- a/mdk-stage1/dietlibc/libugly/ctime.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <time.h> - -char *ctime(const time_t *timep) { -  return asctime(localtime(timep)); -} diff --git a/mdk-stage1/dietlibc/libugly/difftime.c b/mdk-stage1/dietlibc/libugly/difftime.c deleted file mode 100644 index fc71363c7..000000000 --- a/mdk-stage1/dietlibc/libugly/difftime.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <time.h> -#include "../dietwarning.h" - -double difftime(time_t time1, time_t time2) { -    return (double)time1 - (double)time2; -} - -link_warning("difftime","warning: difftime introduces an unnecessary floating point dependency. Don't use it!") diff --git a/mdk-stage1/dietlibc/libugly/dirfd.c b/mdk-stage1/dietlibc/libugly/dirfd.c deleted file mode 100644 index 8d5af8b9a..000000000 --- a/mdk-stage1/dietlibc/libugly/dirfd.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <sys/types.h> -#include "dietdirent.h" -#define _BSD_SOURCE -#include <dirent.h> - -int dirfd(DIR* dirp) { -  return dirp->fd; -} diff --git a/mdk-stage1/dietlibc/libugly/endmntent.c b/mdk-stage1/dietlibc/libugly/endmntent.c deleted file mode 100644 index 00ade38e5..000000000 --- a/mdk-stage1/dietlibc/libugly/endmntent.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> -#include <mntent.h> - -int endmntent(FILE *filep) { -  return fclose(filep); -} - diff --git a/mdk-stage1/dietlibc/libugly/facilitynames.c b/mdk-stage1/dietlibc/libugly/facilitynames.c deleted file mode 100644 index 8b0e1f21f..000000000 --- a/mdk-stage1/dietlibc/libugly/facilitynames.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <sys/syslog.h> - -#ifndef INTERNAL_MARK -#define INTERNAL_MARK 0x300 -#endif - -CODE facilitynames[] = -  { -    { "auth", LOG_AUTH }, -    { "authpriv", LOG_AUTHPRIV }, -    { "cron", LOG_CRON }, -    { "daemon", LOG_DAEMON }, -    { "ftp", LOG_FTP }, -    { "kern", LOG_KERN }, -    { "lpr", LOG_LPR }, -    { "mail", LOG_MAIL }, -    { "mark", INTERNAL_MARK },		/* INTERNAL */ -    { "news", LOG_NEWS }, -    { "security", LOG_AUTH },		/* DEPRECATED */ -    { "syslog", LOG_SYSLOG }, -    { "user", LOG_USER }, -    { "uucp", LOG_UUCP }, -    { "local0", LOG_LOCAL0 }, -    { "local1", LOG_LOCAL1 }, -    { "local2", LOG_LOCAL2 }, -    { "local3", LOG_LOCAL3 }, -    { "local4", LOG_LOCAL4 }, -    { "local5", LOG_LOCAL5 }, -    { "local6", LOG_LOCAL6 }, -    { "local7", LOG_LOCAL7 }, -    { 0, -1 } -  }; diff --git a/mdk-stage1/dietlibc/libugly/freeaddrinfo.c b/mdk-stage1/dietlibc/libugly/freeaddrinfo.c deleted file mode 100644 index 72a13f5e1..000000000 --- a/mdk-stage1/dietlibc/libugly/freeaddrinfo.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/socket.h> -#include <stdlib.h> - -void freeaddrinfo(struct addrinfo *res) { -  while (res) { -    struct addrinfo *duh; -    duh=res; -    res=res->ai_next; -    free(duh); -  } -} diff --git a/mdk-stage1/dietlibc/libugly/ftime.c b/mdk-stage1/dietlibc/libugly/ftime.c deleted file mode 100644 index 3aa2d15c3..000000000 --- a/mdk-stage1/dietlibc/libugly/ftime.c +++ /dev/null @@ -1,15 +0,0 @@ -#include <sys/time.h> -#include <sys/timeb.h> -#include <unistd.h> - -int ftime(struct timeb *tp) { -  struct timeval tv; -  struct timezone tz; -  int ret=gettimeofday(&tv,&tz); -  tp->time	= tv.tv_sec; -  tp->millitm	= tv.tv_usec/1000; -  tp->timezone	= tz.tz_minuteswest; -  tp->dstflag	= tz.tz_dsttime; -  return ret; -} - diff --git a/mdk-stage1/dietlibc/libugly/gai_strerror.c b/mdk-stage1/dietlibc/libugly/gai_strerror.c deleted file mode 100644 index 9dc4f5dde..000000000 --- a/mdk-stage1/dietlibc/libugly/gai_strerror.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/socket.h> - -const char* gai_strerror(int error) { -  switch (error) { -  case EAI_FAMILY: return "family not supported"; -  case EAI_SOCKTYPE: return "socket type not supported"; -  case EAI_NONAME: return "unknown host"; -  case EAI_SERVICE: return "unknown service"; -  case EAI_MEMORY: return "memory allocation failure"; -  case EAI_AGAIN: return "temporary failure"; -  } -  return "DNS error. Sorry."; -} diff --git a/mdk-stage1/dietlibc/libugly/getaddrinfo.c b/mdk-stage1/dietlibc/libugly/getaddrinfo.c deleted file mode 100644 index a4675d92b..000000000 --- a/mdk-stage1/dietlibc/libugly/getaddrinfo.c +++ /dev/null @@ -1,140 +0,0 @@ -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <stdlib.h> -#include <string.h> -#include <netdb.h> -#include <arpa/inet.h> - -/* XXX TODO FIXME */ - -int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) { -  struct addrinfo **tmp; -  int family; -  tmp=res; *res=0; -  if (hints) { -    if (hints->ai_family && hints->ai_family != PF_INET6 && hints->ai_family != PF_INET) return EAI_FAMILY; -    if (hints->ai_socktype && hints->ai_socktype != SOCK_STREAM && hints->ai_socktype != SOCK_DGRAM) return EAI_SOCKTYPE; -  } -  for (family=PF_INET6; ; family=PF_INET) { -    if (!hints || hints->ai_family==family || hints->ai_family==AF_UNSPEC) {	/* IPv6 addresses are OK */ -      struct hostent h; -      struct hostent *H; -      int herrno=0; -      char buf[4096]; -      int lookupok=0; -      h.h_addr_list=(char**)buf+16; -      if (node) { -	if (inet_pton(family,node,buf)>0) { -	  h.h_name=(char*)node; -	  h.h_addr_list[0]=buf; -	  lookupok=1; -	} else if ((!hints || !(hints->ai_flags&AI_NUMERICHOST)) && -		   !gethostbyname2_r(node,family,&h,buf,4096,&H,&herrno)) { -	  lookupok=1; -	} else { -	  if (herrno==TRY_AGAIN) { freeaddrinfo(*res); return EAI_AGAIN; } -	} -      } else { -	h.h_name=0; -	h.h_addr_list[0]=buf; -	memset(buf,0,16); -	if (!hints || !(hints->ai_flags&AI_PASSIVE)) { -	  if (family==AF_INET) { -	    buf[0]=127; buf[3]=1; -	  } else -	    buf[15]=1; -	} -	lookupok=1; -      } -      if (lookupok) { -	struct ai_v6 { -	  struct addrinfo ai; -	  union { -	    struct sockaddr_in6 ip6; -	    struct sockaddr_in ip4; -	  } ip; -	  char name[1]; -	} *foo; -	unsigned short port; -	int len=sizeof(struct ai_v6)+(h.h_name?strlen(h.h_name):0); -	if (!(foo=malloc(len))) goto error; -	foo->ai.ai_next=0; -	foo->ai.ai_socktype=SOCK_STREAM; -	foo->ai.ai_protocol=IPPROTO_TCP; -	foo->ai.ai_addrlen=family==PF_INET6?sizeof(struct sockaddr_in6):sizeof(struct sockaddr_in); -	foo->ai.ai_addr=(struct sockaddr*)&foo->ip; -	if (family==PF_INET6) { -	  memset(&foo->ip,0,sizeof(foo->ip)); -	  memmove(&foo->ip.ip6.sin6_addr,h.h_addr_list[0],16); -	} else { -	  memmove(&foo->ip.ip4.sin_addr,h.h_addr_list[0],4); -	} -	foo->ip.ip6.sin6_family=foo->ai.ai_family=family; -	if (h.h_name) { -	  foo->ai.ai_canonname=foo->name; -	  memmove(foo->name,h.h_name,strlen(h.h_name)+1); -	} else -	  foo->ai.ai_canonname=0; -	if (!hints || hints->ai_socktype!=SOCK_DGRAM) {	/* TCP is OK */ -	  char *x; -	  port=htons(strtol(service?service:"0",&x,0)); -	  if (*x) {	/* service is not numeric :-( */ -	    struct servent* se; -	    if ((se=getservbyname(service,"tcp"))) {	/* found a service. */ -	      port=se->s_port; -  blah1: -	      if (family==PF_INET6) -		foo->ip.ip6.sin6_port=port; -	      else -		foo->ip.ip4.sin_port=port; -	      if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai); -	      if (!(foo=malloc(len))) goto error; -	      memmove(foo,*tmp,len); -	      tmp=&(*tmp)->ai_next; -	      foo->ai.ai_addr=(struct sockaddr*)&foo->ip; -	      if (foo->ai.ai_canonname) -		foo->ai.ai_canonname=foo->name; -	    } else { -	      freeaddrinfo(*res); -	      return EAI_SERVICE; -	    } -	  } else goto blah1; -	} -	foo->ai.ai_socktype=SOCK_DGRAM; -	foo->ai.ai_protocol=IPPROTO_UDP; -	if (!hints || hints->ai_socktype!=SOCK_STREAM) {	/* UDP is OK */ -	  char *x; -	  port=htons(strtol(service?service:"0",&x,0)); -	  if (*x) {	/* service is not numeric :-( */ -	    struct servent* se; -	    if ((se=getservbyname(service,"udp"))) {	/* found a service. */ -	      port=se->s_port; -  blah2: -	      if (family==PF_INET6) -		foo->ip.ip6.sin6_port=port; -	      else -		foo->ip.ip4.sin_port=port; -	      if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai); -	      if (!(foo=malloc(len))) goto error; -	      memmove(foo,*tmp,len); -	      tmp=&(*tmp)->ai_next; -	      foo->ai.ai_addr=(struct sockaddr*)&foo->ip; -	      foo->ai.ai_canonname=foo->name; -	    } else { -	      freeaddrinfo(*res); -	      return EAI_SERVICE; -	    } -	  } else goto blah2; -	} -	free(foo); -      } -    } -    if (family==PF_INET) break; -  } -  if (*res==0) return EAI_NONAME; /* kludge kludge... */ -  return 0; -error: -  freeaddrinfo(*res); -  return EAI_MEMORY; -} diff --git a/mdk-stage1/dietlibc/libugly/gethostent.c b/mdk-stage1/dietlibc/libugly/gethostent.c deleted file mode 100644 index fe92beacf..000000000 --- a/mdk-stage1/dietlibc/libugly/gethostent.c +++ /dev/null @@ -1,116 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <netdb.h> -#include <sys/mman.h> -#include <errno.h> -#include <netinet/in.h> -#include <string.h> -#include <ctype.h> -#include <netdb.h> -#include <sys/socket.h> -#include <arpa/inet.h> -#include "dietfeatures.h" - -static char* hostmap=0; -static unsigned int hostlen; - -static char *cur; - -/* ::1	localhost6	alias1 alias2		# internet protocol, pseudo protocol number */ -struct hostent* gethostent_r(char* buf, int len) { -  char *dest; -  struct hostent* pe=(struct hostent*)buf; -  char* last; -  char* max=buf+len; -  int aliasidx; -  if (!hostmap) { -    int hostfd=open(_PATH_HOSTS,O_RDONLY); -    if (hostfd<0) return 0; -    hostlen=lseek(hostfd,0,SEEK_END); -    hostmap=mmap(0,hostlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,hostfd,0); -    if ((long)hostmap==(-1)) { close(hostfd); hostmap=0; goto error; } -    close(hostfd); hostfd=-1; -    cur=hostmap; -  } -  last=hostmap+hostlen; -again: -  if ((size_t)len<sizeof(struct hostent)+11*sizeof(char*)) goto nospace; -  dest=buf+sizeof(struct hostent); -  pe->h_name=0; -  pe->h_aliases=(char**)dest; pe->h_aliases[0]=0; dest+=10*sizeof(char*); -  pe->h_addr_list=(char**)dest; dest+=2*sizeof(char**); -  if (cur>=last) return 0; -  if (*cur=='#' || *cur=='\n') goto parseerror; -  /* first, the ip number */ -  pe->h_name=cur; -  while (cur<last && !isspace(*cur)) cur++; -  if (cur>=last) return 0; -  if (*cur=='\n') goto parseerror; -  { -    char save=*cur; -    *cur=0; -    pe->h_addr_list[0]=dest; -    pe->h_addr_list[1]=0; -    if (max-dest<16) goto nospace; -    if (inet_pton(AF_INET6,pe->h_name,dest)>0) { -      pe->h_addrtype=AF_INET6; -      pe->h_length=16; -      dest+=16; -    } else if (inet_pton(AF_INET,pe->h_name,dest)>0) { -      pe->h_addrtype=AF_INET; -      pe->h_length=4; -      dest+=4; -    } else { -      *cur=save; -      goto parseerror; -    } -    *cur=save; -  } -  ++cur; -  /* now the aliases */ -  for (aliasidx=0;aliasidx<9;++aliasidx) { -    while (cur<last && isblank(*cur)) ++cur; -    pe->h_aliases[aliasidx]=cur; -    while (cur<last && !isspace(*cur)) ++cur; -    { -      char *from=pe->h_aliases[aliasidx]; -      int len=cur-from; -      if (max-dest<len+2) goto nospace; -      pe->h_aliases[aliasidx]=dest; -      memmove(dest,from,(size_t)(cur-from)); -      dest+=len; -      *dest=0; ++dest; -    } -    if (*cur=='\n') { ++cur; ++aliasidx; break; } -    if (cur>=last || !isblank(*cur)) break; -    cur++; -  } -  pe->h_aliases[aliasidx]=0; -  pe->h_name=pe->h_aliases[0]; -  pe->h_aliases++; -  return pe; -parseerror: -  while (cur<last && *cur!='\n') cur++; -  cur++; -  goto again; -nospace: -  errno=ERANGE; -  goto __error; -error: -  errno=ENOMEM; -__error: -  if (hostmap!=(char*)-1) munmap(hostmap,hostlen); -  hostmap=(char*)-1; -  return 0; -} - -void sethostent(int stayopen) { -  (void)stayopen; -  cur=hostmap; -} - -void endhostent(void) { -  if (hostmap!=(char*)-1) munmap(hostmap,hostlen); -  hostmap=0; -} - diff --git a/mdk-stage1/dietlibc/libugly/getmntent.c b/mdk-stage1/dietlibc/libugly/getmntent.c deleted file mode 100644 index 1a1bdca24..000000000 --- a/mdk-stage1/dietlibc/libugly/getmntent.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <mntent.h> -#include <string.h> - -struct mntent *getmntent(FILE *filep) { -  static struct mntent m; -  static char buf[1024]; -  do { -    char *tmp=buf; -    int num; -    if (!fgets(buf,1024,filep)) return 0; -/* "/dev/ide/host0/bus0/target0/lun0/part2 / reiserfs defaults 1 1" */ -    for (num=0; num<6; ++num) { -      switch (num) { -      case 0: m.mnt_fsname=tmp; break; -      case 1: m.mnt_dir=tmp; break; -      case 2: m.mnt_type=tmp; break; -      case 3: m.mnt_opts=tmp; break; -      case 4: m.mnt_freq=strtol(tmp,&tmp,0); if (*tmp!=' ' && *tmp!='\t') continue; break; -      case 5: m.mnt_passno=strtol(tmp,&tmp,0); if (*tmp=='\n') return &m; break; -      } -      while (*tmp && *tmp!=' ' && *tmp!='\n' && *tmp!='\t') ++tmp; -      if (*tmp) { -	if (num<4) *tmp++=0; -	while (*tmp==' ' || *tmp=='\t') ++tmp; -      } else -	continue; -    } -  } while (1); -} diff --git a/mdk-stage1/dietlibc/libugly/getnameinfo.c b/mdk-stage1/dietlibc/libugly/getnameinfo.c deleted file mode 100644 index 40883ba09..000000000 --- a/mdk-stage1/dietlibc/libugly/getnameinfo.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <arpa/inet.h> -#include <string.h> - -extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase); - -int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, -		size_t hostlen, char *serv, size_t servlen, int flags) { -  sa_family_t f=((struct sockaddr_storage *)sa)->ss_family; -  (void)salen;	/* shut gcc up about unused salen */ -  if (host && hostlen>0) {	/* user wants me to resolve the host name */ -    register const char*addr=(f==AF_INET6)?(char*)&((struct sockaddr_in6*)sa)->sin6_addr: -					   (char*)&((struct sockaddr_in*)sa)->sin_addr; -    if (flags&NI_NUMERICHOST) { -      if (!inet_ntop(f,addr,host,hostlen)) -	return EAI_NONAME; -    } else { -      char buf[4096]; -      struct hostent h; -      struct hostent *H; -      int herrno; -      if (gethostbyaddr_r(addr,f==AF_INET6?16:4,f,&h,buf,4096,&H,&herrno)) { -	switch (herrno) { -	case TRY_AGAIN: return EAI_AGAIN; -	case NO_DATA: -	case HOST_NOT_FOUND: return EAI_NONAME; -	} -      } -      strncpy(host,h.h_name,hostlen-1); -      host[hostlen-1]=0; -    } -  } -  if (serv && servlen>0) { -    register short int port=(f==AF_INET6)?((struct sockaddr_in6*)sa)->sin6_port:((struct sockaddr_in*)sa)->sin_port; -    if (flags&NI_NUMERICSERV) { -      __ltostr(serv,servlen,ntohs(port),10,0); -    } else { -      struct servent *s; -      if (!(s=getservbyport(port,flags&NI_DGRAM?"udp":"tcp"))) -	return EAI_SERVICE; -    } -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname.c b/mdk-stage1/dietlibc/libugly/getprotobyname.c deleted file mode 100644 index 1de348791..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotobyname.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern struct protoent __protoent_pw; -extern char __protoent_buf[1000]; - -struct protoent *getprotobyname(const char *name) { -  struct protoent* tmp; -  if (getprotobyname_r(name,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0) -    return tmp; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c b/mdk-stage1/dietlibc/libugly/getprotobyname_r.c deleted file mode 100644 index 3b1219aa7..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c +++ /dev/null @@ -1,17 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern int getprotobyname_r(const char* name, -			    struct protoent *res, char *buf, size_t buflen, -			    struct protoent **res_sig) { -  while (!getprotoent_r(res,buf,buflen,res_sig)) { -    int i; -    if (!strcmp(res->p_name,name)) goto found; -    for (i=0; res->p_aliases[i]; ++i) -      if (!strcmp(res->p_aliases[i],name)) goto found; -  } -  *res_sig=0; -found: -  endprotoent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber.c b/mdk-stage1/dietlibc/libugly/getprotobynumber.c deleted file mode 100644 index 6170753e2..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotobynumber.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern struct protoent __protoent_pw; -extern char __protoent_buf[1000]; - -struct protoent *getprotobynumber(int proto) { -  struct protoent* tmp; -  if (getprotobynumber_r(proto,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0) -    return tmp; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c b/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c deleted file mode 100644 index 2ca439fc6..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern int getprotobynumber_r(int proto, -			   struct protoent *res, char *buf, size_t buflen, -			   struct protoent **res_sig) { -  while (!getprotoent_r(res,buf,buflen,res_sig)) -    if (proto==res->p_proto) goto found; -  *res_sig=0; -found: -  endprotoent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotoent.c b/mdk-stage1/dietlibc/libugly/getprotoent.c deleted file mode 100644 index 3f0fd4d41..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotoent.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <netdb.h> - -extern struct protoent __protoent_pw; -extern char __protoent_buf[1000]; - -struct protoent *getprotoent(void) { -  struct protoent* tmp; -  getprotoent_r(&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libugly/getprotoent_r.c b/mdk-stage1/dietlibc/libugly/getprotoent_r.c deleted file mode 100644 index aa9af79c3..000000000 --- a/mdk-stage1/dietlibc/libugly/getprotoent_r.c +++ /dev/null @@ -1,78 +0,0 @@ -#include <string.h> -#include <sys/types.h> -#include <sys/mman.h> -#include <netdb.h> -#include <ctype.h> -#include "parselib.h" - -static struct state __ps; - -void setprotoent(int stayopen) { -  (void)stayopen; -  __prepare_parse(_PATH_PROTOCOLS,&__ps); -} - -void endprotoent(void) { -  __end_parse(&__ps); -} - -#define ALIASES 16 - -/* "igmp	2	IGMP		# internet group management protocol" */ -int getprotoent_r(struct protoent *res, char *buf, size_t buflen, -		  struct protoent **res_sig) { -  size_t i,j,n,g; -  unsigned long l; -  if (!__ps.buffirst) setprotoent(0); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -  res->p_aliases=(char**)buf; -/*  getprotoent */ -again: -  n=ALIASES*sizeof(char*); g=0; -  for (i=0; i<3; ++i) { -    char found; -    __ps.cur+=__parse_ws(&__ps); -    if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; } -    j=__parse_nws(&__ps); -    if (!isblank(found=__ps.buffirst[__ps.cur+j])) { -      if (i==2) break;	/* it's ok, no (more) aliases necessary */ -parseerror: -      while (__ps.cur+j<__ps.buflen) { -	if (__ps.buffirst[__ps.cur+j]=='\n') { -	  __ps.cur+=j+1; -	  goto again; -	} -	++j; -      } -    } -    switch (i) { -    case 0: -      res->p_name=buf+n; -copy: -      if ((size_t)buflen<=n+j) goto error; -      memcpy(buf+n,__ps.buffirst+__ps.cur,j); -      buf[n+j]=0; -      n+=j+1; -      if ((found=='\n' || found=='#') && i==1) i=3; -      break; -    case 1: -      if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror; -      res->p_proto=l; -      break; -    case 2: -      res->p_aliases[g]=buf+n; -      ++g; -      if (g==(ALIASES-1)) break; -      --i;	/* again */ -      goto copy; -    } -    __ps.cur+=j+1; -  } -  res->p_aliases[g]=0; -  *res_sig=res; -  return 0; -error: -  *res_sig=0;/* the glibc people should be taken behind the barn and shot */ -  return -1; -} diff --git a/mdk-stage1/dietlibc/libugly/getservbyname.c b/mdk-stage1/dietlibc/libugly/getservbyname.c deleted file mode 100644 index f1c74eaa9..000000000 --- a/mdk-stage1/dietlibc/libugly/getservbyname.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern struct servent __servent_pw; -extern char __servent_buf[1000]; - -struct servent *getservbyname(const char *name, const char *proto) { -  struct servent* tmp; -  if (getservbyname_r(name,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0) -    return tmp; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/getservbyname_r.c b/mdk-stage1/dietlibc/libugly/getservbyname_r.c deleted file mode 100644 index f523a01ca..000000000 --- a/mdk-stage1/dietlibc/libugly/getservbyname_r.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern int getservbyname_r(const char* name,const char* proto, -			   struct servent *res, char *buf, size_t buflen, -			   struct servent **res_sig) { -  while (!getservent_r(res,buf,buflen,res_sig)) { -    int i; -    if (proto && strcmp(res->s_proto,proto)) continue; -    if (!strcmp(res->s_name,name)) goto found; -    for (i=0; res->s_aliases[i]; ++i) -      if (!strcmp(res->s_aliases[i],name)) goto found; -  } -  *res_sig=0; -found: -  endservent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libugly/getservbyport.c b/mdk-stage1/dietlibc/libugly/getservbyport.c deleted file mode 100644 index 2821deb63..000000000 --- a/mdk-stage1/dietlibc/libugly/getservbyport.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern struct servent __servent_pw; -extern char __servent_buf[1000]; - -struct servent *getservbyport(int port, const char *proto) { -  struct servent* tmp; -  if (getservbyport_r(port,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0) -    return tmp; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/getservbyport_r.c b/mdk-stage1/dietlibc/libugly/getservbyport_r.c deleted file mode 100644 index 9c0f21bdf..000000000 --- a/mdk-stage1/dietlibc/libugly/getservbyport_r.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <string.h> -#include <netdb.h> - -extern int getservbyport_r(int port,const char* proto, -			   struct servent *res, char *buf, size_t buflen, -			   struct servent **res_sig) { -  while (!getservent_r(res,buf,buflen,res_sig)) -    if (port==res->s_port && !strcmp(res->s_proto,proto)) goto ok; -  *res_sig=0; -ok: -  endservent(); -  return *res_sig?0:-1; -} diff --git a/mdk-stage1/dietlibc/libugly/getservent.c b/mdk-stage1/dietlibc/libugly/getservent.c deleted file mode 100644 index 9eabc972a..000000000 --- a/mdk-stage1/dietlibc/libugly/getservent.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <netdb.h> - -extern struct servent __servent_pw; -extern char __servent_buf[1000]; - -struct servent *getservent(void) { -  struct servent* tmp; -  getservent_r(&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp); -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libugly/getservent_r.c b/mdk-stage1/dietlibc/libugly/getservent_r.c deleted file mode 100644 index 33db6f31d..000000000 --- a/mdk-stage1/dietlibc/libugly/getservent_r.c +++ /dev/null @@ -1,91 +0,0 @@ -#include <sys/types.h> -#include <sys/mman.h> -#include <netinet/in.h> -#include <string.h> -#include <netdb.h> -#include <ctype.h> -#include "parselib.h" - -static struct state __ps; - -void setservent(int stayopen) { -  (void)stayopen; -  __prepare_parse(_PATH_SERVICES,&__ps); -} - -void endservent(void) { -  __end_parse(&__ps); -} - -#define ALIASES 16 - -/* "tcpmux		1/tcp		# TCP port multiplexer (RFC1078)" */ -int getservent_r(struct servent *res, char *buf, size_t buflen, -		 struct servent **res_sig) { -  size_t i,j,n,g; -  unsigned long l; -  if (!__ps.buffirst) setservent(0); -  if (!__ps.buffirst) goto error; -  if (__ps.cur>=__ps.buflen) goto error; -  res->s_aliases=(char**)buf; -/*  getservent */ -again: -  n=ALIASES*sizeof(char*); g=0; -  for (i=0; i<3; ++i) { -    char found; -    __ps.cur+=__parse_ws(&__ps); -    if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; } -    j=__parse_nws(&__ps); -    if (!isblank(found=__ps.buffirst[__ps.cur+j])) { -      if (i==2 && found=='#') break; -      if (found=='#' || (i>1 && found!='\n')) { -parseerror: -	while (__ps.cur+j<__ps.buflen) { -	  if (__ps.buffirst[__ps.cur+j]=='\n') { -	    __ps.cur+=j+1; -	    goto again; -	  } -	  ++j; -	} -	goto error; -      } -    } -    switch (i) { -    case 0: -      res->s_name=buf+n; -copy: -      if (!j) goto parseerror; -      if ((size_t)buflen<=n+j) goto error; -      memcpy(buf+n,__ps.buffirst+__ps.cur,j); -      buf[n+j]=0; -      n+=j+1; -      if ((found=='\n' || found=='#') && i==1) i=3; -      break; -    case 1: -      { -	int k; -	k=scan_ulong(__ps.buffirst+__ps.cur,&l); -	if (__ps.buffirst[__ps.cur+k]!='/') { -	  goto parseerror; -	} -	res->s_port=htons(l); -	res->s_proto=buf+n; -	j-=k+1; __ps.cur+=k+1; -	goto copy; -      } -    case 2: -      res->s_aliases[g]=buf+n; -      ++g; -      if (g==(ALIASES-1)) break; -      --i;	/* again */ -      goto copy; -    } -    __ps.cur+=j+1; -  } -  res->s_aliases[g]=0; -  *res_sig=res; -  return 0; -error: -  *res_sig=0;/* the glibc people should be taken behind the barn and shot */ -  return -1; -} diff --git a/mdk-stage1/dietlibc/libugly/gmtime.c b/mdk-stage1/dietlibc/libugly/gmtime.c deleted file mode 100644 index d33af7972..000000000 --- a/mdk-stage1/dietlibc/libugly/gmtime.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <time.h> - -struct tm* gmtime(const time_t *t) { -  static struct tm tmp; -  return gmtime_r(t,&tmp); -} diff --git a/mdk-stage1/dietlibc/libugly/gmtime_r.c b/mdk-stage1/dietlibc/libugly/gmtime_r.c deleted file mode 100644 index 6bc0bb5b2..000000000 --- a/mdk-stage1/dietlibc/libugly/gmtime_r.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <time.h> - -/* seconds per day */ -#define SPD 24*60*60 - -extern short __spm[]; - -struct tm *gmtime_r(const time_t *timep, struct tm *r) { -  time_t i; -  register time_t work=*timep%(SPD); -  r->tm_sec=work%60; work/=60; -  r->tm_min=work%60; r->tm_hour=work/60; -  work=*timep/(SPD); -  r->tm_wday=(4+work)%7; -  for (i=1970; ; ++i) { -    register time_t k=__isleap(i)?366:365; -    if (work>=k) -      work-=k; -    else -      break; -  } -  r->tm_year=i-1900; -  r->tm_yday=work; - -  r->tm_mday=1; -  if (__isleap(i) && (work>58)) { -    if (work==59) r->tm_mday=2; /* 29.2. */ -    work-=1; -  } - -  for (i=11; i && (__spm[i]>work); --i) ; -  r->tm_mon=i; -  r->tm_mday+=work-__spm[i]; -  return r; -} diff --git a/mdk-stage1/dietlibc/libugly/grantpt.c b/mdk-stage1/dietlibc/libugly/grantpt.c deleted file mode 100644 index 0aa903b29..000000000 --- a/mdk-stage1/dietlibc/libugly/grantpt.c +++ /dev/null @@ -1,13 +0,0 @@ -#define _XOPEN_SOURCE -#include <unistd.h> -#include <fcntl.h> -#include <sys/stat.h> -#include <stdlib.h> - -int grantpt (int fd) { -  struct stat st; -  if ((fstat(fd, &st))<0) return -1; -  if ((chmod((char*)ptsname(fd), st.st_mode | S_IRUSR | S_IWUSR | S_IWGRP))<0) -    return -1; -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/hasmntopt.c b/mdk-stage1/dietlibc/libugly/hasmntopt.c deleted file mode 100644 index 2a547feee..000000000 --- a/mdk-stage1/dietlibc/libugly/hasmntopt.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <string.h> -#include <mntent.h> - -char *hasmntopt(const struct mntent *mnt, const char *opt) { -  char *s=mnt->mnt_opts; -  char *c; -  int len=strlen(opt); -  if (!s) return 0; -  for (c=s;;) { -    if (!(c=strstr(c,opt))) break; -    if (c==s || c[-1]==',') { -      if (c[len]==0 || c[len]==',' || c[len]=='=') -	return c; -    } -    c+=len+1; -  } -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/iconv.c b/mdk-stage1/dietlibc/libugly/iconv.c deleted file mode 100644 index 45be5d91d..000000000 --- a/mdk-stage1/dietlibc/libugly/iconv.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "dietfeatures.h" -#include <errno.h> -#include "dieticonv.h" -#include <netinet/in.h> - -size_t iconv(iconv_t cd, const char* * inbuf, size_t * -		    inbytesleft, char* * outbuf, size_t * outbytesleft) { -  size_t converted=0,i,j,k; -  int bits; -  if (!inbuf || !*inbuf) return 0; -  while (*inbytesleft) { -    unsigned int v=0; -    v=*(unsigned char*)*inbuf; -    i=j=1; -    switch (ic_from(cd)) { -    case UCS_2: -      v=ntohs(*(unsigned short*)*inbuf); -      i=2; -      break; -    case UCS_4: -      v=ntohs(*(unsigned int*)*inbuf); -      i=4; -    case ISO_8859_1: -      break; -    case UTF_8: -      if (!(v&0x80)) break; -      for (i=0xC0; i!=0xFC; i=(i>>1)+0x80) -	if ((v&((i>>1)|0x80))==i) { -	  v&=~i; -	  break; -	} -      for (i=1; ((*inbuf)[i]&0xc0)==0x80; ++i) -	v=(v<<6)|((*inbuf)[i]&0x3f); -/*      printf("got %u in %u bytes, buflen %u\n",v,i,*inbytesleft); */ -      break; -    } -    switch (ic_to(cd)) { -    case ISO_8859_1: -      **outbuf=(unsigned char)v; -      break; -    case UCS_2: -      *(unsigned short*)*outbuf=htons(v); -      j=2; -      break; -    case UCS_4: -      *(unsigned int*)*outbuf=htonl(v); -      j=4; -      break; -    case UTF_8: -      if (v>0x04000000) { bits=30; **outbuf=0xFC; j=6; } else -      if (v>0x00200000) { bits=24; **outbuf=0xF8; j=5; } else -      if (v>0x00010000) { bits=18; **outbuf=0xF0; j=4; } else -      if (v>0x00000800) { bits=12; **outbuf=0xE0; j=3; } else -      if (v>0x00000080) { bits=6; **outbuf=0xC0; j=2; } else -			{ bits=0; **outbuf=0; } -      **outbuf |= (unsigned char)(v>>bits); -      if (*outbytesleft<j) { -	errno=E2BIG; -	return (size_t)-1; -      } -      for (k=1; k<j; ++k) { -	bits-=6; -	(*outbuf)[k]=0x80+((v>>bits)&0x3F); -      } -      break; -    } -    *inbuf+=i; *inbytesleft-=i; ++converted; -    *outbuf+=j; *outbytesleft-=j; -  } -  return converted; -} diff --git a/mdk-stage1/dietlibc/libugly/iconv_close.c b/mdk-stage1/dietlibc/libugly/iconv_close.c deleted file mode 100644 index 7d5d4c4b9..000000000 --- a/mdk-stage1/dietlibc/libugly/iconv_close.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdlib.h> -#include "dieticonv.h" - -int iconv_close(iconv_t cd) { -  (void)cd;	/* shut gcc up about unused cd */ -  return 0; -} diff --git a/mdk-stage1/dietlibc/libugly/iconv_open.c b/mdk-stage1/dietlibc/libugly/iconv_open.c deleted file mode 100644 index eabab4273..000000000 --- a/mdk-stage1/dietlibc/libugly/iconv_open.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <string.h> -#include <strings.h> -#include "dietfeatures.h" -#include <errno.h> -#include <stdlib.h> -#include "dieticonv.h" - -static enum charset parsecharset(const char* s) { -  if (!strcasecmp(s,"UTF-8")) return UTF_8; else -  if (!strcasecmp(s,"UCS-2") || !strcasecmp(s,"UCS2")) return UCS_2; else -  if (!strcasecmp(s,"UCS-4") || !strcasecmp(s,"UCS4")) return UCS_4; else -  if (!strcasecmp(s,"ISO-8859-1")) return ISO_8859_1; else -  if (!strcasecmp(s,"US-ASCII")) return ISO_8859_1; else -  return INVALID; -} - -iconv_t iconv_open(const char* tocode, const char* fromcode) { -  int f,t; - -  f=parsecharset(fromcode); -  t=parsecharset(tocode); - -  if (f==INVALID || t==INVALID) { -    errno=EINVAL; -    return (iconv_t)(-1); -  } -  return (f|t<<16); -} diff --git a/mdk-stage1/dietlibc/libugly/isleap.c b/mdk-stage1/dietlibc/libugly/isleap.c deleted file mode 100644 index d83712792..000000000 --- a/mdk-stage1/dietlibc/libugly/isleap.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <time.h> - -int __isleap(int year) { -  /* every fourth year is a leap year except for century years that are -   * not divisible by 400. */ -/*  return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); */ -  return (!(year%4) && ((year%100) || !(year%400))); -} diff --git a/mdk-stage1/dietlibc/libugly/localtime.c b/mdk-stage1/dietlibc/libugly/localtime.c deleted file mode 100644 index 6fa6acf8a..000000000 --- a/mdk-stage1/dietlibc/libugly/localtime.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <time.h> - -struct tm* localtime(const time_t* t) { -  static struct tm tmp; -  return localtime_r(t,&tmp); -} diff --git a/mdk-stage1/dietlibc/libugly/localtime_r.c b/mdk-stage1/dietlibc/libugly/localtime_r.c deleted file mode 100644 index 5d420303c..000000000 --- a/mdk-stage1/dietlibc/libugly/localtime_r.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "dietfeatures.h" -#include <time.h> -#include <sys/time.h> - -#ifdef WANT_TZFILE_PARSER -extern void __maplocaltime(void); -extern time_t __tzfile_map(time_t t, int *isdst); -#else -extern long int timezone; -extern int daylight; -#endif - -struct tm* localtime_r(const time_t* t, struct tm* r) { -  time_t tmp; -#ifdef WANT_TZFILE_PARSER -  __maplocaltime(); -  tmp=__tzfile_map(*t,&r->tm_isdst); -#else -  struct timezone tz; -  gettimeofday(0, &tz); -  timezone=tz.tz_minuteswest*60L; -  tmp=*t+timezone; -#endif -  return gmtime_r(&tmp,r); -} diff --git a/mdk-stage1/dietlibc/libugly/logging.c b/mdk-stage1/dietlibc/libugly/logging.c deleted file mode 100644 index 680a1f850..000000000 --- a/mdk-stage1/dietlibc/libugly/logging.c +++ /dev/null @@ -1,197 +0,0 @@ -#include <errno.h> -#include "dietfeatures.h" - -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> -#include <syslog.h> -#include <string.h> -#include <time.h> -#include <sys/socket.h> -#include <signal.h> - -#define _PATH_CONSOLE	"/dev/console" -#define BUF_SIZE 2048	/* messagebuffer size (>= 200) */ - -#define MAX_LOGTAG 1000 - -/* those have to be global *sigh* */ -static volatile int	connected = 0;  /* have done connect */ -static volatile int	LogMask = 0xff; /* mask of priorities to be logged */ -static char		LogTag[MAX_LOGTAG];	/* string to tag the entry with */ -static int		LogFile = -1;   /* fd for log */ -static int		LogType = SOCK_DGRAM; /* type of socket connection */ -static int		LogFacility = LOG_USER; /* default facility code */ -static int		LogStat;	/* status bits, set by openlog() */ -extern char		*__progname;	/* Program name, from crt0. */ -static struct sockaddr	SyslogAddr;	/* AF_UNIX address of local logger */ - -static void closelog_intern(void) -{ -  if (!connected) return; -  close(LogFile); -  LogFile = -1; -  connected = 0; -} - -void __libc_closelog(void); -void __libc_closelog(void) -{ -  closelog_intern(); - -  LogTag[0]=0; -  LogType = SOCK_DGRAM; -} -void closelog(void) __attribute__((weak,alias("__libc_closelog"))); - -static void openlog_intern(int option, int facility) -{ -  LogStat = option; -  if (facility && ((facility & ~LOG_FACMASK) == 0)) -    LogFacility = facility; - -  /* yep, there is a continue inside ;) */ -  while(1) { -    if (LogFile == -1) { -      SyslogAddr.sa_family = AF_UNIX; -      strncpy(SyslogAddr.sa_data, _PATH_LOG, sizeof(SyslogAddr.sa_data)); -      if (LogStat & LOG_NDELAY) -      { -	if ((LogFile = socket(AF_UNIX, LogType, 0)) == -1) return; -	fcntl(LogFile, F_SETFD, 1); -      } -    } -    if ((LogFile != -1) && !connected) { -      int old_errno=errno; -      if(connect(LogFile, &SyslogAddr, sizeof(SyslogAddr)) == -1) { -	int saved_errno=errno; -	close(LogFile); -	LogFile = -1; -	if((LogType == SOCK_DGRAM) && (saved_errno == EPROTOTYPE)) { -	  /* retry with SOCK_STREAM instead of SOCK_DGRAM */ -	  LogType = SOCK_STREAM; -	  errno=old_errno; -	  continue; -	} -      } -      else connected = 1; -    } -    break; -  } -} - -/* has to be secured against multiple, simultanious call's in threaded environment */ -void __libc_openlog(const char *ident, int option, int facility); -void __libc_openlog(const char *ident, int option, int facility) -{ -  if (ident) { -    strncpy(LogTag,ident,MAX_LOGTAG); -    LogTag[MAX_LOGTAG-1]=0; -  } -  openlog_intern(option, facility); -} -void openlog(const char *ident, int option, int facility) __attribute__((weak,alias("__libc_openlog"))); - -int setlogmask(int mask) -{ -  int old = LogMask; -  if (mask) LogMask = mask; -  return old; -} - -void __libc_vsyslog(int priority, const char *format, va_list arg_ptr); -void __libc_vsyslog(int priority, const char *format, va_list arg_ptr) -{ -  char buffer[BUF_SIZE]; -  char time_buf[20]; -  int buflen, headerlen; -  time_t now; -  struct tm now_tm; -  pid_t pid; -  int fd; -  int sigpipe; -  struct sigaction action, oldaction; -  struct sigaction *oldaction_ptr = NULL; -  int saved_errno = errno; - -  /* check for invalid priority/facility bits */ -  if (priority & ~(LOG_PRIMASK|LOG_FACMASK)) { -    syslog(LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID, "syslog: unknown facility/priorityority: %x", priority); -    priority &= LOG_PRIMASK|LOG_FACMASK; -  } - -  /* check priority against setlogmask */ -  if ((LOG_MASK(LOG_PRI(priority)) && LogMask) == 0) return; - -  /* Set default facility if none specified. */ -  if ((priority & LOG_FACMASK) == 0) priority |= LogFacility; - -  pid = getpid(); -  time(&now); -  strftime(time_buf, 20, "%h %e %T", localtime_r (&now, &now_tm)); - -  if (LogStat & LOG_PID) -    headerlen = snprintf(buffer, 130, "<%d>%s %s[%d]: ", priority, time_buf, LogTag, pid); -  else -    headerlen = snprintf(buffer, 130, "<%d>%s %s: ", priority, time_buf, LogTag); - -  if (!LogTag[0]) { -    if ((LogStat & LOG_PID) != LOG_PID) -      headerlen = snprintf(buffer, 130, "<%d>%s (unknown)[%d]: ", priority, time_buf, pid); -    strcat(buffer+headerlen, "syslog without openlog w/ ident, please check code!"); -    buflen = 41; -  } -  else { -    errno=saved_errno; -    buflen = vsnprintf(buffer+headerlen, BUF_SIZE - headerlen, format, arg_ptr); -  } -  if (LogStat & LOG_PERROR) { -    write(1, buffer+headerlen, buflen); -    if (buffer[headerlen+buflen] != '\n') write(1,"\n", 1); -  } - -  /* prepare for broken connection */ -  memset(&action, 0, sizeof(action)); -  action.sa_handler = SIG_IGN; -  sigemptyset(&action.sa_mask); - -  if ((sigpipe = sigaction (SIGPIPE, &action, &oldaction))==0) -    oldaction_ptr = &oldaction; - -  if (!connected) openlog_intern(LogStat | LOG_NDELAY, 0); - -  /* If we have a SOCK_STREAM connection, also send ASCII NUL as a -   * record terminator. */ -  if (LogType == SOCK_STREAM) buflen++; - -  if (!connected || (send(LogFile, buffer, buflen+headerlen, 0) != buflen+headerlen)) { -    if (LogType == SOCK_STREAM) buflen--; -    closelog_intern(); -    /* -     * Output the message to the console; don't worry about blocking, -     * if console blocks everything will.  Make sure the error reported -     * is the one from the syslogd failure. -     */ -    if ((LogStat & LOG_CONS) && -       ((fd = open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0)) -    { -      write(fd, buffer, buflen+headerlen); -      write(fd, "\r\n", 2); -    } -  } - -  if (sigpipe == 0) -    sigaction(SIGPIPE, &oldaction, (struct sigaction *) NULL); -} -void vsyslog(int priority, const char *format, va_list arg_ptr) __attribute__((weak,alias("__libc_vsyslog"))); - -void syslog(int priority, const char *format, ...) -{ -  va_list arg_ptr; -  va_start(arg_ptr, format); -  vsyslog(priority, format, arg_ptr); -  va_end(arg_ptr); -} diff --git a/mdk-stage1/dietlibc/libugly/mktime.c b/mdk-stage1/dietlibc/libugly/mktime.c deleted file mode 100644 index 348068e1d..000000000 --- a/mdk-stage1/dietlibc/libugly/mktime.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <time.h> - -extern const short  __spm []; - -time_t  mktime ( register struct tm* const t ) -{ -    register time_t  day; -    register time_t  i; - -    if ( t->tm_year < 70 ) -        return (time_t) -1; - -    day = t->tm_yday = __spm [t->tm_mon] + t->tm_mday-1 + ( __isleap (t->tm_year+1900)  &  (t->tm_mon > 1) ); - -    for ( i = 70; i < t->tm_year; i++ ) -        day += 365 + __isleap (i+1900); - -    /* day is now the number of days since 'Jan 1 1970' */ -    i = 7; -    t->tm_wday = (day + 4) % i;                        /* Sunday=0, Monday=1, ..., Saturday=6 */ - -    i = 24; -    day *= i; -    i = 60; -    return ((day + t->tm_hour) * i + t->tm_min) * i + t->tm_sec; -} - -#if 0 - -#include <math.h> - -main() -{ -    int i, j, k; -    static char *s[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; - -    for (i=70; i<200; i++) -        for (j=0; j<12; j++) -            for (k=1; k<=31; k++) { -                struct tm t; -                double x; -                t.tm_year = i; -                t.tm_mon  = j; -                t.tm_mday = k; -                t.tm_hour = 0; -                t.tm_min  = 0; -                t.tm_sec  = 0; -                x = mktime (&t); -                printf ("%4d.%5.0f  %2u.%02u.%04u  %s\n", (int)floor(x/86400), x-86400.*(int)floor(x/86400), k, j+1, 1900+i, s[t.tm_wday] ); -            } - -} -#endif diff --git a/mdk-stage1/dietlibc/libugly/netent.c b/mdk-stage1/dietlibc/libugly/netent.c deleted file mode 100644 index 4710d0fe6..000000000 --- a/mdk-stage1/dietlibc/libugly/netent.c +++ /dev/null @@ -1,130 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> -#include <errno.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <string.h> -#include <ctype.h> -#include "dietfeatures.h" -#include <netdb.h> -#include <arpa/inet.h> - -static int netfd=-1; -static char* netmap; -static unsigned int netlen; - -static char* aliases[10]; - -static char *cur; - -/* loopback	127.0.0.0	lo	# comment */ -struct netent *getnetent(void) { -  static struct netent ne; -  char *last; -  int aliasidx; -  if (netfd<0) { -    netfd=open(_PATH_NETWORKS,O_RDONLY); -    if (netfd<0) return 0; -    fcntl (netfd, F_SETFD, FD_CLOEXEC); -    netlen=lseek(netfd,0,SEEK_END); -    netmap=mmap(0,netlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,netfd,0); -    if ((long)netmap==(-1)) goto error; -    cur=netmap; -  } -  last=netmap+netlen; -again: -  ne.n_name=0; -  ne.n_aliases=aliases; aliases[0]=0; -  ne.n_addrtype=AF_INET; -  ne.n_net=0; -  if (cur>=last) return 0; -  if (*cur=='#' || *cur=='\n') goto parseerror; -  /* first, the primary name */ -  if (!isalpha(*cur)) goto parseerror; -  ne.n_name=cur; -  ne.n_aliases=aliases; -  while (cur<last && isalnum(*cur)) cur++; -  if (cur>=last) return 0; -  if (*cur=='\n') goto parseerror; -  *cur=0; cur++; -  /* second, the ip */ -  while (cur<last && isblank(*cur)) cur++; -  { -    const char *tmp=cur; -    char save; -    while (cur<last && (isdigit(*cur) || *cur=='.')) ++cur; -    save=*cur; *cur=0; -    if (inet_aton(tmp,(struct in_addr*)&ne.n_net)==0) goto parseerror; -    *cur=save; -  } -  if (cur>=last) return 0; -  /* now the aliases */ -  for (aliasidx=0;aliasidx<10;++aliasidx) { -    while (cur<last && isblank(*cur)) ++cur; -    aliases[aliasidx]=cur; -    while (cur<last && isalpha(*cur)) ++cur; -    if (*cur=='\n') { *cur++=0; ++aliasidx; break; } -    if (cur>=last || !isblank(*cur)) break; -    *cur++=0; -  } -  aliases[aliasidx]=0; -  return ≠ -parseerror: -  while (cur<last && *cur!='\n') cur++; -  cur++; -  goto again; -error: -  if (netmap!=(char*)-1) munmap(netmap,netlen); -  if (netfd!=-1) close(netfd); -  netmap=(char*)-1; -  netfd=-1; -  errno=ENOMEM; -  return 0; -} - -struct netent *getnetbyaddr(unsigned long net, int type) { -  struct netent *s; -  for (s=getnetent(); s; s=getnetent()) { -    if (net==s->n_net && type==s->n_addrtype) -      return s; -  } -  return 0; -} - -void endnetent(void) { -  if (netmap!=(char*)-1) munmap(netmap,netlen); -  if (netfd!=-1) close(netfd); -  netmap=(char*)-1; -  netfd=-1; -} - -void setnetent(int stayopen) { -  (void)stayopen; -  endnetent(); -} - -struct netent *getnetbyname(const char *name) { -  struct netent *s; -  setnetent(0); -  for (s=getnetent(); s; s=getnetent()) { -    char **tmp; -#if 0 -    write(1,"found ",6); -    write(1,s->s_name,strlen(s->s_name)); -    write(1,"/",1); -    write(1,s->s_proto,strlen(s->s_proto)); -    write(1,"\n",1); -    if (!strcmp(s->s_name,"ssh")) { -      write(2,"ssh!\n",5); -    } -#endif -    if (!strcmp(name,s->n_name)) -      return s; -    tmp=s->n_aliases; -    while (*tmp) -      if (!strcmp(name,*tmp++)) return s; -  } -  return 0; -} - diff --git a/mdk-stage1/dietlibc/libugly/openpty.c b/mdk-stage1/dietlibc/libugly/openpty.c deleted file mode 100644 index 8d06f329c..000000000 --- a/mdk-stage1/dietlibc/libugly/openpty.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <unistd.h> -#include <pty.h> -#include <fcntl.h> -#include <termios.h> -#include <sys/ioctl.h> -#include <errno.h> -#include <string.h> - -extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase); - -int openpty(int *amaster, int *aslave, char *name, struct termios -	    *termp, struct winsize *winp) { -  int fd; -  char buf[20]; -#if 0 -  This is what glibc does: -  open("/dev/ptmx", O_RDWR)               = 4 -  statfs("/dev/pts", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0 -  ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0 -  ioctl(4, 0x80045430, [0])               = 0 -  stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 -  statfs("/dev/pts/0", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0 -  ioctl(4, 0x40045431, [0])               = 0 -  ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0 -  ioctl(4, 0x80045430, [0])               = 0 -  stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 -  open("/dev/pts/0", O_RDWR|O_NOCTTY)     = 5 -#endif -  if ((fd=open("/dev/ptmx",O_RDWR))<0) return -1; -#if 0 -  if (ioctl(fd,TCGETS,&ts)<0) goto kaputt; -#endif -  { -    int unlock=0; -    while (ioctl(fd,TIOCSPTLCK, &unlock)<0) if (errno!=EINTR) goto kaputt; -  } -  { -    int ptyno; -    while (ioctl(fd,TIOCGPTN,&ptyno)<0) if (errno!=EINTR) goto kaputt; -    strcpy(buf,"/dev/pts/"); -    __ltostr(buf+9,10,ptyno,10,0); -  } -  *aslave=open(buf,O_RDWR|O_NOCTTY); -  if (*aslave<0) goto kaputt; -  *amaster=fd; -  if (name) strcpy(name,buf); -  if (termp) -    while (tcsetattr(*aslave,TCSAFLUSH,termp) && errno==EINTR); -  if (winp) while (ioctl(*aslave, TIOCSWINSZ, winp) && errno==EINTR); -  return 0; -kaputt: -  close(fd); -  return -1; -} diff --git a/mdk-stage1/dietlibc/libugly/pclose.c b/mdk-stage1/dietlibc/libugly/pclose.c deleted file mode 100644 index e33076c19..000000000 --- a/mdk-stage1/dietlibc/libugly/pclose.c +++ /dev/null @@ -1,11 +0,0 @@ -#include <sys/types.h> -#include <sys/wait.h> -#include "dietstdio.h" - -int pclose(FILE *f) { -  int status; -  fclose(f); -  if (waitpid(f->popen_kludge,&status,0)>=0) -    return status; -  return -1; -} diff --git a/mdk-stage1/dietlibc/libugly/popen.c b/mdk-stage1/dietlibc/libugly/popen.c deleted file mode 100644 index aa9a2cde0..000000000 --- a/mdk-stage1/dietlibc/libugly/popen.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "dietstdio.h" -#include <unistd.h> -#include <fcntl.h> -#include "binshstr.h" - -extern char **environ; - -FILE *popen(const char *command, const char *type) { -  int pfd[2]; -  int fd0; -  FILE* f; -  pid_t pid; - -  if (pipe(pfd)<0) return 0; -  fd0=(*type=='r'); -  if (!(f=fdopen(pfd[!fd0],type))) { -    close(pfd[0]);	/* malloc failed */ -    close(pfd[1]); -    return 0; -  } -  if ((pid=fork())<0) { -    close(pfd[0]); -    close(pfd[1]); -    return 0; -  } -  if (!pid) {	/* child */ -    const char *argv[]={__sh,"-c",0,0}; -    close(pfd[!fd0]); close(fd0); -    dup2(pfd[fd0],fd0); close(pfd[fd0]); -    argv[2]=command; -    execve(__binsh,(char*const*)argv,environ); -    _exit(127); -  } -  close(pfd[fd0]); -  fcntl (pfd[!fd0], F_SETFD, FD_CLOEXEC); -  f->popen_kludge=pid; -  return f; -} diff --git a/mdk-stage1/dietlibc/libugly/prioritynames.c b/mdk-stage1/dietlibc/libugly/prioritynames.c deleted file mode 100644 index 87a99b76d..000000000 --- a/mdk-stage1/dietlibc/libugly/prioritynames.c +++ /dev/null @@ -1,22 +0,0 @@ -#include <sys/syslog.h> - -#ifndef INTERNAL_NOPRI -#define INTERNAL_NOPRI 0x10 -#endif - -CODE prioritynames[] = -  { -    { "alert", LOG_ALERT }, -    { "crit", LOG_CRIT }, -    { "debug", LOG_DEBUG }, -    { "emerg", LOG_EMERG }, -    { "err", LOG_ERR }, -    { "error", LOG_ERR },		/* DEPRECATED */ -    { "info", LOG_INFO }, -    { "none", INTERNAL_NOPRI },		/* INTERNAL */ -    { "notice", LOG_NOTICE }, -    { "panic", LOG_EMERG },		/* DEPRECATED */ -    { "warn", LOG_WARNING },		/* DEPRECATED */ -    { "warning", LOG_WARNING }, -    { 0, -1 } -  }; diff --git a/mdk-stage1/dietlibc/libugly/protoent_buf.c b/mdk-stage1/dietlibc/libugly/protoent_buf.c deleted file mode 100644 index 0e303a5d4..000000000 --- a/mdk-stage1/dietlibc/libugly/protoent_buf.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <netdb.h> - -struct protoent __protoent_pw; -char __protoent_buf[1000]; - diff --git a/mdk-stage1/dietlibc/libugly/ptsname.c b/mdk-stage1/dietlibc/libugly/ptsname.c deleted file mode 100644 index a332faf6c..000000000 --- a/mdk-stage1/dietlibc/libugly/ptsname.c +++ /dev/null @@ -1,17 +0,0 @@ -#define _XOPEN_SOURCE -#include <unistd.h> -#include <sys/ioctl.h> -#include <stdlib.h> -#include <string.h> - -# define MAX_FDS 4 - -char *ptsname(int fd) { -  static char buffer[9+MAX_FDS]; /* Ahh..great */ -  int pty; - -  strcpy(buffer,"/dev/pts/"); -  if ((ioctl(fd, TIOCGPTN, &pty)) == -1) return 0; -  __ltostr(buffer+9, MAX_FDS, pty, 10, 0); -  return buffer; -} diff --git a/mdk-stage1/dietlibc/libugly/putpwent.c b/mdk-stage1/dietlibc/libugly/putpwent.c deleted file mode 100644 index f192c5934..000000000 --- a/mdk-stage1/dietlibc/libugly/putpwent.c +++ /dev/null @@ -1,19 +0,0 @@ -/* man, what a crook! */ - -#include <pwd.h> -#include <stdio.h> -#include <sys/types.h> -#include <errno.h> -#include "dietwarning.h" - -int putpwent(const struct passwd *p, FILE *stream) { -  if (p && stream) { -    fprintf(stream,"%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd, -	    p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell); -    return 0; -  } -  (*__errno_location())=EINVAL; -  return -1; -} - -link_warning("putpwent","putpwent is garbage, don't use!") diff --git a/mdk-stage1/dietlibc/libugly/servent_buf.c b/mdk-stage1/dietlibc/libugly/servent_buf.c deleted file mode 100644 index b9e992adf..000000000 --- a/mdk-stage1/dietlibc/libugly/servent_buf.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <netdb.h> - -struct servent __servent_pw; -char __servent_buf[1000]; - diff --git a/mdk-stage1/dietlibc/libugly/setenv.c b/mdk-stage1/dietlibc/libugly/setenv.c deleted file mode 100644 index c65910471..000000000 --- a/mdk-stage1/dietlibc/libugly/setenv.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <string.h> -#include <stdlib.h> - -#include <dietwarning.h> -link_warning("setenv","setenv calls malloc.  Avoid it in small programs."); - -int setenv(const char *name, const char *value, int overwrite) { -  if (getenv(name)) { -    if (!overwrite) return 0; -    unsetenv(name); -  } -  { -    char *c=malloc(strlen(name)+strlen(value)+3); -    strcpy(c,name); -    strcat(c,"="); -    strcat(c,value); -    return putenv(c); -  } -} diff --git a/mdk-stage1/dietlibc/libugly/setmntent.c b/mdk-stage1/dietlibc/libugly/setmntent.c deleted file mode 100644 index a91d3902b..000000000 --- a/mdk-stage1/dietlibc/libugly/setmntent.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> -#include <mntent.h> - -FILE *setmntent(const char *filename, const char *type) { -  return fopen(filename,type); -} - diff --git a/mdk-stage1/dietlibc/libugly/strftime.c b/mdk-stage1/dietlibc/libugly/strftime.c deleted file mode 100644 index 365d0c84f..000000000 --- a/mdk-stage1/dietlibc/libugly/strftime.c +++ /dev/null @@ -1,118 +0,0 @@ -#include <sys/types.h> -#include <time.h> -#include "dietfeatures.h" - -static const char   sweekdays [7] [4] = { -    "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" -}; -static const char   weekdays [7] [10] = { -    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" -}; -static const char   smonths [12] [4] = { -    "Jan", "Feb", "Mar", "Apr", "May", "Jun", -    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" -}; -static const char*  months [12] = {  -    "January", "February", "March", "April", smonths[5-1], "June", -    "July", "August", "September", "October", "November", "December" -}; -static const char   ampm [4] [3] = { -    "am", "pm", -    "AM", "PM" -}; - -static int  i2a ( char* dest,unsigned int x )  -{ -    int  div = 10; -    *dest++ = x/div + '0'; -    *dest++ = x%div + '0'; -    *dest++ = '\0'; -    return 2; -} - -size_t  strftime ( char* dst, size_t max, const char* format, const struct tm* tm )  -{ -    char*         p = dst; -    const char*   src; -    unsigned int  no; -    char          buf [5]; -   -   -    for ( ; *format != '\0'; format++ ) { -	if (*format == '%') { -	    if (*++format == '%') { -	        *p++ = '%'; -	    } -	    else -again: -    	    switch (*format) { -//          case '%': *p++ = '%';  				 break;			// reduce size of jump table -            case 'n': *p++ = '\n'; 				 break; -            case 't': *p++ = '\t'; 				 break; -	    case 'O': case 'E': ++format; goto again; -            case 'c': src = "%b %a %d %k:%M:%S %Z %Y";        	 goto _strf; -            case 'r': src = "%I:%M:%S %p";                    	 goto _strf; -            case 'R': src = "%H:%M";      			 goto _strf; -            case 'x': src = "%b %a %d";   			 goto _strf; -            case 'X': src = "%k:%M:%S";   			 goto _strf; -            case 'D': src = "%m/%d/%y";   			 goto _strf; -            case 'T': src = "%H:%M:%S"; -               _strf: p  += strftime (p, (size_t)(dst+max-p), src, tm); 	 break; -            case 'a': src = sweekdays [tm->tm_wday]; 		 goto _str; -            case 'A': src = weekdays  [tm->tm_wday]; 		 goto _str; -            case 'h': -            case 'b': src = smonths   [tm->tm_mon];  		 goto _str; -            case 'B': src = months    [tm->tm_mon];  		 goto _str; -            case 'p': src = ampm [tm->tm_hour > 12 ? 3 : 2]; goto _str; -            case 'P': src = ampm [tm->tm_hour > 12 ? 1 : 0]; goto _str; -            case 'C': no  = tm->tm_year/100 + 19; 		 goto _no; -            case 'd': no  = tm->tm_mday;          		 goto _no; -            case 'e': no  = tm->tm_mday;          		 goto _nos; -            case 'H': no  = tm->tm_hour;          		 goto _no; -            case 'I': no  = tm->tm_hour % 12;     		 goto _no; -            case 'j': no  = tm->tm_yday;          		 goto _no; -            case 'k': no  = tm->tm_hour;          		 goto _nos; -            case 'l': no  = tm->tm_hour % 12;     		 goto _nos; -            case 'm': no  = tm->tm_mon + 1;         		 goto _no; -            case 'M': no  = tm->tm_min;           		 goto _no; -            case 'S': no  = tm->tm_sec;           		 goto _no; -            case 'u': no  = tm->tm_wday ? tm->tm_wday : 7; 	 goto _no; -            case 'w': no  = tm->tm_wday;              		 goto _no; -	    case 'U': no  = (tm->tm_yday - tm->tm_wday + 7) / 7; goto _no; -	    case 'W': no  = (tm->tm_yday - (tm->tm_wday - 1 + 7) % 7 + 7) / 7; goto _no; -	    case 'Z': -#ifdef WANT_TZFILE_PARSER -		      tzset(); src = tzname[0]; -#else -		      src = "[unknown timezone]"; -#endif -		      goto _str; -            case 'Y': i2a ( buf+0, (unsigned int)(tm->tm_year / 100 + 19) ); -		      i2a ( buf+2, (unsigned int)(tm->tm_year % 100) ); -		      src = buf; -		      goto _str; -            case 'y': no  = tm->tm_year % 100; 			 goto _no; -                 _no: i2a ( buf, no );				 /* append number 'no' */ -                      src = buf; -            	      goto _str; -                _nos: i2a ( buf, no );				 /* the same, but '0'->' ' */ -            	      if (buf[0] == '0') -		          buf[0] = ' '; -		      src = buf; -		_str: while (*src  &&  p < dst+max)		 /* append string */ -      	                  *p++ = *src++; -      	              break; -      	    }; -        } else { -            *p++ = *format; -        } -         -        if (p >= dst+max)  -            break; -    } -     -    *p = '\0';  -    return p - dst; -} - - diff --git a/mdk-stage1/dietlibc/libugly/strndup.c b/mdk-stage1/dietlibc/libugly/strndup.c deleted file mode 100644 index 7f912d4c6..000000000 --- a/mdk-stage1/dietlibc/libugly/strndup.c +++ /dev/null @@ -1,10 +0,0 @@ -#include <string.h> -#include <stdlib.h> - -char *strndup(const char *s,size_t n) { -  char *tmp=(char *)malloc(n+1); -  if (!tmp) return 0; -  strncpy(tmp,s,n); -  tmp[n]=0; -  return tmp; -} diff --git a/mdk-stage1/dietlibc/libugly/strsignal.c b/mdk-stage1/dietlibc/libugly/strsignal.c deleted file mode 100644 index d72777571..000000000 --- a/mdk-stage1/dietlibc/libugly/strsignal.c +++ /dev/null @@ -1,10 +0,0 @@ -#define _GNU_SOURCE -#include <string.h> -#include <signal.h> - -const char* strsignal(int sig) { -  if (sig<=SIGRTMAX) -    return sys_siglist[sig]; -  else -    return "(unknown signal)"; -} diff --git a/mdk-stage1/dietlibc/libugly/system.c b/mdk-stage1/dietlibc/libugly/system.c deleted file mode 100644 index 714aad056..000000000 --- a/mdk-stage1/dietlibc/libugly/system.c +++ /dev/null @@ -1,75 +0,0 @@ -#include <signal.h> -#include <errno.h> -#include <unistd.h> -#include <sys/wait.h> -#include "dietwarning.h" -#include "dietfeatures.h" -#include "binshstr.h" - -extern char **environ; - -int __libc_system (const char *line); - -int __libc_system (const char *line) -{ -  struct sigaction sa, intr, quit; -  sigset_t block,omask; -  int save,pid,ret=-1; - -  if (line == 0) return __libc_system("exit 0") == 0; - -  sa.sa_handler = SIG_IGN; -  sa.sa_flags = 0; -  sigemptyset (&sa.sa_mask); - -  if (sigaction(SIGINT,  &sa, &intr)<0) return -1; -  if (sigaction(SIGQUIT, &sa, &quit)<0) { -    save = errno; -undo: -    sigaction (SIGINT, &intr, (struct sigaction*)0); -    errno=save; -    return -1; -  } -  sigemptyset(&block); -  sigaddset(&block,SIGCHLD); -  if (sigprocmask(SIG_BLOCK,&block,&omask)<0) { -    save=errno; -    sigaction (SIGQUIT, &quit, (struct sigaction*)0); -    goto undo; -  } - -  pid=fork(); -  if (pid>0) -  { /* parent */ -    int n; -    do -      n=waitpid(pid, &ret, 0); -    while ((n==-1) && (errno==EINTR)); -    if (n!=pid) ret=-1; -  } -  else if (!pid) -  { /* child */ -    const char *nargs[4]; -    nargs[0] = __sh; -    nargs[1] = "-c"; -    nargs[2] = line; -    nargs[3] = 0; - -    sigaction(SIGINT,  &intr, (struct sigaction*)0); -    sigaction(SIGQUIT, &quit, (struct sigaction*)0); -    sigprocmask(SIG_SETMASK,&omask,0); - -    execve(__binsh,(char *const *)nargs, environ); -    _exit(127); -  } -  save = errno; -  sigaction (SIGINT,  &intr, (struct sigaction *)0); -  sigaction (SIGQUIT, &quit, (struct sigaction *)0); -  sigprocmask(SIG_SETMASK,&omask,0); -  errno=save; -  return ret; -} - -int system (const char *line) __attribute__((weak,alias("__libc_system"))); - -link_warning("system","warning: system() is a security risk.  Use fork and execvp instead!") diff --git a/mdk-stage1/dietlibc/libugly/time_table_spd.c b/mdk-stage1/dietlibc/libugly/time_table_spd.c deleted file mode 100644 index 6850d76c4..000000000 --- a/mdk-stage1/dietlibc/libugly/time_table_spd.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <time.h> - -/* days per month -- nonleap! */ -const short __spm[12] = -  { 0, -    (31), -    (31+28), -    (31+28+31), -    (31+28+31+30), -    (31+28+31+30+31), -    (31+28+31+30+31+30), -    (31+28+31+30+31+30+31), -    (31+28+31+30+31+30+31+31), -    (31+28+31+30+31+30+31+31+30), -    (31+28+31+30+31+30+31+31+30+31), -    (31+28+31+30+31+30+31+31+30+31+30), -  }; - diff --git a/mdk-stage1/dietlibc/libugly/timezone.c b/mdk-stage1/dietlibc/libugly/timezone.c deleted file mode 100644 index e8a94a906..000000000 --- a/mdk-stage1/dietlibc/libugly/timezone.c +++ /dev/null @@ -1,3 +0,0 @@ - -long int timezone; -int daylight; diff --git a/mdk-stage1/dietlibc/libugly/tzfile.c b/mdk-stage1/dietlibc/libugly/tzfile.c deleted file mode 100644 index e0e8f7846..000000000 --- a/mdk-stage1/dietlibc/libugly/tzfile.c +++ /dev/null @@ -1,107 +0,0 @@ -#include "dietfeatures.h" -#include <unistd.h> -#include <fcntl.h> -#include <sys/mman.h> -#include <netinet/in.h> -#include <time.h> - -/* #include <stdio.h> */ - -char* tzname[2]={"GMT","GMT"}; - -#ifdef WANT_TZFILE_PARSER -static char *tzfile=0; -static int tzlen=-1; - -void __maplocaltime(void); -void __maplocaltime(void) { -  int fd; -  unsigned int len; -  if (tzlen>=0) return; -  tzlen=0; -  if ((fd=open("/etc/localtime",O_RDONLY))<0) return; -  len=lseek(fd,0,SEEK_END); -  if ((tzfile=mmap(0,len,PROT_READ,MAP_PRIVATE,fd,0))==MAP_FAILED) return; -  close(fd); -  if (ntohl(*(int*)tzfile) != 0x545a6966) return; -  tzlen=len; -} - -static unsigned long __myntohl(const unsigned char* c) { -  return (((unsigned long)c[0])<<24) + -         (((unsigned long)c[1])<<16) + -         (((unsigned long)c[2])<<8) + -         ((unsigned long)c[3]); -} - -time_t __tzfile_map(time_t t, int *isdst); -time_t __tzfile_map(time_t t, int *isdst) { -  /* "TZif" plus 16 reserved bytes. */ -  char *tmp; -  int i; -  int tzh_ttisgmtcnt, tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt; -  *isdst=0; -  if (!tzfile) return t; -  tzh_ttisgmtcnt=ntohl(*(int*)(tzfile+20)); -  tzh_ttisstdcnt=ntohl(*(int*)(tzfile+24)); -  tzh_leapcnt=ntohl(*(int*)(tzfile+28)); -  tzh_timecnt=ntohl(*(int*)(tzfile+32)); -  tzh_typecnt=ntohl(*(int*)(tzfile+36)); -  tzh_charcnt=ntohl(*(int*)(tzfile+40)); - -#if 0 -  tmp=tzfile+20+6*4; -  printf("ttisgmtcnt %d ttisstdcnt %d leapcnt %d timecnt %d typecnt %d charcnt %d\n",tzh_ttisgmtcnt,tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt); -  printf("transition times: "); -  for (i=0; i<tzh_timecnt; ++i) { -    printf("%s%lu",i?", ":"",ntohl(*(int*)tmp)); tmp+=4; -  } -  printf("\n"); -  printf("indices: "); -  for (i=0; i<tzh_timecnt; ++i) { -    printf("%s%d",i?", ":"",*tmp); ++tmp; -  } -  printf("\n"); -  printf("transition times: "); -  for (i=0; i<tzh_typecnt; ++i) { -    printf("%s(%lu,%d,%d)",i?", ":"",ntohl(*(int*)tmp),tmp[4],tmp[5]); tmp+=6; -  } -  printf("\n"); -  for (i=0; i<tzh_charcnt; ++i) { -    printf("%s\"%s\"",i?", ":"",tmp); -    tmp+=strlen(tmp); -  } -  printf("\n"); -#endif - -  tmp=tzfile+20+6*4; -  daylight=(tzh_timecnt>0); -  for (i=0; i<tzh_timecnt; ++i) { -    if ((time_t)__myntohl(tmp+i*4) >= t) { -      char* tz=tmp; -/*      printf("match at %d\n",i); */ -      tmp+=tzh_timecnt*4; -      i=tmp[i-1]; -/*      printf("using index %d\n",i); */ -      tmp+=tzh_timecnt; -      tz+=tzh_timecnt*5+tzh_leapcnt*4+tzh_typecnt*6; -      tmp+=i*6; -/*      printf("(%lu,%d,%d)\n",ntohl(*(int*)tmp),tmp[4],tmp[5]); */ -      *isdst=tmp[4]; -      tzname[0]=tz+tmp[5]; -      timezone=-(__myntohl(tmp)); -      return t-timezone; -    } -  } -  return t; -} - -void tzset(void) { -  int isdst; -  __maplocaltime(); -  __tzfile_map(time(0),&isdst); -} - -#else -void tzset(void)	__attribute__((weak,alias("__nop"))); -#endif diff --git a/mdk-stage1/dietlibc/libugly/unlockpt.c b/mdk-stage1/dietlibc/libugly/unlockpt.c deleted file mode 100644 index e0246ed8e..000000000 --- a/mdk-stage1/dietlibc/libugly/unlockpt.c +++ /dev/null @@ -1,10 +0,0 @@ -#define _XOPEN_SOURCE -#include <sys/ioctl.h> -#include <unistd.h> -#include <stdlib.h> - -int unlockpt (int fd) { -  int foo; -  /* hehe, that one is easy */ -  return (ioctl (fd, TIOCSPTLCK, &foo)); -} diff --git a/mdk-stage1/dietlibc/libugly/unsetenv.c b/mdk-stage1/dietlibc/libugly/unsetenv.c deleted file mode 100644 index 46e880271..000000000 --- a/mdk-stage1/dietlibc/libugly/unsetenv.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <stdlib.h> - -void unsetenv(const char *name) { -  putenv(name); -} - diff --git a/mdk-stage1/dietlibc/libugly/utent.c b/mdk-stage1/dietlibc/libugly/utent.c deleted file mode 100644 index d8d5d1ba7..000000000 --- a/mdk-stage1/dietlibc/libugly/utent.c +++ /dev/null @@ -1,103 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <utmp.h> - -static const char *utmp_file_name = _PATH_UTMP; -static int fd = -1; - -static int lock_record(int type) { -  struct flock fl; -  fl.l_whence	= SEEK_CUR; -  fl.l_start	= 0; -  fl.l_len	= sizeof(struct utmp); -  fl.l_pid	= 0; -  fl.l_type	= type; -  return fcntl(fd, F_SETLKW, &fl); -} - -static int unlock_record() { -  struct flock fl; -  fl.l_whence	= SEEK_CUR; -  fl.l_start	= -sizeof(struct utmp); -  fl.l_len	= sizeof(struct utmp); -  fl.l_pid	= 0; -  fl.l_type	= F_UNLCK; -  return fcntl(fd, F_SETLK, &fl); -} - -void utmpname(const char *file) { -  if (file) -    utmp_file_name = file; -  else -    utmp_file_name = _PATH_UTMP; -} - -void setutent() { -  if (fd<0) fd = open(utmp_file_name,O_RDWR); -  if (fd<0) fd = open(utmp_file_name,O_RDONLY); -  fcntl (fd, F_SETFD, FD_CLOEXEC); -  lseek(fd,0,SEEK_SET); -} - -void endutent() { -  if (fd<0) return; -  close(fd); fd=-1; -} - -struct utmp *getutent(void) { -  static struct utmp getutent_tmp; -  int ret; - -  if (fd<0) { -    setutent(); -    if (fd<0) return 0; -  } -  if (lock_record(F_RDLCK)) return 0; -  ret=read(fd, &getutent_tmp, sizeof(struct utmp)); -  unlock_record(); -  if (ret<1) return 0; -  return &getutent_tmp; -} - -struct utmp *getutid(struct utmp *ut) { -  struct utmp *tmp; - -  while ((tmp = getutent())) { -    if (ut->ut_type && (ut->ut_type <= OLD_TIME)) { -      if (ut->ut_type == tmp->ut_type) break; -    } -    if ((ut->ut_type >= INIT_PROCESS) && (ut->ut_type <= DEAD_PROCESS)) { -      if (!strncmp(ut->ut_id,tmp->ut_id,4)) break; -    } -  } -  return tmp; -} - -struct utmp *getutline(struct utmp *ut) { -  struct utmp *tmp; - -  while ((tmp = getutent())) { -    if ((tmp->ut_type == USER_PROCESS) || (tmp->ut_type == LOGIN_PROCESS)) { -      if (!strncmp(ut->ut_line,tmp->ut_line,UT_LINESIZE)) break; -    } -  } -  return tmp; -} - -void pututline(struct utmp *ut) { -  struct utmp *tmp; - -  if ((tmp = getutid(ut))) { -    lseek(fd, - (off_t)sizeof(struct utmp), SEEK_CUR); -    if (lock_record(F_WRLCK)) return; -    write(fd, ut, sizeof(struct utmp)); -  } -  else { -    lseek(fd, 0, SEEK_END); -    if (lock_record(F_WRLCK)) return; -    write(fd, ut, (off_t)sizeof(struct utmp)); -  } -  unlock_record(); -} - diff --git a/mdk-stage1/dietlibc/libugly/wtent.c b/mdk-stage1/dietlibc/libugly/wtent.c deleted file mode 100644 index 1ca7c3202..000000000 --- a/mdk-stage1/dietlibc/libugly/wtent.c +++ /dev/null @@ -1,30 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <utmp.h> - -void updwtmp(const char *wtmp_file, const struct utmp *ut) { -  int fd = open(wtmp_file, O_WRONLY|O_APPEND); -  if (fd<0) return; -  fcntl (fd, F_SETFD, FD_CLOEXEC); -  write(fd, ut, sizeof(struct utmp)); -  close(fd); -} - -void logwtmp(const char *line, const char *name, const char *host) { -  struct utmp ut; - -  memset(&ut, 0, sizeof(struct utmp)); - -  ut.ut_pid = getpid (); -  ut.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; - -  memccpy (ut.ut_line, line, 0, sizeof ut.ut_line); -  memccpy (ut.ut_name, name, 0, sizeof ut.ut_name); -  memccpy (ut.ut_host, host, 0, sizeof ut.ut_host); - -  gettimeofday (&ut.ut_tv, NULL); - -  updwtmp (_PATH_WTMP, &ut); -} - diff --git a/mdk-stage1/dietlibc/linuxnet.h b/mdk-stage1/dietlibc/linuxnet.h deleted file mode 100644 index 8e2204701..000000000 --- a/mdk-stage1/dietlibc/linuxnet.h +++ /dev/null @@ -1,19 +0,0 @@ - -#define SYS_SOCKET	1		/* sys_socket(2)		*/ -#define SYS_BIND	2		/* sys_bind(2)			*/ -#define SYS_CONNECT	3		/* sys_connect(2)		*/ -#define SYS_LISTEN	4		/* sys_listen(2)		*/ -#define SYS_ACCEPT	5		/* sys_accept(2)		*/ -#define SYS_GETSOCKNAME	6		/* sys_getsockname(2)		*/ -#define SYS_GETPEERNAME	7		/* sys_getpeername(2)		*/ -#define SYS_SOCKETPAIR	8		/* sys_socketpair(2)		*/ -#define SYS_SEND	9		/* sys_send(2)			*/ -#define SYS_RECV	10		/* sys_recv(2)			*/ -#define SYS_SENDTO	11		/* sys_sendto(2)		*/ -#define SYS_RECVFROM	12		/* sys_recvfrom(2)		*/ -#define SYS_SHUTDOWN	13		/* sys_shutdown(2)		*/ -#define SYS_SETSOCKOPT	14		/* sys_setsockopt(2)		*/ -#define SYS_GETSOCKOPT	15		/* sys_getsockopt(2)		*/ -#define SYS_SENDMSG	16		/* sys_sendmsg(2)		*/ -#define SYS_RECVMSG	17		/* sys_recvmsg(2)		*/ - diff --git a/mdk-stage1/dietlibc/parselib.h b/mdk-stage1/dietlibc/parselib.h deleted file mode 100644 index 831d9da2b..000000000 --- a/mdk-stage1/dietlibc/parselib.h +++ /dev/null @@ -1,23 +0,0 @@ -/* parse lib: parse mmapped text with \n terminated lines */ - -/* a memory buffer. */ -struct state { -  const unsigned char* buffirst;/* pointer to the buffer */ -  size_t buflen;		/* length of the buffer */ -  size_t cur;			/* already parsed bytes */ -}; - -/* open and mmap file, fill in struct state */ -void __prepare_parse(const char* filename,struct state* s); -/* unmap file */ -void __end_parse(struct state* s); - -/* return the length of the matching string, 0 on error */ -/* match while pred returns nonzero */ -size_t __parse(struct state* s,int (*pred)(int ch)); - -size_t __parse_ws(struct state* s);		/* skip ' ' or '\t', break at '\n' or '#' */ -size_t __parse_nws(struct state* s);		/* skip non-whitespace, break at '\n' or '#' */ -size_t __parse_1(struct state* s,char c);	/* skip to c */ - -size_t scan_ulong(const char* s,unsigned long* l); diff --git a/mdk-stage1/dietlibc/ppc/Makefile.add b/mdk-stage1/dietlibc/ppc/Makefile.add deleted file mode 100644 index 641cf1ade..000000000 --- a/mdk-stage1/dietlibc/ppc/Makefile.add +++ /dev/null @@ -1,3 +0,0 @@ - -CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os -VPATH:=ppc:syscalls.s:$(VPATH) diff --git a/mdk-stage1/dietlibc/ppc/__longjmp.S b/mdk-stage1/dietlibc/ppc/__longjmp.S deleted file mode 100644 index 8113eeeea..000000000 --- a/mdk-stage1/dietlibc/ppc/__longjmp.S +++ /dev/null @@ -1,59 +0,0 @@ -#include <setjmp.h> - - -#ifdef PIC -#define JUMPTARGET(name) name##@plt -#else -#define JUMPTARGET(name) name -#endif - -.global __longjmp -.type __longjmp,@function -.align 2 -__longjmp: -	lwz 1,(JB_GPR1*4)(3) -	lwz 2,(JB_GPR2*4)(3) -	lwz 0,(JB_LR*4)(3) -	lwz 14,((JB_GPRS+0)*4)(3) -	lfd 14,((JB_FPRS+0*2)*4)(3) -	lwz 15,((JB_GPRS+1)*4)(3) -	lfd 15,((JB_FPRS+1*2)*4)(3) -	lwz 16,((JB_GPRS+2)*4)(3) -	lfd 16,((JB_FPRS+2*2)*4)(3) -	lwz 17,((JB_GPRS+3)*4)(3) -	lfd 17,((JB_FPRS+3*2)*4)(3) -	lwz 18,((JB_GPRS+4)*4)(3) -	lfd 18,((JB_FPRS+4*2)*4)(3) -	lwz 19,((JB_GPRS+5)*4)(3) -	lfd 19,((JB_FPRS+5*2)*4)(3) -	lwz 20,((JB_GPRS+6)*4)(3) -	lfd 20,((JB_FPRS+6*2)*4)(3) -	mtlr 0 -	lwz 21,((JB_GPRS+7)*4)(3) -	lfd 21,((JB_FPRS+7*2)*4)(3) -	lwz 22,((JB_GPRS+8)*4)(3) -	lfd 22,((JB_FPRS+8*2)*4)(3) -	lwz 0,(JB_CR*4)(3) -	lwz 23,((JB_GPRS+9)*4)(3) -	lfd 23,((JB_FPRS+9*2)*4)(3) -	lwz 24,((JB_GPRS+10)*4)(3) -	lfd 24,((JB_FPRS+10*2)*4)(3) -	lwz 25,((JB_GPRS+11)*4)(3) -	lfd 25,((JB_FPRS+11*2)*4)(3) -	mtcrf 0xFF,0 -	lwz 26,((JB_GPRS+12)*4)(3) -	lfd 26,((JB_FPRS+12*2)*4)(3) -	lwz 27,((JB_GPRS+13)*4)(3) -	lfd 27,((JB_FPRS+13*2)*4)(3) -	lwz 28,((JB_GPRS+14)*4)(3) -	lfd 28,((JB_FPRS+14*2)*4)(3) -	lwz 29,((JB_GPRS+15)*4)(3) -	lfd 29,((JB_FPRS+15*2)*4)(3) -	lwz 30,((JB_GPRS+16)*4)(3) -	lfd 30,((JB_FPRS+16*2)*4)(3) -	lwz 31,((JB_GPRS+17)*4)(3) -	lfd 31,((JB_FPRS+17*2)*4)(3) -	mr 3,4 -	blr -.size __longjmp,.-__longjmp - diff --git a/mdk-stage1/dietlibc/ppc/__testandset.S b/mdk-stage1/dietlibc/ppc/__testandset.S deleted file mode 100644 index 146982337..000000000 --- a/mdk-stage1/dietlibc/ppc/__testandset.S +++ /dev/null @@ -1,12 +0,0 @@ -.global __testandset -.type __testandset,@function -.align 2 -__testandset: -1:	lwarx	5,0,3 -	li	0,1 -	stwcx.	0,0,3 -	bne-	1b -	mr	3,5 -	blr -.size __testandset,.-__testandset - diff --git a/mdk-stage1/dietlibc/ppc/clone.S b/mdk-stage1/dietlibc/ppc/clone.S deleted file mode 100644 index 98f6bd4e8..000000000 --- a/mdk-stage1/dietlibc/ppc/clone.S +++ /dev/null @@ -1,48 +0,0 @@ -#include <dietfeatures.h> -#include "syscalls.h" -#include <errno.h> - -.text -.weak clone -clone: -.global __clone -__clone: -	cmpwi	     4,0	/* check have non null child_stack pointer */ -	cmpwi	cr1, 3,0	/* check have non null thread_funcion */ -	cror	eq,4*cr1+eq,eq	/* now if eq is set one is or both are zero */ -	beq	.Lclone_error - -	stwu	 1,-32(1)	/* alloc some space on the stack */ -	stmw	29, 16(1)	/* save r29,r30,r31 on stack */ - -	rlwinm	4,4,0,0,27	/* mask out lower 4 bits */ - -	/* move parameter to positions clone wants them */ -	mr	29,3		/* r29 = r3 fn */ -	mr	30,4		/* r30 = r4 stack */ -	mr	31,6		/* r31 = r6 arg */ -	mr	3, 5		/* r3  = r5 flags */ - -	li	0, __NR_clone	/* load syscall nr. */ -	sc - -	cmpwi	cr1,3,0		/* compare return of syscall with 0 */ -	crandc	4*cr1+eq,4*cr1+eq,so -	bne	.Lclone_parent	/* return was non zero -> .Lclone_parent */ - -	/* we are the cloned process */ -	mr	 1, 30		/* set stack pointer */ -	mtctr	29		/* set count register to fn ? */ -	mr	 3, 31		/* set argument */ -	bctrl			/* branch trough count register and link */ -	b	_exit		/* exit thread */ - -.Lclone_parent: -	lmw	29,16(1)	/* restore saved registers */ -	addi	 1, 1,32	/* free stack */ -	bnslr+			/* had cloned a thread so return to parent */ -	b	error_unified_syscall - -.Lclone_error: -	li	3, EINVAL -	b	error_unified_syscall diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c deleted file mode 100644 index d03e87089..000000000 --- a/mdk-stage1/dietlibc/ppc/mmap.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "dietfeatures.h" -#include <sys/types.h> -#include <errno.h> -#include "syscalls.h" - -int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) { -  unsigned long __sc_ret, __sc_err; -  { -    register unsigned long __sc_0 __asm__ ("r0"); -    register unsigned long __sc_3 __asm__ ("r3"); -    register unsigned long __sc_4 __asm__ ("r4"); -    register unsigned long __sc_5 __asm__ ("r5"); -    register unsigned long __sc_6 __asm__ ("r6"); -    register unsigned long __sc_7 __asm__ ("r7"); -    register unsigned long __sc_8 __asm__ ("r8"); - -    __sc_3 = (unsigned long) (start); -    __sc_4 = (unsigned long) (length); -    __sc_5 = (unsigned long) (prot); -    __sc_6 = (unsigned long) (flags); -    __sc_7 = (unsigned long) (fd); -    __sc_8 = (unsigned long) (offset); -    __sc_0 = __NR_mmap; -    __asm__ __volatile__ -	    ("sc           \n\t" -	      "mfcr %1      " -	    : "=&r" (__sc_3), "=&r" (__sc_0) -	    : "0"   (__sc_3), "1"   (__sc_0), -	      "r"   (__sc_4), -	      "r"   (__sc_5), -	      "r"   (__sc_6), -	      "r"   (__sc_7), -	      "r"   (__sc_8) -	    : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); -    __sc_ret = __sc_3; -    __sc_err = __sc_0; -  } -  return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0), -	  (int) __sc_ret; -} diff --git a/mdk-stage1/dietlibc/ppc/setjmp.S b/mdk-stage1/dietlibc/ppc/setjmp.S deleted file mode 100644 index 50fa2bdd4..000000000 --- a/mdk-stage1/dietlibc/ppc/setjmp.S +++ /dev/null @@ -1,56 +0,0 @@ -#include <setjmp.h> - -#ifdef PIC -#define JUMPTARGET(name) name##@plt -#else -#define JUMPTARGET(name) name -#endif - -.global __sigsetjmp -.type __sigsetjmp,@function -.align 2 -__sigsetjmp: -        stw  1,(JB_GPR1*4)(3) -        mflr 0 -        stw  2,(JB_GPR2*4)(3) -        stw  14,((JB_GPRS+0)*4)(3) -        stfd 14,((JB_FPRS+0*2)*4)(3) -        stw  0,(JB_LR*4)(3) -        stw  15,((JB_GPRS+1)*4)(3) -        stfd 15,((JB_FPRS+1*2)*4)(3) -        mfcr 0 -        stw  16,((JB_GPRS+2)*4)(3) -        stfd 16,((JB_FPRS+2*2)*4)(3) -        stw  0,(JB_CR*4)(3) -        stw  17,((JB_GPRS+3)*4)(3) -        stfd 17,((JB_FPRS+3*2)*4)(3) -        stw  18,((JB_GPRS+4)*4)(3) -        stfd 18,((JB_FPRS+4*2)*4)(3) -        stw  19,((JB_GPRS+5)*4)(3) -        stfd 19,((JB_FPRS+5*2)*4)(3) -        stw  20,((JB_GPRS+6)*4)(3) -        stfd 20,((JB_FPRS+6*2)*4)(3) -        stw  21,((JB_GPRS+7)*4)(3) -        stfd 21,((JB_FPRS+7*2)*4)(3) -        stw  22,((JB_GPRS+8)*4)(3) -        stfd 22,((JB_FPRS+8*2)*4)(3) -        stw  23,((JB_GPRS+9)*4)(3) -        stfd 23,((JB_FPRS+9*2)*4)(3) -        stw  24,((JB_GPRS+10)*4)(3) -        stfd 24,((JB_FPRS+10*2)*4)(3) -        stw  25,((JB_GPRS+11)*4)(3) -        stfd 25,((JB_FPRS+11*2)*4)(3) -        stw  26,((JB_GPRS+12)*4)(3) -        stfd 26,((JB_FPRS+12*2)*4)(3) -        stw  27,((JB_GPRS+13)*4)(3) -        stfd 27,((JB_FPRS+13*2)*4)(3) -        stw  28,((JB_GPRS+14)*4)(3) -        stfd 28,((JB_FPRS+14*2)*4)(3) -        stw  29,((JB_GPRS+15)*4)(3) -        stfd 29,((JB_FPRS+15*2)*4)(3) -        stw  30,((JB_GPRS+16)*4)(3) -        stfd 30,((JB_FPRS+16*2)*4)(3) -        stw  31,((JB_GPRS+17)*4)(3) -        stfd 31,((JB_FPRS+17*2)*4)(3) -        b JUMPTARGET (__sigjmp_save) -.size __sigsetjmp,.-__sigsetjmp diff --git a/mdk-stage1/dietlibc/ppc/start.S b/mdk-stage1/dietlibc/ppc/start.S deleted file mode 100644 index 7b2aed7fb..000000000 --- a/mdk-stage1/dietlibc/ppc/start.S +++ /dev/null @@ -1,42 +0,0 @@ -.text -.global _start -.type _start,@function -_start: - /* Save the stack pointer, in case we're statically linked under Linux.  */ -	mr	9,1 - /* Set up an initial stack frame, and clear the LR.  */ -	clrrwi	1,1,4 -	li	0,0 -	stwu	1,-16(1) -	mtlr	0 -	stw	0,0(1) - - /* r9 contains the initial stack pointer -    argc = (r9) -    argv = (r9+4) -    envp = argv+(argc+1)*4 */ - -	lwzu	3,0(9)	/* argc */ -	addi	4,9,4	/* argv */ -	add	5,0,3	/* argc... */ -	addi	5,5,1	/* argc+1...*/ -	slwi	5,5,2	/* (argc+1)*4 */ -	add	5,5,4	/* argv+(argc+1)*4 */ - -	lis	14,environ@ha -	stw	5,environ@l(14) - -#ifdef WANT_DYNAMIC -	mr	6,7 -	bl	_dyn_start -#else -	bl	main -#endif -	b	exit -.size _start,.-_start - - -/* Define a symbol for the first piece of initialized data.  */ -	.section ".data" -__data_start: - diff --git a/mdk-stage1/dietlibc/ppc/syscalls.h b/mdk-stage1/dietlibc/ppc/syscalls.h deleted file mode 100644 index 5e8707357..000000000 --- a/mdk-stage1/dietlibc/ppc/syscalls.h +++ /dev/null @@ -1,259 +0,0 @@ - -#define __NR_exit		  1 -#define __NR_fork		  2 -#define __NR_read		  3 -#define __NR_write		  4 -#define __NR_open		  5 -#define __NR_close		  6 -#define __NR_waitpid		  7 -#define __NR_creat		  8 -#define __NR_link		  9 -#define __NR_unlink		 10 -#define __NR_execve		 11 -#define __NR_chdir		 12 -#define __NR_time		 13 -#define __NR_mknod		 14 -#define __NR_chmod		 15 -#define __NR_lchown		 16 -#define __NR_break		 17 -#define __NR_oldstat		 18 -#define __NR_lseek		 19 -#define __NR_getpid		 20 -#define __NR_mount		 21 -#define __NR_umount		 22 -#define __NR_setuid		 23 -#define __NR_getuid		 24 -#define __NR_stime		 25 -#define __NR_ptrace		 26 -#define __NR_alarm		 27 -#define __NR_oldfstat		 28 -#define __NR_pause		 29 -#define __NR_utime		 30 -#define __NR_stty		 31 -#define __NR_gtty		 32 -#define __NR_access		 33 -#define __NR_nice		 34 -#define __NR_ftime		 35 -#define __NR_sync		 36 -#define __NR_kill		 37 -#define __NR_rename		 38 -#define __NR_mkdir		 39 -#define __NR_rmdir		 40 -#define __NR_dup		 41 -#define __NR_pipe		 42 -#define __NR_times		 43 -#define __NR_prof		 44 -#define __NR_brk		 45 -#define __NR_setgid		 46 -#define __NR_getgid		 47 -#define __NR_signal		 48 -#define __NR_geteuid		 49 -#define __NR_getegid		 50 -#define __NR_acct		 51 -#define __NR_umount2		 52 -#define __NR_lock		 53 -#define __NR_ioctl		 54 -#define __NR_fcntl		 55 -#define __NR_mpx		 56 -#define __NR_setpgid		 57 -#define __NR_ulimit		 58 -#define __NR_oldolduname	 59 -#define __NR_umask		 60 -#define __NR_chroot		 61 -#define __NR_ustat		 62 -#define __NR_dup2		 63 -#define __NR_getppid		 64 -#define __NR_getpgrp		 65 -#define __NR_setsid		 66 -#define __NR_sigaction		 67 -#define __NR_sgetmask		 68 -#define __NR_ssetmask		 69 -#define __NR_setreuid		 70 -#define __NR_setregid		 71 -#define __NR_sigsuspend		 72 -#define __NR_sigpending		 73 -#define __NR_sethostname	 74 -#define __NR_setrlimit		 75 -#define __NR_getrlimit		 76 -#define __NR_getrusage		 77 -#define __NR_gettimeofday	 78 -#define __NR_settimeofday	 79 -#define __NR_getgroups		 80 -#define __NR_setgroups		 81 -#define __NR_select		 82 -#define __NR_symlink		 83 -#define __NR_oldlstat		 84 -#define __NR_readlink		 85 -#define __NR_uselib		 86 -#define __NR_swapon		 87 -#define __NR_reboot		 88 -#define __NR_readdir		 89 -#define __NR_mmap		 90 -#define __NR_munmap		 91 -#define __NR_truncate		 92 -#define __NR_ftruncate		 93 -#define __NR_fchmod		 94 -#define __NR_fchown		 95 -#define __NR_getpriority	 96 -#define __NR_setpriority	 97 -#define __NR_profil		 98 -#define __NR_statfs		 99 -#define __NR_fstatfs		100 -#define __NR_ioperm		101 -#define __NR_socketcall		102 -#define __NR_syslog		103 -#define __NR_setitimer		104 -#define __NR_getitimer		105 -#define __NR_stat		106 -#define __NR_lstat		107 -#define __NR_fstat		108 -#define __NR_olduname		109 -#define __NR_iopl		110 -#define __NR_vhangup		111 -#define __NR_idle		112 -#define __NR_vm86		113 -#define __NR_wait4		114 -#define __NR_swapoff		115 -#define __NR_sysinfo		116 -#define __NR_ipc		117 -#define __NR_fsync		118 -#define __NR_sigreturn		119 -#define __NR_clone		120 -#define __NR_setdomainname	121 -#define __NR_uname		122 -#define __NR_modify_ldt		123 -#define __NR_adjtimex		124 -#define __NR_mprotect		125 -#define __NR_sigprocmask	126 -#define __NR_create_module	127 -#define __NR_init_module	128 -#define __NR_delete_module	129 -#define __NR_get_kernel_syms	130 -#define __NR_quotactl		131 -#define __NR_getpgid		132 -#define __NR_fchdir		133 -#define __NR_bdflush		134 -#define __NR_sysfs		135 -#define __NR_personality	136 -#define __NR_afs_syscall	137 /* Syscall for Andrew File System */ -#define __NR_setfsuid		138 -#define __NR_setfsgid		139 -#define __NR__llseek		140 -#define __NR_getdents		141 -#define __NR__newselect		142 -#define __NR_flock		143 -#define __NR_msync		144 -#define __NR_readv		145 -#define __NR_writev		146 -#define __NR_getsid		147 -#define __NR_fdatasync		148 -#define __NR__sysctl		149 -#define __NR_mlock		150 -#define __NR_munlock		151 -#define __NR_mlockall		152 -#define __NR_munlockall		153 -#define __NR_sched_setparam		154 -#define __NR_sched_getparam		155 -#define __NR_sched_setscheduler		156 -#define __NR_sched_getscheduler		157 -#define __NR_sched_yield		158 -#define __NR_sched_get_priority_max	159 -#define __NR_sched_get_priority_min	160 -#define __NR_sched_rr_get_interval	161 -#define __NR_nanosleep		162 -#define __NR_mremap		163 -#define __NR_setresuid		164 -#define __NR_getresuid		165 -#define __NR_query_module	166 -#define __NR_poll		167 -#define __NR_nfsservctl		168 -#define __NR_setresgid		169 -#define __NR_getresgid		170 -#define __NR_prctl		171 -#define __NR_rt_sigreturn	172 -#define __NR_rt_sigaction	173 -#define __NR_rt_sigprocmask	174 -#define __NR_rt_sigpending	175 -#define __NR_rt_sigtimedwait	176 -#define __NR_rt_sigqueueinfo	177 -#define __NR_rt_sigsuspend	178 -#define __NR_pread		179 -#define __NR_pwrite		180 -#define __NR_chown		181 -#define __NR_getcwd		182 -#define __NR_capget		183 -#define __NR_capset		184 -#define __NR_sigaltstack	185 -#define __NR_sendfile		186 -#define __NR_getpmsg		187	/* some people actually want streams */ -#define __NR_putpmsg		188	/* some people actually want streams */ -#define __NR_vfork		189 -#define __NR_ugetrlimit		190	/* SuS compliant getrlimit */ -#define __NR_mmap2		192 -#define __NR_truncate64		193 -#define __NR_ftruncate64	194 -#define __NR_stat64		195 -#define __NR_lstat64		196 -#define __NR_fstat64		197 -#define __NR_pciconfig_read	198 -#define __NR_pciconfig_write	199 -#define __NR_pciconfig_iobase	200 -#define __NR_multiplexer	201 -#define __NR_getdents64		202 -#define __NR_pivot_root		203 -#define __NR_fcntl64		204 -#define __NR_madvise		205 -#define __NR_mincore		206 -#define __NR_gettid		207 -#define __NR_tkill		208 -#define __NR_setxattr		209 -#define __NR_lsetxattr		210 -#define __NR_fsetxattr		211 -#define __NR_getxattr		212 -#define __NR_lgetxattr		213 -#define __NR_fgetxattr		214 -#define __NR_listxattr		215 -#define __NR_llistxattr		216 -#define __NR_flistxattr		217 -#define __NR_removexattr	218 -#define __NR_lremovexattr	219 -#define __NR_fremovexattr	220 -#define __NR_futex		221 -#define __NR_sched_setaffinity	222 -#define __NR_sched_getaffinity	223 -#define __NR_security		224 -#define __NR_tuxcall		225 -#define __NR_sendfile64		226 -#define __NR_io_setup		227 -#define __NR_io_destroy		228 -#define __NR_io_getevents	229 -#define __NR_io_submit		230 -#define __NR_io_cancel		231 -#define __NR_alloc_hugepages	232 -#define __NR_free_hugepages	233 -#define __NR_exit_group		234 -#define __NR_lookup_dcookie	235 -#define __NR_sys_epoll_create	236 -#define __NR_sys_epoll_ctl	237 -#define __NR_sys_epoll_wait	238 -#define __NR_remap_file_pages	239 - -#define syscall_weak(name,wsym,sym) \ -.text; \ -.type wsym,@function; \ -.weak wsym; \ -wsym: ; \ -.type sym,@function; \ -.global sym; \ -sym: \ -	li	0,__NR_##name; \ -	b __unified_syscall - -#define syscall(name,sym) \ -.text; \ -.type sym,@function; \ -.global sym; \ -sym: \ -	li	0,__NR_##name; \ -	b __unified_syscall - diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S deleted file mode 100644 index eb136a96b..000000000 --- a/mdk-stage1/dietlibc/ppc/unified.S +++ /dev/null @@ -1,40 +0,0 @@ -#include <dietfeatures.h> -#include "syscalls.h" - -.text -.type exit,@function -.weak exit -exit: -.type _exit,@function -.global _exit -_exit: -	li	0,__NR_exit -.global __unified_syscall -__unified_syscall: -	sc -	bnslr+ - -.global error_unified_syscall -error_unified_syscall: -#ifdef WANT_THREAD_SAFE -	stwu	1,-16(1) -	mflr	0 -	stw	0,20(1) -	stw	3,12(1) -	bl	__errno_location -	lwz	0,12(1) -	stw	0,0(3) -	lwz	0,20(1) -	mtlr	0 -	addi	1,1,16 -#else -	lis	9,errno@ha -	stw	3,errno@l(9) -#endif -	li	3,-1 - -/* here we go and "reuse" the return for weak-void functions */ -#include "dietuglyweaks.h" - -	blr - diff --git a/mdk-stage1/dietlibc/profiling/PORTING b/mdk-stage1/dietlibc/profiling/PORTING deleted file mode 100644 index c3fc5eba7..000000000 --- a/mdk-stage1/dietlibc/profiling/PORTING +++ /dev/null @@ -1,25 +0,0 @@ -              Porting to other platforms - -	... is easy. Just create an mcount.S in the $ARCH -    directory  (eg. dietlibc/i386)  which  includes a -    function (called "mcount") that: - -     1.) saves ALL registers that are freely usable -         and which might be used by __mcount(). -     2.) loads the instruction pointer (PC) from the -         function that called mcount, and the function -         which called the function, that called mcount -         into the first two argument registers (or push -         them on the stack - depending on the processor- -         architecture). -     3.) call __mcount. -     4.) restore the registers saved in 1) - -    Then You need a macro called PC in <asm/sigcontext.h> -    which extracts the (instruction pointer / program  -    counter) from a sigcontext structure (eg. on i386 this  -    would be ctx.eip). - -    $ARCH/start.S must also be modified to call monitor -    with the offset of .text and _etext as parameters. - diff --git a/mdk-stage1/dietlibc/profiling/README b/mdk-stage1/dietlibc/profiling/README deleted file mode 100644 index 0a0293073..000000000 --- a/mdk-stage1/dietlibc/profiling/README +++ /dev/null @@ -1,37 +0,0 @@ - -        Notes on profiling support for dietlibc - - 1.) A big  problem when doing profiling on statically linked  -     programs, is that the internal profiling functions (mcount  -     and friends) will be included  in the call graph although  -     they would not if the program would have been dynamically  -     linked.  This is  because every  symbol between .text and  -     _etext  is included  in the call-graph.  If a  program is  -     dynamically linked, then mcount and friends are not between  -     .text and _etext, so they are not included. A  workaround  -     for this, would be to put mcount,  __mcount,  monitor and  -     profiler into another section (eg. ".profile"),  but this  -     creates some strange problems, I'm currently not aware of.  -     If you want to debug this: Putting a function into a specific  -     section works like this (with gcc): - -     void foo (int bar) __attribute__ ((section(".foobar"))) - - 2.) _start may randomly be found in the callgraph.  I don't  -     know why. May be a bug in gprof. - - 3.) The profiling is a  complete rewrite,  though I looked at  -     the glibc Version for  inspiration. Please note that this -     version might not be as portable as the glibc version but -     its much smaller (although this is not a really important -     argument, as  profiled binaries seldom  get shipped) and -     hopefully easier to understand. - - 4.) all objects that should be profiled mustn't be compiled -     with -fomit-frame-pointer (as with glibc). Add -     -fno-fomit-frame-pointer to $CFLAGS if you're encountering  -     weird problems. - - 5.) There is currently no basic-block statistic support. - -Please send comments and bug reports to: tom@rhadamanthys.org diff --git a/mdk-stage1/dietlibc/profiling/__mcount.c b/mdk-stage1/dietlibc/profiling/__mcount.c deleted file mode 100644 index b1955f370..000000000 --- a/mdk-stage1/dietlibc/profiling/__mcount.c +++ /dev/null @@ -1,24 +0,0 @@ -#include <unistd.h> -#include <sys/gmon.h> - -extern struct monparam mparam; - -void __mcount (unsigned long, unsigned long) PROF_SECTION; - -void -__mcount (unsigned long frompc, unsigned long selfpc) -{ -	struct rawarc *arc = mparam.arcs, thisarc; -	unsigned long num; -	/* If arc already exists, increment count */ -	for (num = 0; num < mparam.arcnum; num++) -		if (arc[num].raw_frompc == frompc && arc[num].raw_selfpc == selfpc) { -			arc[num].raw_count++; -			return; -		} -	if (selfpc < mparam.lowpc || selfpc > mparam.highpc) return; -	thisarc.raw_frompc = frompc; -	thisarc.raw_selfpc = selfpc; -	thisarc.raw_count  = 1; -	arc[mparam.arcnum++] = thisarc; -} diff --git a/mdk-stage1/dietlibc/profiling/monitor.c b/mdk-stage1/dietlibc/profiling/monitor.c deleted file mode 100644 index cc06e3465..000000000 --- a/mdk-stage1/dietlibc/profiling/monitor.c +++ /dev/null @@ -1,93 +0,0 @@ -/************************************************************** -   Copyright (C) 2001, 2002 Thomas M. Ogrisegg - -   This is free software. You can redistribute and modify -   it under the terms of the GNU General Public License. - -   This file is part of the profiling support for dietlibc - -   monitor(3) interface - - *************************************************************/ -#include <sys/uio.h> -#include <unistd.h> -#include <fcntl.h> -#include <stdlib.h> -#include <sys/gmon.h> - -typedef unsigned short u_short; - -struct monparam mparam; - -void monitor (unsigned long, unsigned long) PROF_SECTION; -void _stop_monitor (void) PROF_SECTION; - -/* -  monitor is called by _start, to start profiling -  lowpc  -> lowest valid program counter  (normally .text) -  highpc -> highest valid program counter (normally _etext) -*/ -void -monitor (unsigned long lowpc, unsigned long highpc) -{ -	mparam.highpc     = highpc; -	mparam.lowpc      = lowpc; -	mparam.kcountsize = (mparam.textsize = highpc-lowpc) << 1; -	mparam.kcount = (u_short *) malloc (mparam.kcountsize); -	mparam.arcs = (struct rawarc *) malloc (MAXARCS*sizeof (struct rawarc)); -	if (!mparam.kcount || !mparam.arcs) -		exit (42); -	mparam.arcnum = 0; -	/* start profiling */ -	profil (mparam.kcount, highpc-lowpc, lowpc, 10000); -} - -/* -  write_gmon - write all data collected by the helper routines -  to gmon.out -*/ -static void -write_gmon (void) -{ -	struct gmon_hdr ghdr = { "gmon", 1, "" }; -	int fd = open ("gmon.out", O_CREAT | O_RDWR | O_TRUNC, 0666); - -	if (fd < 0) return; -	write (fd, &ghdr, sizeof (ghdr)); -	if (mparam.kcountsize) -	{ -		char tag = GMON_TAG_TIME_HIST; -		struct gmon_hist_hdr ghdr = { -			mparam.lowpc, mparam.highpc, -			(mparam.kcountsize >> 1), 100, "seconds", 's'  -		}; -		struct iovec iov[3] = { -			{ &tag,  sizeof (tag)  }, -			{ &ghdr, sizeof (ghdr) }, -			{ mparam.kcount, mparam.kcountsize >> 1 << 1 } -		}; -		writev (fd, iov, 3); -	} -	if (mparam.arcnum) -	{ -		char tag = GMON_TAG_CG_ARC; -		struct iovec iov[mparam.arcnum*2]; -		unsigned long l; -		for (l=0;l<mparam.arcnum;l++) { -			iov[l*2].iov_base = &tag; -			iov[l*2].iov_len  = sizeof (tag); -			iov[l*2+1].iov_base = &mparam.arcs[l]; -			iov[l*2+1].iov_len  = sizeof (mparam.arcs[l]); -		} -		writev (fd, iov, mparam.arcnum*2); -	} -	close (fd); -} - -/* called by _start before exit */ -void -_stop_monitor (void) -{ -	profil (NULL, 0, 0, 0); -	write_gmon (); -} diff --git a/mdk-stage1/dietlibc/profiling/profil.c b/mdk-stage1/dietlibc/profiling/profil.c deleted file mode 100644 index fa9a0ef2b..000000000 --- a/mdk-stage1/dietlibc/profiling/profil.c +++ /dev/null @@ -1,75 +0,0 @@ -/****************************************************** -  Copyright (C) 2001, 2002 Thomas M. Ogrisegg - -   This is free software. You can redistribute and modify -   it under the terms of the GNU General Public License. - -   This file is part of the profiling support for dietlibc - -   profil (3) generic implementation  - - *************************************************************/ - -#include <asm/sigcontext.h> -#include <sys/types.h> -#include <sys/time.h> -#include <unistd.h> -#include <signal.h> - -#define SHORT_SIZE sizeof (short) -#define MAX_SHORT 65536 - -#ifdef DEBUG -# include <stdio.h> -# define debug printf -#else -# define debug -#endif - -#ifndef u_short -# define u_short unsigned short -#endif - -#ifndef u_int -# define u_int unsigned int -#endif - -static unsigned short *buffer = NULL; -static size_t maxhits  = 0; -static unsigned long low_pc = 0; -static unsigned long pscale = 0; - -/* profiler - helper function for profil(3) */ -static void -profiler (int signal, struct sigcontext ctx) -{ -	size_t s = PC(ctx)-low_pc; -	(void)signal; -	if ((PC(ctx)) < low_pc) return; -	s >>= 1; -	if (s < maxhits) -		++buffer[s]; -} - -/* profil(3) - start or stop the profiling timer */ -int -profil (u_short *buf, size_t bufsiz, size_t offset, u_int scale) -{ -	struct itimerval itv = { { 0, 1 }, { 0, 1 } }; -	struct sigaction sa; -	if (!buf) { -		sigaction (SIGPROF, NULL, NULL); -		setitimer (ITIMER_PROF, NULL, NULL); -		return (0); -	} -	sa.sa_handler = (sighandler_t)&profiler; -	sa.sa_flags   = SA_RESTART; -	sigfillset (&sa.sa_mask); -	sigaction (SIGPROF, &sa, NULL); -	pscale = scale; -	buffer = buf; -	low_pc = offset; -	maxhits = bufsiz/SHORT_SIZE; - -	return (setitimer (ITIMER_PROF, &itv, &itv)); -} diff --git a/mdk-stage1/dietlibc/sparc/Makefile.add b/mdk-stage1/dietlibc/sparc/Makefile.add deleted file mode 100644 index 102175bc5..000000000 --- a/mdk-stage1/dietlibc/sparc/Makefile.add +++ /dev/null @@ -1,4 +0,0 @@ - -CFLAGS+=-mcpu=supersparc -Os -VPATH:=sparc:syscalls.s:$(VPATH) -LIBOBJ+=$(OBJDIR)/udiv.o $(OBJDIR)/umul.o $(OBJDIR)/urem.o diff --git a/mdk-stage1/dietlibc/sparc/__longjmp.S b/mdk-stage1/dietlibc/sparc/__longjmp.S deleted file mode 100644 index 6550d2b5c..000000000 --- a/mdk-stage1/dietlibc/sparc/__longjmp.S +++ /dev/null @@ -1,68 +0,0 @@ -#include <setjmp.h> - -#define JB_SP  0 -#define JB_FP  1 -#define JB_PC  2 - -#define ENV(base,reg) [%base + (reg * 4)] -#define ST_FLUSH_WINDOWS 3 -#define RW_FP [%fp + 0x48] - -.text -.global __longjmp -.type __longjmp,function -__longjmp: -	/* Store our arguments in global registers so we can still -	   use them while unwinding frames and their register windows.  */ - -	ld ENV(o0,JB_FP), %g3   /* Cache target FP in register %g3.  */ -	mov %o0, %g1            /* ENV in %g1 */ -	orcc %o1, %g0, %g2      /* VAL in %g2 */ -	be,a 0f                 /* Branch if zero; else skip delay slot.  */ -	 mov 1, %g2             /* Delay slot only hit if zero: VAL = 1.  */ -0: -	xor %fp, %g3, %o0 -	add %fp, 512, %o1 -	andncc %o0, 4095, %o0 -	bne .Lthread -	 cmp %o1, %g3 -	bl .Lthread - -	/* Now we will loop, unwinding the register windows up the stack -	   until the restored %fp value matches the target value in %g3.  */ - -.Lloop: -	cmp %fp, %g3            /* Have we reached the target frame? */ -	bl,a .Lloop             /* Loop while current fp is below target.  */ -	 restore                /* Unwind register window in delay slot.  */ -	be,a .Lfound            /* Better have hit it exactly.  */ -	 ld ENV(g1,JB_SP), %o0  /* Delay slot: extract target SP.  */ - -.Lthread: -	/* -	 * Do a "flush register windows trap".  The trap handler in the -	 * kernel writes all the register windows to their stack slots, and -	 * marks them all as invalid (needing to be sucked up from the -	 * stack when used).  This ensures that all information needed to -	 * unwind to these callers is in memory, not in the register -	 * windows. -	 */ -	ta      ST_FLUSH_WINDOWS -	ld      ENV(g1,JB_PC), %o7 /* Set return PC. */ -	ld      ENV(g1,JB_SP), %fp /* Set saved SP on restore below. */ -	sub     %fp, 64, %sp    /* Allocate a register frame. */ -	st      %g3, RW_FP      /* Set saved FP on restore below. */ -	retl -	 restore %g2, 0, %o0    /* Restore values from above register frame. */ - -.Lfound: -	/* We have unwound register windows so %fp matches the target.  */ -	mov %o0, %sp            /* OK, install new SP.  */ - -.Lsp_ok: -	ld ENV(g1,JB_PC), %o0   /* Extract target return PC.  */ -	jmp %o0 + 8             /* Return there.  */ -	 mov %g2, %o0           /* Delay slot: set return value.  */ - -.size __longjmp, . - __longjmp - diff --git a/mdk-stage1/dietlibc/sparc/__testandset.S b/mdk-stage1/dietlibc/sparc/__testandset.S deleted file mode 100644 index 84f6cf597..000000000 --- a/mdk-stage1/dietlibc/sparc/__testandset.S +++ /dev/null @@ -1,6 +0,0 @@ -.text -.align 4 -.global __testandset -__testandset: -	retl -	ldstub	[%o0], %o0 diff --git a/mdk-stage1/dietlibc/sparc/clone.S b/mdk-stage1/dietlibc/sparc/clone.S deleted file mode 100644 index fd8d1d126..000000000 --- a/mdk-stage1/dietlibc/sparc/clone.S +++ /dev/null @@ -1,46 +0,0 @@ -#include <errno.h> -#include "syscalls.h" - -.text -.align 4 -.weak clone -clone: -.type __clone,#function -.global __clone -__clone: -	save	%sp, -96, %sp - -	tst	%i0		/* check for function pointer */ -	be	.Lerror -	tst	%i1		/* check for stack pointer */ -	be	.Lerror -	nop - -	mov	%i1, %o1	/* child-stack */ -	mov	%i2, %o0	/* clone-flags */ -	mov	__NR_clone, %g1 -	ta	0x10		/* syscall: clone */ -	bcs	.Lerror - -	tst	%o1 -	bne	.Lstart		/* we are the child :) */ -	nop -	mov	%o0, %i0	/* return child pid */ -	ret -	restore - -.Lerror: -	call	__errno_location -	nop -	mov	EINVAL, %l0 -	st	%l0, [%o0] -	ret -	restore	%g0, -1, %o0 - -.Lstart: -	call	%i0		/* call child-function */ -	mov	%i3, %o0	/* put arg in the right place for the child */ - -	call	_exit		/* child returned */ -	nop - diff --git a/mdk-stage1/dietlibc/sparc/errlist.S b/mdk-stage1/dietlibc/sparc/errlist.S deleted file mode 100644 index c23f7b3d5..000000000 --- a/mdk-stage1/dietlibc/sparc/errlist.S +++ /dev/null @@ -1,280 +0,0 @@ -#ifdef __DYN_LIB -.section	.data -#else -.section	.rodata -#endif - -.align 4 -.global sys_errlist -.type	sys_errlist,@object -sys_errlist: -	.long .LC000 -	.long .LC001 -	.long .LC002 -	.long .LC003 -	.long .LC004 -	.long .LC005 -	.long .LC006 -	.long .LC007 -	.long .LC008 -	.long .LC009 -	.long .LC010 -	.long .LC011 -	.long .LC012 -	.long .LC013 -	.long .LC014 -	.long .LC015 -	.long .LC016 -	.long .LC017 -	.long .LC018 -	.long .LC019 -	.long .LC020 -	.long .LC021 -	.long .LC022 -	.long .LC023 -	.long .LC024 -	.long .LC025 -	.long .LC026 -	.long .LC027 -	.long .LC028 -	.long .LC029 -	.long .LC030 -	.long .LC031 -	.long .LC032 -	.long .LC033 -	.long .LC034 -	.long .LC035 -	.long .LC036 -	.long .LC037 -	.long .LC038 -	.long .LC039 -	.long .LC040 -	.long .LC041 -	.long .LC042 -	.long .LC043 -	.long .LC044 -	.long .LC045 -	.long .LC046 -	.long .LC047 -	.long .LC048 -	.long .LC049 -	.long .LC050 -	.long .LC051 -	.long .LC052 -	.long .LC053 -	.long .LC054 -	.long .LC055 -	.long .LC056 -	.long .LC057 -	.long .LC058 -	.long .LC059 -	.long .LC060 -	.long .LC061 -	.long .LC062 -	.long .LC063 -	.long .LC064 -	.long .LC065 -	.long .LC066 -	.long .LC067 -	.long .LC068 -	.long .LC069 -	.long .LC070 -	.long .LC071 -	.long .LC072 -	.long .LC073 -	.long .LC074 -	.long .LC075 -	.long .LC076 -	.long .LC077 -	.long .LC078 -	.long .LC079 -	.long .LC080 -	.long .LC081 -	.long .LC082 -	.long .LC083 -	.long .LC084 -	.long .LC085 -	.long .LC086 -	.long .LC087 -	.long .LC088 -	.long .LC089 -	.long .LC090 -	.long .LC091 -	.long .LC092 -	.long .LC093 -	.long .LC094 -	.long .LC095 -	.long .LC096 -	.long .LC097 -	.long .LC098 -	.long .LC099 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC100 -	.long .LC120 -	.long .LC121 -	.long .LC122 -	.long .LC123 -	.long .LC124 -	.long .LC125 -	.long .LC126 -	.long 0 -.size sys_errlist,.-sys_errlist - -.align 4 -.global sys_nerr -.type	sys_nerr,@object -sys_nerr: -	.long 127 -.size	 sys_nerr,4 - -#ifdef __DYN_LIB -.section	.rodata -#endif - -.LC000:	.string	"Success" -.LC001: .string "Operation not permitted" -.LC002: .string "No such file or directory" -.LC003: .string "No such process" -.LC004: .string "Interrupted system call" -.LC005: .string "I/O error" -.LC006: .string "No such device or address" -.LC007: .string "Arg list too long" -.LC008: .string "Exec format error" -.LC009: .string "Bad file number" -.LC010: .string "No child processes" -.LC011: .string "Try again" -.LC012: .string "Out of memory" -.LC013: .string "Permission denied" -.LC014: .string "Bad address" -.LC015: .string "Block device required" -.LC016: .string "Device or resource busy" -.LC017: .string "File exists" -.LC018: .string "Cross-device link" -.LC019: .string "No such device" -.LC020: .string "Not a directory" -.LC021: .string "Is a directory" -.LC022: .string "Invalid argument" -.LC023: .string "File table overflow" -.LC024: .string "Too many open files" -.LC025: .string "Not a typewriter" -.LC026: .string "Text file busy" -.LC027: .string "File too large" -.LC028: .string "No space left on device" -.LC029: .string "Illegal seek" -.LC030: .string "Read-only file system" -.LC031: .string "Too many links" -.LC032: .string "Broken pipe" -.LC033: .string "Math argument out of domain of func" -.LC034: .string "Math result not representable" -.LC035: .string "Operation would block" -.LC036: .string "Operation now in progress" -.LC037: .string "Operation already in progress" -.LC038: .string "Socket operation on non-socket" -.LC039: .string "Destination address required" -.LC040: .string "Message too long" -.LC041: .string "Protocol wrong type for socket" -.LC042: .string "Protocol not available" -.LC043: .string "Protocol not supported" -.LC044: .string "Socket type not supported" -.LC045: .string "Op not supported on transport endpoint" -.LC046: .string "Protocol family not supported" -.LC047: .string "Address family not supported by protocol" -.LC048: .string "Address already in use" -.LC049: .string "Cannot assign requested address" -.LC050: .string "Network is down" -.LC051: .string "Network is unreachable" -.LC052: .string "Net dropped connection because of reset" -.LC053: .string "Software caused connection abort" -.LC054: .string "Connection reset by peer" -.LC055: .string "No buffer space available" -.LC056: .string "Transport endpoint is already connected" -.LC057: .string "Transport endpoint is not connected" -.LC058: .string "No send after transport endpoint shutdown" -.LC059: .string "Too many references: cannot splice" -.LC060: .string "Connection timed out" -.LC061: .string "Connection refused" -.LC062: .string "Too many symbolic links encountered" -.LC063: .string "File name too long" -.LC064: .string "Host is down" -.LC065: .string "No route to host" -.LC066: .string "Directory not empty" -.LC067: .string "SUNOS: Too many processes" -.LC068: .string "Too many users" -.LC069: .string "Quota exceeded" -.LC070: .string "Stale NFS file handle" -.LC071: .string "Object is remote" -.LC072: .string "Device not a stream" -.LC073: .string "Timer expired" -.LC074: .string "Out of streams resources" -.LC075: .string "No message of desired type" -.LC076: .string "Not a data message" -.LC077: .string "Identifier removed" -.LC078: .string "Resource deadlock would occur" -.LC079: .string "No record locks available" -.LC080: .string "Machine is not on the network" -.LC081: .string "SunOS: Too many lvls of remote in path" -.LC082: .string "Link has been severed" -.LC083: .string "Advertise error" -.LC084: .string "Srmount error" -.LC085: .string "Communication error on send" -.LC086: .string "Protocol error" -.LC087: .string "Multihop attempted" -.LC088: .string "RFS specific error" -.LC089: .string "Remote address changed" -.LC090: .string "Function not implemented" -.LC091: .string "Streams pipe error" -.LC092: .string "Value too large for defined data type" -.LC093: .string "File descriptor in bad state" -.LC094: .string "Channel number out of range" -.LC095: .string "Level 2 not synchronized" -.LC096: .string "Level 3 halted" -.LC097: .string "Level 3 reset" -.LC098: .string "Link number out of range" -.LC099: .string "Protocol driver not attached" -.LC100: .string "No CSI structure available" -.LC101: .string "Level 2 halted" -.LC102: .string "Invalid exchange" -.LC103: .string "Invalid request descriptor" -.LC104: .string "Exchange full" -.LC105: .string "No anode" -.LC106: .string "Invalid request code" -.LC107: .string "Invalid slot" -.LC108: .string "File locking deadlock error" -.LC109: .string "Bad font file format" -.LC110: .string "Cannot exec a shared library directly" -.LC111: .string "No data available" -.LC112: .string "Accessing a corrupted shared library" -.LC113: .string "Package not installed" -.LC114: .string "Can not access a needed shared library" -.LC115: .string "Name not unique on network" -.LC116: .string "Interrupted syscall should be restarted" -.LC117: .string "Structure needs cleaning" -.LC118: .string "Not a XENIX named type file" -.LC119: .string "No XENIX semaphores available" -.LC120: .string "Is a named type file" -.LC121: .string "Remote I/O error" -.LC122: .string "Illegal byte sequence" -.LC123: .string "Atmpt to link in too many shared libs" -.LC124: .string ".lib section in a.out corrupted" -.LC125: .string "No medium found" -.LC126: .string "Wrong medium type" - - diff --git a/mdk-stage1/dietlibc/sparc/fork.S b/mdk-stage1/dietlibc/sparc/fork.S deleted file mode 100644 index a54cab2a9..000000000 --- a/mdk-stage1/dietlibc/sparc/fork.S +++ /dev/null @@ -1,25 +0,0 @@ -#include "syscalls.h" - -.text -.weak fork -fork: -.global __libc_fork -__libc_fork: -	mov	2, %g1 -	ta	0x10 -	bcc,a	1f -	nop -	save	%sp, -96, %sp -#ifdef WANT_THREAD_SAFE -	call	__errno_location -	nop -#else -	sethi	%hi(errno), %o0 -	or	%o0, %lo(errno), %o0 -#endif -	st	%i0, [ %o0 ] -	retl -	restore	%g0, -1, %o0 -1:	dec	%o1 -	retl -	and	%o0, %o1, %o0 diff --git a/mdk-stage1/dietlibc/sparc/mmap.c b/mdk-stage1/dietlibc/sparc/mmap.c deleted file mode 100644 index 5342bac4e..000000000 --- a/mdk-stage1/dietlibc/sparc/mmap.c +++ /dev/null @@ -1,43 +0,0 @@ -#include <sys/types.h> -#include "syscalls.h" - -#define __SYSCALL_STRING                                                \ -        "ta     0x10;"                                                  \ -        "bcs    2f;"                                                    \ -        " nop;"                                                         \ -        "1:"                                                            \ -        ".subsection 2;"                                                \ -        "2:"                                                            \ -        "save   %%sp, -192, %%sp;"                                      \ -        "call   __errno_location;"                                      \ -        " nop;"                                                         \ -        "st     %%i0,[%%o0];"                                           \ -        "ba     1b;"                                                    \ -        " restore %%g0, -1, %%o0;"                                      \ -        ".previous;" - -#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g7",                \ -        "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",                 \ -        "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",           \ -        "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",         \ -        "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",         \ -        "cc", "memory" - -#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6)             \ -({                                                                      \ -        register long __o0 __asm__ ("o0") = (long)(arg1);               \ -        register long __o1 __asm__ ("o1") = (long)(arg2);               \ -        register long __o2 __asm__ ("o2") = (long)(arg3);               \ -        register long __o3 __asm__ ("o3") = (long)(arg4);               \ -        register long __o4 __asm__ ("o4") = (long)(arg5);               \ -        register long __o5 __asm__ ("o5") = (long)(arg6);               \ -        register long __g1 __asm__ ("g1") = __NR_##name;                \ -        __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) :          \ -                 "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2),        \ -                 "r" (__o3), "r" (__o4), "r" (__o5) :                   \ -                 __SYSCALL_CLOBBERS);                                   \ -        __o0;                                                           \ -}) -int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) { -  return inline_syscall6(mmap,start,length,prot,flags,fd,offset); -} diff --git a/mdk-stage1/dietlibc/sparc/pipe.S b/mdk-stage1/dietlibc/sparc/pipe.S deleted file mode 100644 index 076822765..000000000 --- a/mdk-stage1/dietlibc/sparc/pipe.S +++ /dev/null @@ -1,26 +0,0 @@ -#include "syscalls.h" - -.text -.global pipe -pipe: -	mov	%o0, %o2 -	mov	__NR_pipe, %g1 -	ta 0x10 -	bcc,a	1f -	nop -	save	%sp, -96, %sp -#ifdef WANT_THREAD_SAFE -	call	__errno_location -	nop -#else -	sethi	%hi(errno), %o0 -	or	%o0, %lo(errno), %o0 -#endif -	st	%i0, [ %o0 ] -	ret -	restore	%g0, -1, %o0 - -1:	st	%o0, [ %o2 ] -	st	%o1, [ %o2 + 4 ] -	retl -	mov	%g0, %o0 diff --git a/mdk-stage1/dietlibc/sparc/setjmp.S b/mdk-stage1/dietlibc/sparc/setjmp.S deleted file mode 100644 index 579df757c..000000000 --- a/mdk-stage1/dietlibc/sparc/setjmp.S +++ /dev/null @@ -1,39 +0,0 @@ -#include <setjmp.h> - -#define JB_SP  0 -#define JB_FP  1 -#define JB_PC  2 - -#define ST_FLUSH_WINDOWS        0x03 - -.text -.globl __setjmp -.type __setjmp,function -__setjmp: -	b	1f -	set	0, %o1 -.size __setjmp,.-__setjmp - -.globl setjmp -.type setjmp,function -setjmp: -	set	1, %o1 -.size setjmp,.-setjmp - -.globl __sigsetjmp -.type __sigsetjmp,function -__sigsetjmp: -1: -	/* Save our PC, SP and FP.  Save the signal mask if requested with -	   a tail-call for simplicity; it always returns zero.  */ -	ta	ST_FLUSH_WINDOWS - -	st	%o7, [%o0 + (JB_PC * 4)] -	st	%sp, [%o0 + (JB_SP * 4)] -	st	%fp, [%o0 + (JB_FP * 4)] - -	mov	%o7, %g1 -	call	__sigjmp_save -	mov	%g1, %o7 -.size __sigsetjmp,.-__sigsetjmp - diff --git a/mdk-stage1/dietlibc/sparc/shmat.c b/mdk-stage1/dietlibc/sparc/shmat.c deleted file mode 100644 index b7dce2e83..000000000 --- a/mdk-stage1/dietlibc/sparc/shmat.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> -#include <unistd.h> - -extern void* __ipc(); - -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif - -void* shmat(int shmid,const void* shmaddr,int shmflg) { -  void* raddr; -  register void* result; -  result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr); -  if ((unsigned long)result <= -(unsigned long)PAGE_SIZE) -    result=raddr; -  return result; -} diff --git a/mdk-stage1/dietlibc/sparc/sigaction.c b/mdk-stage1/dietlibc/sparc/sigaction.c deleted file mode 100644 index 028723699..000000000 --- a/mdk-stage1/dietlibc/sparc/sigaction.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <signal.h> - -int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, void* restorer, long nr); - -int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) { -  return __rt_sigaction(signum, act, oldact, 0, _NSIG/8); -} diff --git a/mdk-stage1/dietlibc/sparc/start.S b/mdk-stage1/dietlibc/sparc/start.S deleted file mode 100644 index c6408ee8f..000000000 --- a/mdk-stage1/dietlibc/sparc/start.S +++ /dev/null @@ -1,50 +0,0 @@ -	.section ".text" -	.align 4 -	.global _start -	.type _start,@function -_start: - -/* Terminate the stack frame, and reserve space for functions to -   drop their arguments.  */ -	mov	%g0, %fp -	sub	%sp, 6*4, %sp - -/* Extract the arguments and environment as encoded on the stack.  The -   argument info starts after one register window (16 words) past the SP.  */ -	ld	[%sp+22*4], %o0 -	add	%sp, 23*4, %o1 -	add	%o1, %o0, %o2 -	add	%o2, %o0, %o2 -	add	%o2, %o0, %o2 -	add	%o2, %o0, %o2 -	add	%o2, 4, %o2 - -	sethi	%hi(environ), %o3 -	or	%o3, %lo(environ), %o3 -	st	%o2, [%o3] - -/* When starting a binary via the dynamic linker, %g1 contains the -   address of the shared library termination function, which will be -   registered with atexit(). If we are statically linked, this will -   be NULL.  */ - -/* Let libc do the rest of the initialization, and call main.  */ -#ifdef WANT_DYNAMIC -	call	dyn_start -#else -	call	main -#endif -	mov	%g1, %o3 - -	b	exit -	mov %o0, %i0 - -/* Die very horribly if exit returns.  */ - -/* here we go and "reuse" the return for weak-void functions */ -#include "dietuglyweaks.h" -	ret -	nop - -	.size _start, .-_start - diff --git a/mdk-stage1/dietlibc/sparc/strlen.S b/mdk-stage1/dietlibc/sparc/strlen.S deleted file mode 100644 index 59ffb7981..000000000 --- a/mdk-stage1/dietlibc/sparc/strlen.S +++ /dev/null @@ -1,11 +0,0 @@ -.text -.globl strlen -strlen: -    add  %o0, 1, %o1 -.Lloop: -    ldsb [%o0], %o2 -    orcc %o2, %o2, %g0 -    bne  .Lloop -    add  %o0, 1, %o0 -    retl -    sub  %o0, %o1, %o0 diff --git a/mdk-stage1/dietlibc/sparc/syscalls.h b/mdk-stage1/dietlibc/sparc/syscalls.h deleted file mode 100644 index ea5227c71..000000000 --- a/mdk-stage1/dietlibc/sparc/syscalls.h +++ /dev/null @@ -1,276 +0,0 @@ - -#define __NR_exit                 1 /* Common                                      */ -#define __NR_fork                 2 /* Common                                      */ -#define __NR_read                 3 /* Common                                      */ -#define __NR_write                4 /* Common                                      */ -#define __NR_open                 5 /* Common                                      */ -#define __NR_close                6 /* Common                                      */ -#define __NR_wait4                7 /* Common                                      */ -#define __NR_creat                8 /* Common                                      */ -#define __NR_link                 9 /* Common                                      */ -#define __NR_unlink              10 /* Common                                      */ -#define __NR_execv               11 /* SunOS Specific                              */ -#define __NR_chdir               12 /* Common                                      */ -#define __NR_chown		 13 /* Common					   */ -#define __NR_mknod               14 /* Common                                      */ -#define __NR_chmod               15 /* Common                                      */ -#define __NR_lchown              16 /* Common                                      */ -#define __NR_brk                 17 /* Common                                      */ -#define __NR_perfctr             18 /* Performance counter operations              */ -#define __NR_lseek               19 /* Common                                      */ -#define __NR_getpid              20 /* Common                                      */ -#define __NR_capget		 21 /* Linux Specific				   */ -#define __NR_capset		 22 /* Linux Specific				   */ -#define __NR_setuid              23 /* Implemented via setreuid in SunOS           */ -#define __NR_getuid              24 /* Common                                      */ -/* #define __NR_time alias	 25    ENOSYS under SunOS			   */ -#define __NR_ptrace              26 /* Common                                      */ -#define __NR_alarm               27 /* Implemented via setitimer in SunOS          */ -#define __NR_sigaltstack	 28 /* Common					   */ -#define __NR_pause               29 /* Is sigblock(0)->sigpause() in SunOS         */ -#define __NR_utime               30 /* Implemented via utimes() under SunOS        */ -#define __NR_lchown32            31 /* Linux sparc32 specific                      */ -#define __NR_fchown32            32 /* Linux sparc32 specific                      */ -#define __NR_access              33 /* Common                                      */ -#define __NR_nice                34 /* Implemented via get/setpriority() in SunOS  */ -#define __NR_chown32             35 /* Linux sparc32 specific                      */ -#define __NR_sync                36 /* Common                                      */ -#define __NR_kill                37 /* Common                                      */ -#define __NR_stat                38 /* Common                                      */ -#define __NR_sendfile		 39 /* Linux Specific				   */ -#define __NR_lstat               40 /* Common                                      */ -#define __NR_dup                 41 /* Common                                      */ -#define __NR_pipe                42 /* Common                                      */ -#define __NR_times               43 /* Implemented via getrusage() in SunOS        */ -#define __NR_getuid32            44 /* Linux sparc32 specific                      */ -#define __NR_umount2             45 /* Linux Specific                              */ -#define __NR_setgid              46 /* Implemented via setregid() in SunOS         */ -#define __NR_getgid              47 /* Common                                      */ -#define __NR_signal              48 /* Implemented via sigvec() in SunOS           */ -#define __NR_geteuid             49 /* SunOS calls getuid()                        */ -#define __NR_getegid             50 /* SunOS calls getgid()                        */ -#define __NR_acct                51 /* Common                                      */ -/* #define __NR_memory_ordering  52    Linux sparc64 specific			   */ -#define __NR_getgid32            53 /* Linux sparc32 specific                      */ -#define __NR_ioctl               54 /* Common                                      */ -#define __NR_reboot              55 /* Common                                      */ -#define __NR_mmap2		 56 /* Linux sparc32 Specific			   */ -#define __NR_symlink             57 /* Common                                      */ -#define __NR_readlink            58 /* Common                                      */ -#define __NR_execve              59 /* Common                                      */ -#define __NR_umask               60 /* Common                                      */ -#define __NR_chroot              61 /* Common                                      */ -#define __NR_fstat               62 /* Common                                      */ -#define __NR_fstat64		 63 /* Linux sparc32 Specific			   */ -#define __NR_getpagesize         64 /* Common                                      */ -#define __NR_msync               65 /* Common in newer 1.3.x revs...               */ -#define __NR_vfork               66 /* Common                                      */ -#define __NR_pread               67 /* Linux Specific                              */ -#define __NR_pwrite              68 /* Linux Specific                              */ -#define __NR_geteuid32           69 /* Linux sparc32, sbrk under SunOS             */ -#define __NR_getegid32           70 /* Linux sparc32, sstk under SunOS             */ -#define __NR_mmap                71 /* Common                                      */ -#define __NR_setreuid32          72 /* Linux sparc32, vadvise under SunOS          */ -#define __NR_munmap              73 /* Common                                      */ -#define __NR_mprotect            74 /* Common                                      */ -#define __NR_madvise             75 /* Common                                      */ -#define __NR_vhangup             76 /* Common                                      */ -#define __NR_truncate64		 77 /* Linux sparc32 Specific			   */ -#define __NR_mincore             78 /* Common                                      */ -#define __NR_getgroups           79 /* Common                                      */ -#define __NR_setgroups           80 /* Common                                      */ -#define __NR_getpgrp             81 /* Common                                      */ -#define __NR_setgroups32         82 /* Linux sparc32, setpgrp under SunOS          */ -#define __NR_setitimer           83 /* Common                                      */ -#define __NR_ftruncate64	 84 /* Linux sparc32 Specific			   */ -#define __NR_swapon              85 /* Common                                      */ -#define __NR_getitimer           86 /* Common                                      */ -#define __NR_setuid32            87 /* Linux sparc32, gethostname under SunOS      */ -#define __NR_sethostname         88 /* Common                                      */ -#define __NR_setgid32            89 /* Linux sparc32, getdtablesize under SunOS    */ -#define __NR_dup2                90 /* Common                                      */ -#define __NR_setfsuid32          91 /* Linux sparc32, getdopt under SunOS          */ -#define __NR_fcntl               92 /* Common                                      */ -#define __NR_select              93 /* Common                                      */ -#define __NR_setfsgid32          94 /* Linux sparc32, setdopt under SunOS          */ -#define __NR_fsync               95 /* Common                                      */ -#define __NR_setpriority         96 /* Common                                      */ -#define __NR_socket              97 /* Common                                      */ -#define __NR_connect             98 /* Common                                      */ -#define __NR_accept              99 /* Common                                      */ -#define __NR_getpriority        100 /* Common                                      */ -#define __NR_rt_sigreturn       101 /* Linux Specific                              */ -#define __NR_rt_sigaction       102 /* Linux Specific                              */ -#define __NR_rt_sigprocmask     103 /* Linux Specific                              */ -#define __NR_rt_sigpending      104 /* Linux Specific                              */ -#define __NR_rt_sigtimedwait    105 /* Linux Specific                              */ -#define __NR_rt_sigqueueinfo    106 /* Linux Specific                              */ -#define __NR_rt_sigsuspend      107 /* Linux Specific                              */ -#define __NR_setresuid32        108 /* Linux Specific, sigvec under SunOS	   */ -#define __NR_getresuid32        109 /* Linux Specific, sigblock under SunOS	   */ -#define __NR_setresgid32        110 /* Linux Specific, sigsetmask under SunOS	   */ -#define __NR_getresgid32        111 /* Linux Specific, sigpause under SunOS	   */ -#define __NR_setregid32         112 /* Linux sparc32, sigstack under SunOS         */ -#define __NR_recvmsg            113 /* Common                                      */ -#define __NR_sendmsg            114 /* Common                                      */ -#define __NR_getgroups32        115 /* Linux sparc32, vtrace under SunOS           */ -#define __NR_gettimeofday       116 /* Common                                      */ -#define __NR_getrusage          117 /* Common                                      */ -#define __NR_getsockopt         118 /* Common                                      */ -#define __NR_getcwd		119 /* Linux Specific				   */ -#define __NR_readv              120 /* Common                                      */ -#define __NR_writev             121 /* Common                                      */ -#define __NR_settimeofday       122 /* Common                                      */ -#define __NR_fchown             123 /* Common                                      */ -#define __NR_fchmod             124 /* Common                                      */ -#define __NR_recvfrom           125 /* Common                                      */ -#define __NR_setreuid           126 /* Common                                      */ -#define __NR_setregid           127 /* Common                                      */ -#define __NR_rename             128 /* Common                                      */ -#define __NR_truncate           129 /* Common                                      */ -#define __NR_ftruncate          130 /* Common                                      */ -#define __NR_flock              131 /* Common                                      */ -#define __NR_lstat64		132 /* Linux sparc32 Specific			   */ -#define __NR_sendto             133 /* Common                                      */ -#define __NR_shutdown           134 /* Common                                      */ -#define __NR_socketpair         135 /* Common                                      */ -#define __NR_mkdir              136 /* Common                                      */ -#define __NR_rmdir              137 /* Common                                      */ -#define __NR_utimes             138 /* SunOS Specific                              */ -#define __NR_stat64		139 /* Linux sparc32 Specific			   */ -/* #define __NR_adjtime         140    SunOS Specific                              */ -#define __NR_getpeername        141 /* Common                                      */ -/* #define __NR_gethostid       142    SunOS Specific                              */ -/* #define __NR_ni_syscall      143    ENOSYS under SunOS                          */ -#define __NR_getrlimit          144 /* Common                                      */ -#define __NR_setrlimit          145 /* Common                                      */ -#define __NR_pivot_root		146 /* Linux Specific, killpg under SunOS          */ -#define __NR_prctl		147 /* ENOSYS under SunOS                          */ -#define __NR_pciconfig_read	148 /* ENOSYS under SunOS                          */ -#define __NR_pciconfig_write	149 /* ENOSYS under SunOS                          */ -#define __NR_getsockname        150 /* Common                                      */ -/* #define __NR_getmsg          151    SunOS Specific                              */ -/* #define __NR_putmsg          152    SunOS Specific                              */ -#define __NR_poll               153 /* Common                                      */ -#define __NR_getdents64		154 /* Linux specific				   */ -#define __NR_fcntl64		155 /* Linux sparc32 Specific                      */ -/* #define __NR_getdirentries   156    SunOS Specific                              */ -#define __NR_statfs             157 /* Common                                      */ -#define __NR_fstatfs            158 /* Common                                      */ -#define __NR_umount             159 /* Common                                      */ -/* #define __NR_async_daemon    160    SunOS Specific                              */ -/* #define __NR_getfh           161    SunOS Specific                              */ -#define __NR_getdomainname      162 /* SunOS Specific                              */ -#define __NR_setdomainname      163 /* Common                                      */ -/* #define __NR_ni_syscall	164    ENOSYS under SunOS			   */ -#define __NR_quotactl           165 /* Common                                      */ -/* #define __NR_exportfs        166    SunOS Specific                              */ -#define __NR_mount              167 /* Common                                      */ -#define __NR_ustat              168 /* Common                                      */ -/* #define __NR_semsys          169    SunOS Specific                              */ -/* #define __NR_msgsys          170    SunOS Specific                              */ -/* #define __NR_shmsys          171    SunOS Specific                              */ -/* #define __NR_auditsys        172    SunOS Specific                              */ -/* #define __NR_rfssys          173    SunOS Specific                              */ -#define __NR_getdents           174 /* Common                                      */ -#define __NR_setsid             175 /* Common                                      */ -#define __NR_fchdir             176 /* Common                                      */ -/* #define __NR_fchroot         177    SunOS Specific                              */ -/* #define __NR_vpixsys         178    SunOS Specific                              */ -/* #define __NR_aioread         179    SunOS Specific                              */ -/* #define __NR_aiowrite        180    SunOS Specific                              */ -/* #define __NR_aiowait         181    SunOS Specific                              */ -/* #define __NR_aiocancel       182    SunOS Specific                              */ -#define __NR_sigpending         183 /* Common                                      */ -#define __NR_query_module	184 /* Linux Specific				   */ -#define __NR_setpgid            185 /* Common                                      */ -/* #define __NR_pathconf        186    SunOS Specific                              */ -/* #define __NR_fpathconf       187    SunOS Specific                              */ -/* #define __NR_sysconf         188    SunOS Specific                              */ -#define __NR_uname              189 /* Linux Specific                              */ -#define __NR_init_module        190 /* Linux Specific                              */ -#define __NR_personality        191 /* Linux Specific                              */ -/* #define __NR_prof            192    Linux Specific                              */ -/* #define __NR_break           193    Linux Specific                              */ -/* #define __NR_lock            194    Linux Specific                              */ -/* #define __NR_mpx             195    Linux Specific                              */ -/* #define __NR_ulimit          196    Linux Specific                              */ -#define __NR_getppid            197 /* Linux Specific                              */ -#define __NR_sigaction          198 /* Linux Specific                              */ -#define __NR_sgetmask           199 /* Linux Specific                              */ -#define __NR_ssetmask           200 /* Linux Specific                              */ -#define __NR_sigsuspend         201 /* Linux Specific                              */ -#define __NR_oldlstat           202 /* Linux Specific                              */ -#define __NR_uselib             203 /* Linux Specific                              */ -#define __NR_readdir            204 /* Linux Specific                              */ -/* #define __NR_ioperm          205    Linux Specific - i386 specific, unused      */ -#define __NR_socketcall         206 /* Linux Specific                              */ -#define __NR_syslog             207 /* Linux Specific                              */ -/* #define __NR_olduname        208    Linux Specific                              */ -/* #define __NR_iopl            209    Linux Specific - i386 specific, unused      */ -/* #define __NR_idle            210    Linux Specific - was sys_idle, now unused   */ -/* #define __NR_vm86            211    Linux Specific - i386 specific, unused      */ -#define __NR_waitpid            212 /* Linux Specific                              */ -#define __NR_swapoff            213 /* Linux Specific                              */ -#define __NR_sysinfo            214 /* Linux Specific                              */ -#define __NR_ipc                215 /* Linux Specific                              */ -#define __NR_sigreturn          216 /* Linux Specific                              */ -#define __NR_clone              217 /* Linux Specific                              */ -/* #define __NR_modify_ldt      218    Linux Specific - i386 specific, unused      */ -#define __NR_adjtimex           219 /* Linux Specific                              */ -#define __NR_sigprocmask        220 /* Linux Specific                              */ -#define __NR_create_module      221 /* Linux Specific                              */ -#define __NR_delete_module      222 /* Linux Specific                              */ -#define __NR_get_kernel_syms    223 /* Linux Specific                              */ -#define __NR_getpgid            224 /* Linux Specific                              */ -#define __NR_bdflush            225 /* Linux Specific                              */ -#define __NR_sysfs              226 /* Linux Specific                              */ -#define __NR_afs_syscall        227 /* Linux Specific                              */ -#define __NR_setfsuid           228 /* Linux Specific                              */ -#define __NR_setfsgid           229 /* Linux Specific                              */ -#define __NR__newselect         230 /* Linux Specific                              */ -#define __NR_time               231 /* Linux Specific                              */ -/* #define __NR_oldstat         232    Linux Specific                              */ -#define __NR_stime              233 /* Linux Specific                              */ -/* #define __NR_oldfstat        234    Linux Specific                              */ -/* #define __NR_phys            235    Linux Specific                              */ -#define __NR__llseek            236 /* Linux Specific                              */ -#define __NR_mlock              237 -#define __NR_munlock            238 -#define __NR_mlockall           239 -#define __NR_munlockall         240 -#define __NR_sched_setparam     241 -#define __NR_sched_getparam     242 -#define __NR_sched_setscheduler 243 -#define __NR_sched_getscheduler 244 -#define __NR_sched_yield        245 -#define __NR_sched_get_priority_max 246 -#define __NR_sched_get_priority_min 247 -#define __NR_sched_rr_get_interval  248 -#define __NR_nanosleep          249 -#define __NR_mremap             250 -#define __NR__sysctl            251 -#define __NR_getsid             252 -#define __NR_fdatasync          253 -#define __NR_nfsservctl         254 -#define __NR_aplib              255 - -#define syscall_weak(name,wsym,sym) \ -.text; \ -.type wsym,function; \ -.weak wsym; \ -wsym: ; \ -.type sym,function; \ -.global sym; \ -sym: \ -	b __unified_syscall; \ -	mov __NR_##name, %g1 - -#define syscall(name,sym) \ -.text; \ -.type sym,function; \ -.global sym; \ -sym: \ -	b __unified_syscall; \ -	mov __NR_##name, %g1 - diff --git a/mdk-stage1/dietlibc/sparc/udiv.S b/mdk-stage1/dietlibc/sparc/udiv.S deleted file mode 100644 index fe8d04969..000000000 --- a/mdk-stage1/dietlibc/sparc/udiv.S +++ /dev/null @@ -1,361 +0,0 @@ -#ifdef __sparc__ -   /* This file is generated from divrem.m4; DO NOT EDIT! */ -/* - * Division and remainder, from Appendix E of the Sparc Version 8 - * Architecture Manual, with fixes from Gordon Irlam. - */ - -/* - * Input: dividend and divisor in %o0 and %o1 respectively. - * - * m4 parameters: - *  .udiv	name of function to generate - *  div		div=div => %o0 / %o1; div=rem => %o0 % %o1 - *  false		false=true => signed; false=false => unsigned - * - * Algorithm parameters: - *  N		how many bits per iteration we try to get (4) - *  WORDSIZE	total number of bits (32) - * - * Derived constants: - *  TOPBITS	number of bits in the top decade of a number - * - * Important variables: - *  Q		the partial quotient under development (initially 0) - *  R		the remainder so far, initially the dividend - *  ITER	number of main division loop iterations required; - *		equal to ceil(log2(quotient) / N).  Note that this - *		is the log base (2^N) of the quotient. - *  V		the current comparand, initially divisor*2^(ITER*N-1) - * - * Cost: - *  Current estimate for non-large dividend is - *	ceil(log2(quotient) / N) * (10 + 7N/2) + C - *  A large dividend is one greater than 2^(31-TOPBITS) and takes a - *  different path, as the upper bits of the quotient must be developed - *  one bit at a time. - */ - - - -#define C_LABEL(name) name: - -#define C_SYMBOL_NAME(name) name - -#define ENTRY(name) \ -        .global C_SYMBOL_NAME(name); \ -        .align 4;\ -        C_LABEL(name);\ -        .type name,@function; - -#define END(name) \ -        .size name, . - name - -#define ST_DIV0                 0x02 - -ENTRY(.udiv) - -	! Ready to divide.  Compute size of quotient; scale comparand. -	orcc	%o1, %g0, %o5 -	bne	1f -	mov	%o0, %o3 - -		! Divide by zero trap.  If it returns, return 0 (about as -		! wrong as possible, but that is what SunOS does...). -		ta	ST_DIV0 -		retl -		clr	%o0 - -1: -	cmp	%o3, %o5			! if %o1 exceeds %o0, done -	blu	.Lgot_result		! (and algorithm fails otherwise) -	clr	%o2 -	sethi	%hi(1 << (32 - 4 - 1)), %g1 -	cmp	%o3, %g1 -	blu	.Lnot_really_big -	clr	%o4 - -	! Here the dividend is >= 2**(31-N) or so.  We must be careful here, -	! as our usual N-at-a-shot divide step will cause overflow and havoc. -	! The number of bits in the result here is N*ITER+SC, where SC <= N. -	! Compute ITER in an unorthodox manner: know we need to shift V into -	! the top decade: so do not even bother to compare to R. -	1: -		cmp	%o5, %g1 -		bgeu	3f -		mov	1, %g2 -		sll	%o5, 4, %o5 -		b	1b -		add	%o4, 1, %o4 - -	! Now compute %g2. -	2:	addcc	%o5, %o5, %o5 -		bcc	.Lnot_too_big -		add	%g2, 1, %g2 - -		! We get here if the %o1 overflowed while shifting. -		! This means that %o3 has the high-order bit set. -		! Restore %o5 and subtract from %o3. -		sll	%g1, 4, %g1	! high order bit -		srl	%o5, 1, %o5		! rest of %o5 -		add	%o5, %g1, %o5 -		b	.Ldo_single_div -		sub	%g2, 1, %g2 - -	.Lnot_too_big: -	3:	cmp	%o5, %o3 -		blu	2b -		nop -		be	.Ldo_single_div -		nop -	/* NB: these are commented out in the V8-Sparc manual as well */ -	/* (I do not understand this) */ -	! %o5 > %o3: went too far: back up 1 step -	!	srl	%o5, 1, %o5 -	!	dec	%g2 -	! do single-bit divide steps -	! -	! We have to be careful here.  We know that %o3 >= %o5, so we can do the -	! first divide step without thinking.  BUT, the others are conditional, -	! and are only done if %o3 >= 0.  Because both %o3 and %o5 may have the high- -	! order bit set in the first step, just falling into the regular -	! division loop will mess up the first time around. -	! So we unroll slightly... -	.Ldo_single_div: -		subcc	%g2, 1, %g2 -		bl	.Lend_regular_divide -		nop -		sub	%o3, %o5, %o3 -		mov	1, %o2 -		b	.Lend_single_divloop -		nop -	.Lsingle_divloop: -		sll	%o2, 1, %o2 -		bl	1f -		srl	%o5, 1, %o5 -		! %o3 >= 0 -		sub	%o3, %o5, %o3 -		b	2f -		add	%o2, 1, %o2 -	1:	! %o3 < 0 -		add	%o3, %o5, %o3 -		sub	%o2, 1, %o2 -	2: -	.Lend_single_divloop: -		subcc	%g2, 1, %g2 -		bge	.Lsingle_divloop -		tst	%o3 -		b,a	.Lend_regular_divide - -.Lnot_really_big: -1: -	sll	%o5, 4, %o5 -	cmp	%o5, %o3 -	bleu	1b -	addcc	%o4, 1, %o4 -	be	.Lgot_result -	sub	%o4, 1, %o4 - -	tst	%o3	! set up for initial iteration -.Ldivloop: -	sll	%o2, 4, %o2 -		! depth 1, accumulated bits 0 -	bl	.L1.16 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 2, accumulated bits 1 -	bl	.L2.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 3, accumulated bits 3 -	bl	.L3.19 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 7 -	bl	.L4.23 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (7*2+1), %o2 -	 -.L4.23: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (7*2-1), %o2 -	 -	 -.L3.19: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 5 -	bl	.L4.21 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (5*2+1), %o2 -	 -.L4.21: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (5*2-1), %o2 -	 -	 -	 -.L2.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 3, accumulated bits 1 -	bl	.L3.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 3 -	bl	.L4.19 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (3*2+1), %o2 -	 -.L4.19: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (3*2-1), %o2 -	 -	 -.L3.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 1 -	bl	.L4.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (1*2+1), %o2 -	 -.L4.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (1*2-1), %o2 -	 -	 -	 -	 -.L1.16: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 2, accumulated bits -1 -	bl	.L2.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 3, accumulated bits -1 -	bl	.L3.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -1 -	bl	.L4.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-1*2+1), %o2 -	 -.L4.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-1*2-1), %o2 -	 -	 -.L3.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -3 -	bl	.L4.13 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-3*2+1), %o2 -	 -.L4.13: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-3*2-1), %o2 -	 -	 -	 -.L2.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 3, accumulated bits -3 -	bl	.L3.13 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -5 -	bl	.L4.11 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-5*2+1), %o2 -	 -.L4.11: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-5*2-1), %o2 -	 -	 -.L3.13: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -7 -	bl	.L4.9 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-7*2+1), %o2 -	 -.L4.9: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-7*2-1), %o2 -	 -	 -	 -	 -	9: -.Lend_regular_divide: -	subcc	%o4, 1, %o4 -	bge	.Ldivloop -	tst	%o3 -	bl,a	.Lgot_result -	! non-restoring fixup here (one instruction only!) -	sub	%o2, 1, %o2 - - -.Lgot_result: - -	retl -	mov %o2, %o0 - -END(.udiv) - -#endif diff --git a/mdk-stage1/dietlibc/sparc/umul.S b/mdk-stage1/dietlibc/sparc/umul.S deleted file mode 100644 index 5d7d60f2b..000000000 --- a/mdk-stage1/dietlibc/sparc/umul.S +++ /dev/null @@ -1,168 +0,0 @@ -#ifdef __sparc__ -/* - * Unsigned multiply.  Returns %o0 * %o1 in %o1%o0 (i.e., %o1 holds the - * upper 32 bits of the 64-bit product). - * - * This code optimizes short (less than 13-bit) multiplies.  Short - * multiplies require 25 instruction cycles, and long ones require - * 45 instruction cycles. - * - * On return, overflow has occurred (%o1 is not zero) if and only if - * the Z condition code is clear, allowing, e.g., the following: - * - *	call	.umul - *	nop - *	bnz	overflow	(or tnz) - */ - -#define C_LABEL(name) name: - -#define C_SYMBOL_NAME(name) name - -#define ENTRY(name) \ -        .global C_SYMBOL_NAME(name); \ -        .align 4;\ -        C_LABEL(name);\ -        .type name,@function; - -#define END(name) \ -        .size name, . - name - -ENTRY(.umul) -	or	%o0, %o1, %o4 -	mov	%o0, %y			! multiplier -> Y -	andncc	%o4, 0xfff, %g0		! test bits 12..31 of *both* args -	be	.Lmul_shortway	! if zero, can do it the short way -	 andcc	%g0, %g0, %o4		! zero the partial product; clear N & V - -	/* -	 * Long multiply.  32 steps, followed by a final shift step. -	 */ -	mulscc	%o4, %o1, %o4	! 1 -	mulscc	%o4, %o1, %o4	! 2 -	mulscc	%o4, %o1, %o4	! 3 -	mulscc	%o4, %o1, %o4	! 4 -	mulscc	%o4, %o1, %o4	! 5 -	mulscc	%o4, %o1, %o4	! 6 -	mulscc	%o4, %o1, %o4	! 7 -	mulscc	%o4, %o1, %o4	! 8 -	mulscc	%o4, %o1, %o4	! 9 -	mulscc	%o4, %o1, %o4	! 10 -	mulscc	%o4, %o1, %o4	! 11 -	mulscc	%o4, %o1, %o4	! 12 -	mulscc	%o4, %o1, %o4	! 13 -	mulscc	%o4, %o1, %o4	! 14 -	mulscc	%o4, %o1, %o4	! 15 -	mulscc	%o4, %o1, %o4	! 16 -	mulscc	%o4, %o1, %o4	! 17 -	mulscc	%o4, %o1, %o4	! 18 -	mulscc	%o4, %o1, %o4	! 19 -	mulscc	%o4, %o1, %o4	! 20 -	mulscc	%o4, %o1, %o4	! 21 -	mulscc	%o4, %o1, %o4	! 22 -	mulscc	%o4, %o1, %o4	! 23 -	mulscc	%o4, %o1, %o4	! 24 -	mulscc	%o4, %o1, %o4	! 25 -	mulscc	%o4, %o1, %o4	! 26 -	mulscc	%o4, %o1, %o4	! 27 -	mulscc	%o4, %o1, %o4	! 28 -	mulscc	%o4, %o1, %o4	! 29 -	mulscc	%o4, %o1, %o4	! 30 -	mulscc	%o4, %o1, %o4	! 31 -	mulscc	%o4, %o1, %o4	! 32 -	mulscc	%o4, %g0, %o4	! final shift - -	/* -	 * Normally, with the shift-and-add approach, if both numbers are -	 * positive you get the correct result.  With 32-bit two's-complement -	 * numbers, -x is represented as -	 * -	 *		  x		    32 -	 *	( 2  -  ------ ) mod 2  *  2 -	 *		   32 -	 *		  2 -	 * -	 * (the `mod 2' subtracts 1 from 1.bbbb).  To avoid lots of 2^32s, -	 * we can treat this as if the radix point were just to the left -	 * of the sign bit (multiply by 2^32), and get -	 * -	 *	-x  =  (2 - x) mod 2 -	 * -	 * Then, ignoring the `mod 2's for convenience: -	 * -	 *   x *  y	= xy -	 *  -x *  y	= 2y - xy -	 *   x * -y	= 2x - xy -	 *  -x * -y	= 4 - 2x - 2y + xy -	 * -	 * For signed multiplies, we subtract (x << 32) from the partial -	 * product to fix this problem for negative multipliers (see mul.s). -	 * Because of the way the shift into the partial product is calculated -	 * (N xor V), this term is automatically removed for the multiplicand, -	 * so we don't have to adjust. -	 * -	 * But for unsigned multiplies, the high order bit wasn't a sign bit, -	 * and the correction is wrong.  So for unsigned multiplies where the -	 * high order bit is one, we end up with xy - (y << 32).  To fix it -	 * we add y << 32. -	 */ -#if 0 -	tst	%o1 -	bl,a	1f		! if %o1 < 0 (high order bit = 1), -	 add	%o4, %o0, %o4	! %o4 += %o0 (add y to upper half) -1:	rd	%y, %o0		! get lower half of product -	retl -	 addcc	%o4, %g0, %o1	! put upper half in place and set Z for %o1==0 -#else -	/* Faster code from tege@sics.se.  */ -	sra	%o1, 31, %o2	! make mask from sign bit -	and	%o0, %o2, %o2	! %o2 = 0 or %o0, depending on sign of %o1 -	rd	%y, %o0		! get lower half of product -	retl -	 addcc	%o4, %o2, %o1	! add compensation and put upper half in place -#endif - -.Lmul_shortway: -	/* -	 * Short multiply.  12 steps, followed by a final shift step. -	 * The resulting bits are off by 12 and (32-12) = 20 bit positions, -	 * but there is no problem with %o0 being negative (unlike above), -	 * and overflow is impossible (the answer is at most 24 bits long). -	 */ -	mulscc	%o4, %o1, %o4	! 1 -	mulscc	%o4, %o1, %o4	! 2 -	mulscc	%o4, %o1, %o4	! 3 -	mulscc	%o4, %o1, %o4	! 4 -	mulscc	%o4, %o1, %o4	! 5 -	mulscc	%o4, %o1, %o4	! 6 -	mulscc	%o4, %o1, %o4	! 7 -	mulscc	%o4, %o1, %o4	! 8 -	mulscc	%o4, %o1, %o4	! 9 -	mulscc	%o4, %o1, %o4	! 10 -	mulscc	%o4, %o1, %o4	! 11 -	mulscc	%o4, %o1, %o4	! 12 -	mulscc	%o4, %g0, %o4	! final shift - -	/* -	 * %o4 has 20 of the bits that should be in the result; %y has -	 * the bottom 12 (as %y's top 12).  That is: -	 * -	 *	  %o4		    %y -	 * +----------------+----------------+ -	 * | -12- |   -20-  | -12- |   -20-  | -	 * +------(---------+------)---------+ -	 *	   -----result----- -	 * -	 * The 12 bits of %o4 left of the `result' area are all zero; -	 * in fact, all top 20 bits of %o4 are zero. -	 */ - -	rd	%y, %o5 -	sll	%o4, 12, %o0	! shift middle bits left 12 -	srl	%o5, 20, %o5	! shift low bits right 20 -	or	%o5, %o0, %o0 -	retl -	 addcc	%g0, %g0, %o1	! %o1 = zero, and set Z - -END(.umul) -#endif diff --git a/mdk-stage1/dietlibc/sparc/unified.S b/mdk-stage1/dietlibc/sparc/unified.S deleted file mode 100644 index 873a522df..000000000 --- a/mdk-stage1/dietlibc/sparc/unified.S +++ /dev/null @@ -1,36 +0,0 @@ -#include <dietfeatures.h> -#include "syscalls.h" - -.text -.weak exit -.type exit,function -exit: -.global _exit -.type	_exit,function -_exit: -	mov	__NR_exit, %g1 -.global __unified_syscall -__unified_syscall: -	ta	0x10 - -	bcc	1f -	save	%sp, -104, %sp - -	neg	%i0, %i0 -1: -	add	%i0, 0xff, %l2 -	cmp	%l2, 0xfe -	bgu	2f -	neg	%i0, %l3 -#ifdef WANT_THREAD_SAFE -	call	__errno_location -	nop -#else -	sethi	%hi(errno), %o0 -	or	%o0, %lo(errno), %o0 -#endif -	st	%l3, [ %o0 ] -	mov	-1, %i0 -2: -	ret -	restore diff --git a/mdk-stage1/dietlibc/sparc/urem.S b/mdk-stage1/dietlibc/sparc/urem.S deleted file mode 100644 index f7a9fd394..000000000 --- a/mdk-stage1/dietlibc/sparc/urem.S +++ /dev/null @@ -1,360 +0,0 @@ -#ifdef __sparc__ -   /* This file is generated from divrem.m4; DO NOT EDIT! */ -/* - * Division and remainder, from Appendix E of the Sparc Version 8 - * Architecture Manual, with fixes from Gordon Irlam. - */ - -/* - * Input: dividend and divisor in %o0 and %o1 respectively. - * - * m4 parameters: - *  .urem	name of function to generate - *  rem		rem=div => %o0 / %o1; rem=rem => %o0 % %o1 - *  false		false=true => signed; false=false => unsigned - * - * Algorithm parameters: - *  N		how many bits per iteration we try to get (4) - *  WORDSIZE	total number of bits (32) - * - * Derived constants: - *  TOPBITS	number of bits in the top decade of a number - * - * Important variables: - *  Q		the partial quotient under development (initially 0) - *  R		the remainder so far, initially the dividend - *  ITER	number of main division loop iterations required; - *		equal to ceil(log2(quotient) / N).  Note that this - *		is the log base (2^N) of the quotient. - *  V		the current comparand, initially divisor*2^(ITER*N-1) - * - * Cost: - *  Current estimate for non-large dividend is - *	ceil(log2(quotient) / N) * (10 + 7N/2) + C - *  A large dividend is one greater than 2^(31-TOPBITS) and takes a - *  different path, as the upper bits of the quotient must be developed - *  one bit at a time. - */ - - - -#define C_LABEL(name) name: - -#define C_SYMBOL_NAME(name) name - -#define ENTRY(name) \ -        .global C_SYMBOL_NAME(name); \ -        .align 4;\ -        C_LABEL(name);\ -        .type name,@function; - -#define END(name) \ -        .size name, . - name - -#define ST_DIV0                 0x02 - -ENTRY(.urem) - -	! Ready to divide.  Compute size of quotient; scale comparand. -	orcc	%o1, %g0, %o5 -	bne	1f -	mov	%o0, %o3 - -		! Divide by zero trap.  If it returns, return 0 (about as -		! wrong as possible, but that is what SunOS does...). -		ta	ST_DIV0 -		retl -		clr	%o0 - -1: -	cmp	%o3, %o5			! if %o1 exceeds %o0, done -	blu	.Lgot_result		! (and algorithm fails otherwise) -	clr	%o2 -	sethi	%hi(1 << (32 - 4 - 1)), %g1 -	cmp	%o3, %g1 -	blu	.Lnot_really_big -	clr	%o4 - -	! Here the dividend is >= 2**(31-N) or so.  We must be careful here, -	! as our usual N-at-a-shot divide step will cause overflow and havoc. -	! The number of bits in the result here is N*ITER+SC, where SC <= N. -	! Compute ITER in an unorthodox manner: know we need to shift V into -	! the top decade: so do not even bother to compare to R. -	1: -		cmp	%o5, %g1 -		bgeu	3f -		mov	1, %g2 -		sll	%o5, 4, %o5 -		b	1b -		add	%o4, 1, %o4 - -	! Now compute %g2. -	2:	addcc	%o5, %o5, %o5 -		bcc	.Lnot_too_big -		add	%g2, 1, %g2 - -		! We get here if the %o1 overflowed while shifting. -		! This means that %o3 has the high-order bit set. -		! Restore %o5 and subtract from %o3. -		sll	%g1, 4, %g1	! high order bit -		srl	%o5, 1, %o5		! rest of %o5 -		add	%o5, %g1, %o5 -		b	.Ldo_single_div -		sub	%g2, 1, %g2 - -	.Lnot_too_big: -	3:	cmp	%o5, %o3 -		blu	2b -		nop -		be	.Ldo_single_div -		nop -	/* NB: these are commented out in the V8-Sparc manual as well */ -	/* (I do not understand this) */ -	! %o5 > %o3: went too far: back up 1 step -	!	srl	%o5, 1, %o5 -	!	dec	%g2 -	! do single-bit divide steps -	! -	! We have to be careful here.  We know that %o3 >= %o5, so we can do the -	! first divide step without thinking.  BUT, the others are conditional, -	! and are only done if %o3 >= 0.  Because both %o3 and %o5 may have the high- -	! order bit set in the first step, just falling into the regular -	! division loop will mess up the first time around. -	! So we unroll slightly... -	.Ldo_single_div: -		subcc	%g2, 1, %g2 -		bl	.Lend_regular_divide -		nop -		sub	%o3, %o5, %o3 -		mov	1, %o2 -		b	.Lend_single_divloop -		nop -	.Lsingle_divloop: -		sll	%o2, 1, %o2 -		bl	1f -		srl	%o5, 1, %o5 -		! %o3 >= 0 -		sub	%o3, %o5, %o3 -		b	2f -		add	%o2, 1, %o2 -	1:	! %o3 < 0 -		add	%o3, %o5, %o3 -		sub	%o2, 1, %o2 -	2: -	.Lend_single_divloop: -		subcc	%g2, 1, %g2 -		bge	.Lsingle_divloop -		tst	%o3 -		b,a	.Lend_regular_divide - -.Lnot_really_big: -1: -	sll	%o5, 4, %o5 -	cmp	%o5, %o3 -	bleu	1b -	addcc	%o4, 1, %o4 -	be	.Lgot_result -	sub	%o4, 1, %o4 - -	tst	%o3	! set up for initial iteration -.Ldivloop: -	sll	%o2, 4, %o2 -		! depth 1, accumulated bits 0 -	bl	.L1.16 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 2, accumulated bits 1 -	bl	.L2.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 3, accumulated bits 3 -	bl	.L3.19 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 7 -	bl	.L4.23 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (7*2+1), %o2 -	 -.L4.23: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (7*2-1), %o2 -	 -	 -.L3.19: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 5 -	bl	.L4.21 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (5*2+1), %o2 -	 -.L4.21: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (5*2-1), %o2 -	 -	 -	 -.L2.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 3, accumulated bits 1 -	bl	.L3.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 3 -	bl	.L4.19 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (3*2+1), %o2 -	 -.L4.19: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (3*2-1), %o2 -	 -	 -.L3.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits 1 -	bl	.L4.17 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (1*2+1), %o2 -	 -.L4.17: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (1*2-1), %o2 -	 -	 -	 -	 -.L1.16: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 2, accumulated bits -1 -	bl	.L2.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 3, accumulated bits -1 -	bl	.L3.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -1 -	bl	.L4.15 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-1*2+1), %o2 -	 -.L4.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-1*2-1), %o2 -	 -	 -.L3.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -3 -	bl	.L4.13 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-3*2+1), %o2 -	 -.L4.13: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-3*2-1), %o2 -	 -	 -	 -.L2.15: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 3, accumulated bits -3 -	bl	.L3.13 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -5 -	bl	.L4.11 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-5*2+1), %o2 -	 -.L4.11: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-5*2-1), %o2 -	 -	 -.L3.13: -	! remainder is negative -	addcc	%o3,%o5,%o3 -			! depth 4, accumulated bits -7 -	bl	.L4.9 -	srl	%o5,1,%o5 -	! remainder is positive -	subcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-7*2+1), %o2 -	 -.L4.9: -	! remainder is negative -	addcc	%o3,%o5,%o3 -		b	9f -		add	%o2, (-7*2-1), %o2 -	 -	 -	 -	 -	9: -.Lend_regular_divide: -	subcc	%o4, 1, %o4 -	bge	.Ldivloop -	tst	%o3 -	bl,a	.Lgot_result -	! non-restoring fixup here (one instruction only!) -	add	%o3, %o1, %o3 - - -.Lgot_result: - -	retl -	mov %o3, %o0 - -END(.urem) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h deleted file mode 100644 index aa62f67a9..000000000 --- a/mdk-stage1/dietlibc/syscalls.h +++ /dev/null @@ -1,35 +0,0 @@ -#if defined(__i386__) -#include "i386/syscalls.h" - -#elif defined(__x86_64__) -#include "x86_64/syscalls.h" - -#elif defined(__sparc__) -#if defined(__arch64__) -#include "sparc64/syscalls.h" -#else -#include "sparc/syscalls.h" -#endif - -#elif defined(__powerpc__) -#include "ppc/syscalls.h" - -#elif defined(__mips__) -#include "mips/syscalls.h" - -#elif defined(__arm__) -#include "arm/syscalls.h" - -#elif defined(__s390__) -#include "s390/syscalls.h" - -#elif defined(__alpha__) -#include "alpha/syscalls.h" - -#elif defined(__hppa__) -#include "parisc/syscalls.h" - -#elif defined(__ia64__) -#include "ia64/syscalls.h" - -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S b/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S deleted file mode 100644 index c9fd97898..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getpagesize -syscall(getpagesize,getpagesize) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/__pread.S b/mdk-stage1/dietlibc/syscalls.s/__pread.S deleted file mode 100644 index ae2068352..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/__pread.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(pread,__pread) diff --git a/mdk-stage1/dietlibc/syscalls.s/__pwrite.S b/mdk-stage1/dietlibc/syscalls.s/__pwrite.S deleted file mode 100644 index f52ead7b2..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/__pwrite.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(pwrite,__pwrite) diff --git a/mdk-stage1/dietlibc/syscalls.s/__reboot.S b/mdk-stage1/dietlibc/syscalls.s/__reboot.S deleted file mode 100644 index 0de4f25b2..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/__reboot.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(reboot,__reboot) diff --git a/mdk-stage1/dietlibc/syscalls.s/_llseek.S b/mdk-stage1/dietlibc/syscalls.s/_llseek.S deleted file mode 100644 index 68d021168..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S +++ /dev/null @@ -1,7 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR__llseek -.global llseek -llseek: -syscall(_llseek,_llseek) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/access.S b/mdk-stage1/dietlibc/syscalls.s/access.S deleted file mode 100644 index d1edafd8c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/access.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(access,access) diff --git a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S b/mdk-stage1/dietlibc/syscalls.s/adjtimex.S deleted file mode 100644 index 190ebcd7e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(adjtimex,adjtimex) diff --git a/mdk-stage1/dietlibc/syscalls.s/alarm.S b/mdk-stage1/dietlibc/syscalls.s/alarm.S deleted file mode 100644 index b1b0d3e49..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/alarm.S +++ /dev/null @@ -1,4 +0,0 @@ -#include "syscalls.h" -#ifdef __NR_alarm -syscall(alarm,alarm) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/bdflush.S b/mdk-stage1/dietlibc/syscalls.s/bdflush.S deleted file mode 100644 index b7788baef..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/bdflush.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_bdflush -syscall(bdflush,bdflush) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/brk.S b/mdk-stage1/dietlibc/syscalls.s/brk.S deleted file mode 100644 index 6e21810bd..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/brk.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(brk,__diet_brk) diff --git a/mdk-stage1/dietlibc/syscalls.s/chdir.S b/mdk-stage1/dietlibc/syscalls.s/chdir.S deleted file mode 100644 index 204f3dd6c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/chdir.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(chdir,chdir) diff --git a/mdk-stage1/dietlibc/syscalls.s/chmod.S b/mdk-stage1/dietlibc/syscalls.s/chmod.S deleted file mode 100644 index c1b85f5a4..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/chmod.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(chmod,chmod) diff --git a/mdk-stage1/dietlibc/syscalls.s/chown.S b/mdk-stage1/dietlibc/syscalls.s/chown.S deleted file mode 100644 index daac3bf13..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/chown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(chown,chown) diff --git a/mdk-stage1/dietlibc/syscalls.s/chown32.S b/mdk-stage1/dietlibc/syscalls.s/chown32.S deleted file mode 100644 index 98d68f980..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/chown32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_chown32 -syscall_weak(chown32,chown32,__libc_chown32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/chroot.S b/mdk-stage1/dietlibc/syscalls.s/chroot.S deleted file mode 100644 index 65de1e473..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/chroot.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(chroot,chroot) diff --git a/mdk-stage1/dietlibc/syscalls.s/close.S b/mdk-stage1/dietlibc/syscalls.s/close.S deleted file mode 100644 index 361ca5272..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/close.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(close,close,__libc_close) diff --git a/mdk-stage1/dietlibc/syscalls.s/create_module.S b/mdk-stage1/dietlibc/syscalls.s/create_module.S deleted file mode 100644 index f2da644ad..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/create_module.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_create_module -syscall(create_module,create_module) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/delete_module.S b/mdk-stage1/dietlibc/syscalls.s/delete_module.S deleted file mode 100644 index d0919b6be..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/delete_module.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_delete_module -syscall(delete_module,delete_module) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/dup.S b/mdk-stage1/dietlibc/syscalls.s/dup.S deleted file mode 100644 index b2977fd43..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/dup.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(dup,dup) diff --git a/mdk-stage1/dietlibc/syscalls.s/dup2.S b/mdk-stage1/dietlibc/syscalls.s/dup2.S deleted file mode 100644 index 774bfbfe7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/dup2.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(dup2,dup2) diff --git a/mdk-stage1/dietlibc/syscalls.s/environ.S b/mdk-stage1/dietlibc/syscalls.s/environ.S deleted file mode 100644 index eb3ff0b94..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/environ.S +++ /dev/null @@ -1,16 +0,0 @@ -.section ".bss" -.align 8 - -.type environ,object -.weak environ -.type __environ,object -.weak __environ -__environ: -environ: -#if __WORDSIZE == 64 -	.quad 0 -#else -	.long 0 -#endif -.size environ,.-environ -.size __environ,.-__environ diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S b/mdk-stage1/dietlibc/syscalls.s/epoll_create.S deleted file mode 100644 index 09bb50209..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sys_epoll_create -syscall(sys_epoll_create,epoll_create) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S b/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S deleted file mode 100644 index 4587f59de..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sys_epoll_ctl -syscall(sys_epoll_ctl,epoll_ctl) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S b/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S deleted file mode 100644 index dab5a58b7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sys_epoll_wait -syscall(sys_epoll_wait,epoll_wait) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/errlist.S b/mdk-stage1/dietlibc/syscalls.s/errlist.S deleted file mode 100644 index c06d3d3ac..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/errlist.S +++ /dev/null @@ -1,293 +0,0 @@ -#include <endian.h> - -# -#  My gcc tries to align some of the strings if written the code in C. This costs a lot of bytes. -# - -#ifdef __DYN_LIB -.section	.data -#else -.section	.rodata -#endif - -.align 4 -.global sys_errlist -#ifdef __arm__ -.type	sys_errlist,object -.type	sys_nerr,object -#else -.type	sys_errlist,@object -.type	sys_nerr,@object -#endif - -#if (__WORDSIZE == 64) -#define deflong .quad -#else -#define deflong .long -#endif - -sys_errlist: -	deflong .LC000 -	deflong .LC001 -	deflong .LC002 -	deflong .LC003 -	deflong .LC004 -	deflong .LC005 -	deflong .LC006 -	deflong .LC007 -	deflong .LC008 -	deflong .LC009 -	deflong .LC010 -	deflong .LC011 -	deflong .LC012 -	deflong .LC013 -	deflong .LC014 -	deflong .LC015 -	deflong .LC016 -	deflong .LC017 -	deflong .LC018 -	deflong .LC019 -	deflong .LC020 -	deflong .LC021 -	deflong .LC022 -	deflong .LC023 -	deflong .LC024 -	deflong .LC025 -	deflong .LC026 -	deflong .LC027 -	deflong .LC028 -	deflong .LC029 -	deflong .LC030 -	deflong .LC031 -	deflong .LC032 -	deflong .LC033 -	deflong .LC034 -	deflong .LC035 -	deflong .LC036 -	deflong .LC037 -	deflong .LC038 -	deflong .LC039 -	deflong .LC040 -	deflong .LC041 -	deflong .LC042 -	deflong .LC043 -	deflong .LC044 -	deflong .LC045 -	deflong .LC046 -	deflong .LC047 -	deflong .LC048 -	deflong .LC049 -	deflong .LC050 -	deflong .LC051 -	deflong .LC052 -	deflong .LC053 -	deflong .LC054 -	deflong .LC055 -	deflong .LC056 -	deflong .LC057 -	deflong .LC058 -	deflong .LC059 -	deflong .LC060 -	deflong .LC061 -	deflong .LC062 -	deflong .LC063 -	deflong .LC064 -	deflong .LC065 -	deflong .LC066 -	deflong .LC067 -	deflong .LC068 -	deflong .LC069 -	deflong .LC070 -	deflong .LC071 -	deflong .LC072 -	deflong .LC073 -	deflong .LC074 -	deflong .LC075 -	deflong .LC076 -	deflong .LC077 -	deflong .LC078 -	deflong .LC079 -	deflong .LC080 -	deflong .LC081 -	deflong .LC082 -	deflong .LC083 -	deflong .LC084 -	deflong .LC085 -	deflong .LC086 -	deflong .LC087 -	deflong .LC088 -	deflong .LC089 -	deflong .LC090 -	deflong .LC091 -	deflong .LC092 -	deflong .LC093 -	deflong .LC094 -	deflong .LC095 -	deflong .LC096 -	deflong .LC097 -	deflong .LC098 -	deflong .LC099 -	deflong .LC100 -	deflong .LC101 -	deflong .LC102 -	deflong .LC103 -	deflong .LC104 -	deflong .LC105 -	deflong .LC106 -	deflong .LC107 -	deflong .LC108 -	deflong .LC109 -	deflong .LC110 -	deflong .LC111 -	deflong .LC112 -	deflong .LC113 -	deflong .LC114 -	deflong .LC115 -	deflong .LC116 -	deflong .LC117 -	deflong .LC118 -	deflong .LC119 -	deflong .LC120 -	deflong .LC121 -	deflong .LC122 -	deflong .LC123 -	deflong .LC124 -	deflong 0 -.size	sys_errlist,.-sys_errlist - -.align 4 -.global sys_nerr -sys_nerr: -	.long 125 -.size	sys_nerr,4 - - -#ifdef __DYN_LIB -.section	.rodata -#endif - -.LC000:	.string	"Success" -.LC001:	.string	"Operation not permitted" -.LC002:	.string	"No such file or directory" -.LC003:	.string	"No such process" -.LC004:	.string	"Interrupted system call" -.LC005:	.string	"I/O error" -.LC006:	.string	"No such device or address" -.LC007:	.string	"Arg list too long" -.LC008:	.string	"Exec format error" -.LC009:	.string	"Bad file number" -.LC010:	.string	"No child processes" -.LC011:	.string	"Try again" -.LC012:	.string	"Out of memory" -.LC013:	.string	"Permission denied" -.LC014:	.string	"Bad address" -.LC015:	.string	"Block device required" -.LC016:	.string	"Device or resource busy" -.LC017:	.string	"File exists" -.LC018:	.string	"Cross-device link" -.LC019:	.string	"No such device" -.LC020:	.string	"Not a directory" -.LC021:	.string	"Is a directory" -.LC022:	.string	"Invalid argument" -.LC023:	.string	"File table overflow" -.LC024:	.string	"Too many open files" -.LC025:	.string	"Not a typewriter" -.LC026:	.string	"Text file busy" -.LC027:	.string	"File too large" -.LC028:	.string	"No space left on device" -.LC029:	.string	"Illegal seek" -.LC030:	.string	"Read-only file system" -.LC031:	.string	"Too many links" -.LC032:	.string	"Broken pipe" -.LC033:	.string	"Math argument out of domain of func" -.LC034:	.string	"Math result not representable" -.LC035:	.string	"Resource deadlock would occur" -.LC036:	.string	"File name too long" -.LC037:	.string	"No record locks available" -.LC038:	.string	"Function not implemented" -.LC039:	.string	"Directory not empty" -.LC040:	.string	"Too many symbolic links encountered" -.LC041:	.string	"Operation would block" -.LC042:	.string	"No message of desired type" -.LC043:	.string	"Identifier removed" -.LC044:	.string	"Channel number out of range" -.LC045:	.string	"Level 2 not synchronized" -.LC046:	.string	"Level 3 halted" -.LC047:	.string	"Level 3 reset" -.LC048:	.string	"Link number out of range" -.LC049:	.string	"Protocol driver not attached" -.LC050:	.string	"No CSI structure available" -.LC051:	.string	"Level 2 halted" -.LC052:	.string	"Invalid exchange" -.LC053:	.string	"Invalid request descriptor" -.LC054:	.string	"Exchange full" -.LC055:	.string	"No anode" -.LC056:	.string	"Invalid request code" -.LC057:	.string	"Invalid slot" -.LC058:	.string	"File locking deadlock error" -.LC059:	.string	"Bad font file format" -.LC060:	.string	"Device not a stream" -.LC061:	.string	"No data available" -.LC062:	.string	"Timer expired" -.LC063:	.string	"Out of streams resources" -.LC064:	.string	"Machine is not on the network" -.LC065:	.string	"Package not installed" -.LC066:	.string	"Object is remote" -.LC067:	.string	"Link has been severed" -.LC068:	.string	"Advertise error" -.LC069:	.string	"Srmount error" -.LC070:	.string	"Communication error on send" -.LC071:	.string	"Protocol error" -.LC072:	.string	"Multihop attempted" -.LC073:	.string	"RFS specific error" -.LC074:	.string	"Not a data message" -.LC075:	.string	"Value too large for defined data type" -.LC076:	.string	"Name not unique on network" -.LC077:	.string	"File descriptor in bad state" -.LC078:	.string	"Remote address changed" -.LC079:	.string	"Can not access a needed shared library" -.LC080:	.string	"Accessing a corrupted shared library" -.LC081:	.string	".lib section in a.out corrupted" -.LC082:	.string	"Attempting to link in too many shared libraries" -.LC083:	.string	"Cannot exec a shared library directly" -.LC084:	.string	"Illegal byte sequence" -.LC085:	.string	"Interrupted system call should be restarted" -.LC086:	.string	"Streams pipe error" -.LC087:	.string	"Too many users" -.LC088:	.string	"Socket operation on non-socket" -.LC089:	.string	"Destination address required" -.LC090:	.string	"Message too long" -.LC091:	.string	"Protocol wrong type for socket" -.LC092:	.string	"Protocol not available" -.LC093:	.string	"Protocol not supported" -.LC094:	.string	"Socket type not supported" -.LC095:	.string	"Operation not supported on transport endpoint" -.LC096:	.string	"Protocol family not supported" -.LC097:	.string	"Address family not supported by protocol" -.LC098:	.string	"Address already in use" -.LC099:	.string	"Cannot assign requested address" -.LC100:	.string	"Network is down" -.LC101:	.string	"Network is unreachable" -.LC102:	.string	"Network dropped connection because of reset" -.LC103:	.string	"Software caused connection abort" -.LC104:	.string	"Connection reset by peer" -.LC105:	.string	"No buffer space available" -.LC106:	.string	"Transport endpoint is already connected" -.LC107:	.string	"Transport endpoint is not connected" -.LC108:	.string	"Cannot send after transport endpoint shutdown" -.LC109:	.string	"Too many references: cannot splice" -.LC110:	.string	"Connection timed out" -.LC111:	.string	"Connection refused" -.LC112:	.string	"Host is down" -.LC113:	.string	"No route to host" -.LC114:	.string	"Operation already in progress" -.LC115:	.string	"Operation now in progress" -.LC116:	.string	"Stale NFS file handle" -.LC117:	.string	"Structure needs cleaning" -.LC118:	.string	"Not a XENIX named type file" -.LC119:	.string	"No XENIX semaphores available" -.LC120:	.string	"Is a named type file" -.LC121:	.string	"Remote I/O error" -.LC122:	.string	"Quota exceeded" -.LC123:	.string	"No medium found" -.LC124:	.string	"Wrong medium type" diff --git a/mdk-stage1/dietlibc/syscalls.s/errno.S b/mdk-stage1/dietlibc/syscalls.s/errno.S deleted file mode 100644 index 2f0a2eca8..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/errno.S +++ /dev/null @@ -1,8 +0,0 @@ -.section ".bss" -.align 8 - -.type errno,object -.weak errno -errno: -	.long 0 -.size errno,.-errno diff --git a/mdk-stage1/dietlibc/syscalls.s/execve.S b/mdk-stage1/dietlibc/syscalls.s/execve.S deleted file mode 100644 index ff952ae7d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/execve.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(execve,execve) diff --git a/mdk-stage1/dietlibc/syscalls.s/fchdir.S b/mdk-stage1/dietlibc/syscalls.s/fchdir.S deleted file mode 100644 index 0aeaf610b..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fchdir.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(fchdir,fchdir) diff --git a/mdk-stage1/dietlibc/syscalls.s/fchmod.S b/mdk-stage1/dietlibc/syscalls.s/fchmod.S deleted file mode 100644 index 30bc2e210..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fchmod.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(fchmod,fchmod) diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown.S b/mdk-stage1/dietlibc/syscalls.s/fchown.S deleted file mode 100644 index bc2a296ea..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fchown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(fchown,fchown) diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown32.S b/mdk-stage1/dietlibc/syscalls.s/fchown32.S deleted file mode 100644 index 25b18bc8e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fchown32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_fchown32 -syscall_weak(fchown32,fchown32,__libc_fchown32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/fcntl.S b/mdk-stage1/dietlibc/syscalls.s/fcntl.S deleted file mode 100644 index 2285929a0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fcntl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(fcntl,fcntl,__libc_fcntl) diff --git a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S b/mdk-stage1/dietlibc/syscalls.s/fdatasync.S deleted file mode 100644 index 46afd94d2..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S +++ /dev/null @@ -1,6 +0,0 @@ -#include "syscalls.h" - -#ifndef __NR_fdatasync -#define __NR_fdatasync __NR_fsync -#endif -syscall_weak(fdatasync,fdatasync,__libc_fdatasync) diff --git a/mdk-stage1/dietlibc/syscalls.s/flock.S b/mdk-stage1/dietlibc/syscalls.s/flock.S deleted file mode 100644 index 7b4daeff7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/flock.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(flock,flock) diff --git a/mdk-stage1/dietlibc/syscalls.s/fork.S b/mdk-stage1/dietlibc/syscalls.s/fork.S deleted file mode 100644 index b40c3f708..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fork.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(fork,fork,__libc_fork) diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat.S b/mdk-stage1/dietlibc/syscalls.s/fstat.S deleted file mode 100644 index 9dd465cda..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fstat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(fstat,fstat) diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat64.S b/mdk-stage1/dietlibc/syscalls.s/fstat64.S deleted file mode 100644 index f034ddf5b..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_fstat64 -#ifdef WANT_LARGEFILE_BACKCOMPAT -syscall(fstat64,__dietlibc_fstat64) -#else -syscall(fstat64,fstat64) -#endif -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S b/mdk-stage1/dietlibc/syscalls.s/fstatfs.S deleted file mode 100644 index a23c8770c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(fstatfs,fstatfs) diff --git a/mdk-stage1/dietlibc/syscalls.s/fsync.S b/mdk-stage1/dietlibc/syscalls.s/fsync.S deleted file mode 100644 index 66af59ef9..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/fsync.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(fsync,fsync,__libc_fsync) diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate.S deleted file mode 100644 index dde57a615..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(ftruncate,ftruncate) diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S deleted file mode 100644 index 639dcf5b7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_ftruncate64 -#ifdef WANT_LARGEFILE_BACKCOMPAT -syscall(ftruncate64,__dietlibc_ftruncate64) -#else -syscall(ftruncate64,ftruncate64) -#endif -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getcwd.S b/mdk-stage1/dietlibc/syscalls.s/getcwd.S deleted file mode 100644 index e13262f20..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getcwd.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getcwd,__syscall_getcwd) diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents.S b/mdk-stage1/dietlibc/syscalls.s/getdents.S deleted file mode 100644 index f476e939d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getdents.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getdents,getdents) diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents64.S b/mdk-stage1/dietlibc/syscalls.s/getdents64.S deleted file mode 100644 index 691d8f650..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S +++ /dev/null @@ -1,6 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_getdents64 -syscall(getdents64,getdents64) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid.S b/mdk-stage1/dietlibc/syscalls.s/getegid.S deleted file mode 100644 index 64843ee35..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getegid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getegid,getegid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid32.S b/mdk-stage1/dietlibc/syscalls.s/getegid32.S deleted file mode 100644 index fd527d3f2..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getegid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getegid32 -syscall_weak(getegid32,getegid32,__libc_getegid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid.S b/mdk-stage1/dietlibc/syscalls.s/geteuid.S deleted file mode 100644 index 55dc00981..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/geteuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(geteuid,geteuid) diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S b/mdk-stage1/dietlibc/syscalls.s/geteuid32.S deleted file mode 100644 index 8881fa580..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_geteuid32 -syscall_weak(geteuid32,geteuid32,__libc_geteuid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid.S b/mdk-stage1/dietlibc/syscalls.s/getgid.S deleted file mode 100644 index 39f092685..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getgid,getgid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid32.S b/mdk-stage1/dietlibc/syscalls.s/getgid32.S deleted file mode 100644 index 09fca3504..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getgid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getgid32 -syscall_weak(getgid32,getgid32,__libc_getgid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups.S b/mdk-stage1/dietlibc/syscalls.s/getgroups.S deleted file mode 100644 index b4c57689c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getgroups.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getgroups,getgroups) diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S b/mdk-stage1/dietlibc/syscalls.s/getgroups32.S deleted file mode 100644 index 29e6005d6..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getgroups32 -syscall_weak(getgroups32,getgroups32,__libc_getgroups32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getitimer.S b/mdk-stage1/dietlibc/syscalls.s/getitimer.S deleted file mode 100644 index 9a2084080..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getitimer.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getitimer,getitimer) diff --git a/mdk-stage1/dietlibc/syscalls.s/getpgid.S b/mdk-stage1/dietlibc/syscalls.s/getpgid.S deleted file mode 100644 index e568f060f..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getpgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpgid,getpgid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getpid.S b/mdk-stage1/dietlibc/syscalls.s/getpid.S deleted file mode 100644 index 093884785..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getpid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpid,getpid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getppid.S b/mdk-stage1/dietlibc/syscalls.s/getppid.S deleted file mode 100644 index b05e64ae3..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getppid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getppid,getppid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getpriority.S b/mdk-stage1/dietlibc/syscalls.s/getpriority.S deleted file mode 100644 index 848b27ed7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getpriority.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpriority,getpriority) diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid.S b/mdk-stage1/dietlibc/syscalls.s/getresgid.S deleted file mode 100644 index a1d873c15..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getresgid.S +++ /dev/null @@ -1,7 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getresgid - -syscall(getresgid,getresgid) - -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S b/mdk-stage1/dietlibc/syscalls.s/getresgid32.S deleted file mode 100644 index 35ee7436b..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getresgid32 -syscall_weak(getresgid32,getresgid32,__libc_getresgid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S deleted file mode 100644 index 95c5505a8..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S +++ /dev/null @@ -1,7 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getresuid - -syscall(getresuid,getresuid) - -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S b/mdk-stage1/dietlibc/syscalls.s/getrlimit.S deleted file mode 100644 index 1c63c0196..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getrlimit,getrlimit) diff --git a/mdk-stage1/dietlibc/syscalls.s/getrusage.S b/mdk-stage1/dietlibc/syscalls.s/getrusage.S deleted file mode 100644 index 2972c4938..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getrusage.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getrusage,getrusage) diff --git a/mdk-stage1/dietlibc/syscalls.s/getsid.S b/mdk-stage1/dietlibc/syscalls.s/getsid.S deleted file mode 100644 index cf5cce9d5..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getsid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsid,getsid) diff --git a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S b/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S deleted file mode 100644 index f364b787a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(gettimeofday,gettimeofday) diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid.S b/mdk-stage1/dietlibc/syscalls.s/getuid.S deleted file mode 100644 index c53c25a7a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getuid,getuid) diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid32.S b/mdk-stage1/dietlibc/syscalls.s/getuid32.S deleted file mode 100644 index f90ce06a5..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/getuid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_getuid32 -syscall_weak(getuid32,getuid32,__libc_getuid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/init_module.S b/mdk-stage1/dietlibc/syscalls.s/init_module.S deleted file mode 100644 index 4e8709d75..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/init_module.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_init_module -syscall(init_module,init_module) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/ioctl.S b/mdk-stage1/dietlibc/syscalls.s/ioctl.S deleted file mode 100644 index 463d319dc..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ioctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(ioctl,ioctl) diff --git a/mdk-stage1/dietlibc/syscalls.s/ioperm.S b/mdk-stage1/dietlibc/syscalls.s/ioperm.S deleted file mode 100644 index 74a51fc4b..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_ioperm -syscall(ioperm,ioperm) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/iopl.S b/mdk-stage1/dietlibc/syscalls.s/iopl.S deleted file mode 100644 index 06a6c53fb..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/iopl.S +++ /dev/null @@ -1,6 +0,0 @@ - -#include "syscalls.h" - -#ifdef __NR_iopl -syscall(iopl,iopl) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/ipc.S b/mdk-stage1/dietlibc/syscalls.s/ipc.S deleted file mode 100644 index 476878e52..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ipc.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_ipc -syscall(ipc,__ipc) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/kill.S b/mdk-stage1/dietlibc/syscalls.s/kill.S deleted file mode 100644 index eb466dd33..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/kill.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(kill,kill) diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown.S b/mdk-stage1/dietlibc/syscalls.s/lchown.S deleted file mode 100644 index 19dfefaef..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/lchown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(lchown,lchown) diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown32.S b/mdk-stage1/dietlibc/syscalls.s/lchown32.S deleted file mode 100644 index 6863dcb24..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/lchown32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_lchown32 -syscall_weak(lchown32,lchown32,__libc_lchown32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/link.S b/mdk-stage1/dietlibc/syscalls.s/link.S deleted file mode 100644 index 8015d11c8..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/link.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(link,link) diff --git a/mdk-stage1/dietlibc/syscalls.s/lseek.S b/mdk-stage1/dietlibc/syscalls.s/lseek.S deleted file mode 100644 index 93707a22a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/lseek.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(lseek,lseek,__libc_lseek) diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat.S b/mdk-stage1/dietlibc/syscalls.s/lstat.S deleted file mode 100644 index 5720161c0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/lstat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(lstat,lstat) diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat64.S b/mdk-stage1/dietlibc/syscalls.s/lstat64.S deleted file mode 100644 index 021cb0578..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_lstat64 -#ifdef WANT_LARGEFILE_BACKCOMPAT -syscall(lstat64,__dietlibc_lstat64) -#else -syscall(lstat64,lstat64) -#endif -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/madvise.S b/mdk-stage1/dietlibc/syscalls.s/madvise.S deleted file mode 100644 index dde7daaea..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/madvise.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(madvise,madvise) diff --git a/mdk-stage1/dietlibc/syscalls.s/mkdir.S b/mdk-stage1/dietlibc/syscalls.s/mkdir.S deleted file mode 100644 index d6214ee46..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mkdir.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mkdir,mkdir) diff --git a/mdk-stage1/dietlibc/syscalls.s/mknod.S b/mdk-stage1/dietlibc/syscalls.s/mknod.S deleted file mode 100644 index c1b2af12d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mknod.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mknod,mknod) diff --git a/mdk-stage1/dietlibc/syscalls.s/mlock.S b/mdk-stage1/dietlibc/syscalls.s/mlock.S deleted file mode 100644 index e2fa3d1bd..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mlock.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mlock,mlock) diff --git a/mdk-stage1/dietlibc/syscalls.s/mlockall.S b/mdk-stage1/dietlibc/syscalls.s/mlockall.S deleted file mode 100644 index 6ad0eef9d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mlockall.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mlockall,mlockall) diff --git a/mdk-stage1/dietlibc/syscalls.s/mmap2.S b/mdk-stage1/dietlibc/syscalls.s/mmap2.S deleted file mode 100644 index faf7eaaff..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mmap2.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_mmap2 -syscall(mmap2,__mmap2) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/mount.S b/mdk-stage1/dietlibc/syscalls.s/mount.S deleted file mode 100644 index 2fd845561..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mount.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mount,mount) diff --git a/mdk-stage1/dietlibc/syscalls.s/mprotect.S b/mdk-stage1/dietlibc/syscalls.s/mprotect.S deleted file mode 100644 index 73e9a8e17..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mprotect.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mprotect,mprotect) diff --git a/mdk-stage1/dietlibc/syscalls.s/mremap.S b/mdk-stage1/dietlibc/syscalls.s/mremap.S deleted file mode 100644 index 259ccec99..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/mremap.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(mremap,mremap) diff --git a/mdk-stage1/dietlibc/syscalls.s/msync.S b/mdk-stage1/dietlibc/syscalls.s/msync.S deleted file mode 100644 index 7f5ae9e4a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/msync.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(msync,msync,__libc_msync) diff --git a/mdk-stage1/dietlibc/syscalls.s/munlock.S b/mdk-stage1/dietlibc/syscalls.s/munlock.S deleted file mode 100644 index 2001c89b7..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/munlock.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(munlock,munlock) diff --git a/mdk-stage1/dietlibc/syscalls.s/munlockall.S b/mdk-stage1/dietlibc/syscalls.s/munlockall.S deleted file mode 100644 index 776811dea..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/munlockall.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(munlockall,munlockall) diff --git a/mdk-stage1/dietlibc/syscalls.s/munmap.S b/mdk-stage1/dietlibc/syscalls.s/munmap.S deleted file mode 100644 index b43a7b22d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/munmap.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(munmap,munmap) diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S deleted file mode 100644 index 15d66ccc0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sigaction -syscall_weak(sigaction,__old_sigaction,__n_sigaction) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S deleted file mode 100644 index f851099a0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sigpending -syscall_weak(sigpending,__old_sigpending,__n_sigpending) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S deleted file mode 100644 index 6d632aa71..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sigprocmask -syscall_weak(sigprocmask,__old_sigprocmask,__n_sigprocmask) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S deleted file mode 100644 index a1cfc014d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sigsuspend -syscall_weak(sigsuspend,__old_sigsuspend,__n_sigsuspend) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S b/mdk-stage1/dietlibc/syscalls.s/nanosleep.S deleted file mode 100644 index 279a52604..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(nanosleep,nanosleep,__libc_nanosleep) diff --git a/mdk-stage1/dietlibc/syscalls.s/nice.S b/mdk-stage1/dietlibc/syscalls.s/nice.S deleted file mode 100644 index 4dad30edb..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/nice.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_nice -syscall(nice,nice) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/open.S b/mdk-stage1/dietlibc/syscalls.s/open.S deleted file mode 100644 index 280efd0d9..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/open.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(open,open,__libc_open) diff --git a/mdk-stage1/dietlibc/syscalls.s/pause.S b/mdk-stage1/dietlibc/syscalls.s/pause.S deleted file mode 100644 index d154f1538..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/pause.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_pause -syscall_weak(pause,pause,__libc_pause) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/personality.S b/mdk-stage1/dietlibc/syscalls.s/personality.S deleted file mode 100644 index 34b467084..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/personality.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_personality -syscall(personality,personality) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/pipe.S b/mdk-stage1/dietlibc/syscalls.s/pipe.S deleted file mode 100644 index 03994d055..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/pipe.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(pipe,pipe) diff --git a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S b/mdk-stage1/dietlibc/syscalls.s/pivot_root.S deleted file mode 100644 index 89bc40298..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(pivot_root,pivot_root) diff --git a/mdk-stage1/dietlibc/syscalls.s/poll.S b/mdk-stage1/dietlibc/syscalls.s/poll.S deleted file mode 100644 index 359f55ddd..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/poll.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(poll,poll) diff --git a/mdk-stage1/dietlibc/syscalls.s/prctl.S b/mdk-stage1/dietlibc/syscalls.s/prctl.S deleted file mode 100644 index 654d5ded5..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/prctl.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_prctl -syscall(prctl,prctl) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.S b/mdk-stage1/dietlibc/syscalls.s/ptrace.S deleted file mode 100644 index 8f198f41e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/ptrace.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(ptrace,__diet_ptrace) diff --git a/mdk-stage1/dietlibc/syscalls.s/query_module.S b/mdk-stage1/dietlibc/syscalls.s/query_module.S deleted file mode 100644 index cb2f1d852..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/query_module.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_query_module -syscall(query_module,query_module) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/read.S b/mdk-stage1/dietlibc/syscalls.s/read.S deleted file mode 100644 index 33fdb7531..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/read.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(read,read,__libc_read) diff --git a/mdk-stage1/dietlibc/syscalls.s/readlink.S b/mdk-stage1/dietlibc/syscalls.s/readlink.S deleted file mode 100644 index 850e77c4e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/readlink.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(readlink,readlink) diff --git a/mdk-stage1/dietlibc/syscalls.s/readv.S b/mdk-stage1/dietlibc/syscalls.s/readv.S deleted file mode 100644 index 757c26bfb..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/readv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(readv,readv) diff --git a/mdk-stage1/dietlibc/syscalls.s/rename.S b/mdk-stage1/dietlibc/syscalls.s/rename.S deleted file mode 100644 index f92f1dc5d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rename.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rename,rename) diff --git a/mdk-stage1/dietlibc/syscalls.s/rmdir.S b/mdk-stage1/dietlibc/syscalls.s/rmdir.S deleted file mode 100644 index 341216e8c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rmdir.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rmdir,rmdir) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S deleted file mode 100644 index 2382b23af..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigaction,__rt_sigaction) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S deleted file mode 100644 index 3ad8f6ff3..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigpending,__rt_sigpending) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S deleted file mode 100644 index b4c2aba5a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigprocmask,__rt_sigprocmask) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S deleted file mode 100644 index fbc0b511f..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigqueueinfo,__rt_sigqueueinfo) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S deleted file mode 100644 index 58297409e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigsuspend,__rt_sigsuspend) diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S deleted file mode 100644 index 27cdef474..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(rt_sigtimedwait,__rt_sigtimedwait) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S deleted file mode 100644 index caf403672..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_get_priority_max,sched_get_priority_max) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S deleted file mode 100644 index a0c3337dc..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_get_priority_min,sched_get_priority_min) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S deleted file mode 100644 index 7190a40ae..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_getparam,sched_getparam) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S deleted file mode 100644 index 08709b65e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_getscheduler,sched_getscheduler) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S b/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S deleted file mode 100644 index 150b9a98d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_rr_get_interval,sched_rr_get_interval) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S deleted file mode 100644 index 3a6dd1dcc..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_setparam,sched_setparam) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S deleted file mode 100644 index 27869d6ce..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_setscheduler,sched_setscheduler) diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S b/mdk-stage1/dietlibc/syscalls.s/sched_yield.S deleted file mode 100644 index ccb9ac1d0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sched_yield,sched_yield) diff --git a/mdk-stage1/dietlibc/syscalls.s/select.S b/mdk-stage1/dietlibc/syscalls.s/select.S deleted file mode 100644 index f585d0449..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/select.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(select,select) diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile.S b/mdk-stage1/dietlibc/syscalls.s/sendfile.S deleted file mode 100644 index 4dcb0ef69..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sendfile.S +++ /dev/null @@ -1,6 +0,0 @@ -#include "syscalls.h" -#include "dietwarning.h" - -syscall_weak(sendfile,sendfile,__libc_sendfile) - -link_warning(sendfile,"sendfile is not portable") diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S b/mdk-stage1/dietlibc/syscalls.s/sendfile64.S deleted file mode 100644 index 054ed7177..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S +++ /dev/null @@ -1,8 +0,0 @@ -#include "syscalls.h" -#include "dietwarning.h" - -#ifdef __NR_sendfile64 -syscall_weak(sendfile64,sendfile64,__libc_sendfile64) - -link_warning(sendfile64,"sendfile64 is not portable") -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S b/mdk-stage1/dietlibc/syscalls.s/setdomainname.S deleted file mode 100644 index eaade25da..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setdomainname,setdomainname) diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid.S deleted file mode 100644 index 095f1b2b8..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setfsgid,setfsgid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S deleted file mode 100644 index b671bf90d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setfsgid32 -syscall_weak(setfsgid32,setfsgid32,__libc_setfsgid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid.S deleted file mode 100644 index 7dcd7b432..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setfsuid,setfsuid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S deleted file mode 100644 index df5a0a877..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setfsuid32 -syscall_weak(setfsuid32,setfsuid32,__libc_setfsuid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid.S b/mdk-stage1/dietlibc/syscalls.s/setgid.S deleted file mode 100644 index 69b18a9c9..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setgid,setgid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid32.S b/mdk-stage1/dietlibc/syscalls.s/setgid32.S deleted file mode 100644 index 11be4922a..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setgid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setgid32 -syscall_weak(setgid32,setgid32,__libc_setgid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setgroups.S b/mdk-stage1/dietlibc/syscalls.s/setgroups.S deleted file mode 100644 index ce8e800a6..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setgroups.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setgroups,setgroups) diff --git a/mdk-stage1/dietlibc/syscalls.s/sethostname.S b/mdk-stage1/dietlibc/syscalls.s/sethostname.S deleted file mode 100644 index 7616d4848..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sethostname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sethostname,sethostname) diff --git a/mdk-stage1/dietlibc/syscalls.s/setitimer.S b/mdk-stage1/dietlibc/syscalls.s/setitimer.S deleted file mode 100644 index bcb0623ba..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setitimer.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setitimer,setitimer) diff --git a/mdk-stage1/dietlibc/syscalls.s/setpgid.S b/mdk-stage1/dietlibc/syscalls.s/setpgid.S deleted file mode 100644 index e93db31dc..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setpgid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setpgid,setpgid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setpriority.S b/mdk-stage1/dietlibc/syscalls.s/setpriority.S deleted file mode 100644 index 57d7bc388..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setpriority.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setpriority,setpriority) diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid.S b/mdk-stage1/dietlibc/syscalls.s/setregid.S deleted file mode 100644 index 3a7abbc28..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setregid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setregid,setregid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid32.S b/mdk-stage1/dietlibc/syscalls.s/setregid32.S deleted file mode 100644 index 4565bba17..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setregid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setregid32 -syscall_weak(setregid32,setregid32,__libc_setregid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S deleted file mode 100644 index 2277cbaf4..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S +++ /dev/null @@ -1,7 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setresgid - -syscall(setresgid,setresgid) - -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S b/mdk-stage1/dietlibc/syscalls.s/setresgid32.S deleted file mode 100644 index 209b27f97..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setresgid32 -syscall_weak(setresgid32,setresgid32,__libc_setresgid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S deleted file mode 100644 index cd322b77e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S +++ /dev/null @@ -1,7 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setresuid - -syscall(setresuid,setresuid) - -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid.S b/mdk-stage1/dietlibc/syscalls.s/setreuid.S deleted file mode 100644 index 33ca8deed..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setreuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setreuid,setreuid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S b/mdk-stage1/dietlibc/syscalls.s/setreuid32.S deleted file mode 100644 index 7bb06fa25..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setreuid32 -syscall_weak(setreuid32,setreuid32,__libc_setreuid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S b/mdk-stage1/dietlibc/syscalls.s/setrlimit.S deleted file mode 100644 index 605105658..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setrlimit,setrlimit) diff --git a/mdk-stage1/dietlibc/syscalls.s/setsid.S b/mdk-stage1/dietlibc/syscalls.s/setsid.S deleted file mode 100644 index d1ef1c58e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setsid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setsid,setsid) diff --git a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S b/mdk-stage1/dietlibc/syscalls.s/settimeofday.S deleted file mode 100644 index 4ca626aa4..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(settimeofday,settimeofday) diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid.S b/mdk-stage1/dietlibc/syscalls.s/setuid.S deleted file mode 100644 index d20571cbf..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setuid.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setuid,setuid) diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid32.S b/mdk-stage1/dietlibc/syscalls.s/setuid32.S deleted file mode 100644 index 869603471..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/setuid32.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_setuid32 -syscall_weak(setuid32,setuid32,__libc_setuid32) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S b/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S deleted file mode 100644 index b07d90f40..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(sigaltstack,sigaltstack,__sigaltstack) diff --git a/mdk-stage1/dietlibc/syscalls.s/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S deleted file mode 100644 index b97b37f0c..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_socketcall -syscall(socketcall,socketcall) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/stat.S b/mdk-stage1/dietlibc/syscalls.s/stat.S deleted file mode 100644 index 2aa3bc088..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/stat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(stat,stat) diff --git a/mdk-stage1/dietlibc/syscalls.s/stat64.S b/mdk-stage1/dietlibc/syscalls.s/stat64.S deleted file mode 100644 index 7dc54d955..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/stat64.S +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_stat64 -#ifdef WANT_LARGEFILE_BACKCOMPAT -syscall(stat64,__dietlibc_stat64) -#else -syscall(stat64,stat64) -#endif -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/statfs.S b/mdk-stage1/dietlibc/syscalls.s/statfs.S deleted file mode 100644 index 7560f569d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/statfs.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(statfs,statfs) diff --git a/mdk-stage1/dietlibc/syscalls.s/stime.S b/mdk-stage1/dietlibc/syscalls.s/stime.S deleted file mode 100644 index 281809c27..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/stime.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_stime -syscall(stime,stime) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/swapoff.S b/mdk-stage1/dietlibc/syscalls.s/swapoff.S deleted file mode 100644 index f75ec94e0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/swapoff.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(swapoff,swapoff) diff --git a/mdk-stage1/dietlibc/syscalls.s/swapon.S b/mdk-stage1/dietlibc/syscalls.s/swapon.S deleted file mode 100644 index d10594168..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/swapon.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(swapon,swapon) diff --git a/mdk-stage1/dietlibc/syscalls.s/symlink.S b/mdk-stage1/dietlibc/syscalls.s/symlink.S deleted file mode 100644 index 07a6a7fdc..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/symlink.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(symlink,symlink) diff --git a/mdk-stage1/dietlibc/syscalls.s/sync.S b/mdk-stage1/dietlibc/syscalls.s/sync.S deleted file mode 100644 index 1ee021693..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sync.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sync,sync) diff --git a/mdk-stage1/dietlibc/syscalls.s/sysctl.S b/mdk-stage1/dietlibc/syscalls.s/sysctl.S deleted file mode 100644 index 536e62b3d..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sysctl.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_sysctl -syscall(sysctl,_sysctl) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S b/mdk-stage1/dietlibc/syscalls.s/sysinfo.S deleted file mode 100644 index eaec7941e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sysinfo,sysinfo) diff --git a/mdk-stage1/dietlibc/syscalls.s/syslog.S b/mdk-stage1/dietlibc/syscalls.s/syslog.S deleted file mode 100644 index 4ebd81a39..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/syslog.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(syslog,__syscall_syslog,klogctl) diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S deleted file mode 100644 index aa646cfdf..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/time.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_time -syscall(time,time) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/times.S b/mdk-stage1/dietlibc/syscalls.s/times.S deleted file mode 100644 index dcc8a6dd0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/times.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(times,times) diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate.S b/mdk-stage1/dietlibc/syscalls.s/truncate.S deleted file mode 100644 index 7052bdcee..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/truncate.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(truncate,truncate) diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate64.S b/mdk-stage1/dietlibc/syscalls.s/truncate64.S deleted file mode 100644 index 0e375728e..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/truncate64.S +++ /dev/null @@ -1,10 +0,0 @@ -#include "dietfeatures.h" -#include "syscalls.h" - -#ifdef __NR_truncate64 -#ifdef WANT_LARGEFILE_BACKCOMPAT -syscall(truncate64,__dietlibc_truncate64) -#else -syscall(truncate64,truncate64) -#endif -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/umask.S b/mdk-stage1/dietlibc/syscalls.s/umask.S deleted file mode 100644 index 9f8ffeda6..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/umask.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(umask,umask) diff --git a/mdk-stage1/dietlibc/syscalls.s/umount.S b/mdk-stage1/dietlibc/syscalls.s/umount.S deleted file mode 100644 index 4a423d964..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/umount.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(umount,umount) diff --git a/mdk-stage1/dietlibc/syscalls.s/umount2.S b/mdk-stage1/dietlibc/syscalls.s/umount2.S deleted file mode 100644 index b27b353ed..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/umount2.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_umount2 -syscall(umount2,umount2) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/uname.S b/mdk-stage1/dietlibc/syscalls.s/uname.S deleted file mode 100644 index a460d2aa6..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/uname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(uname,uname) diff --git a/mdk-stage1/dietlibc/syscalls.s/unlink.S b/mdk-stage1/dietlibc/syscalls.s/unlink.S deleted file mode 100644 index bd6713061..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/unlink.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(unlink,unlink) diff --git a/mdk-stage1/dietlibc/syscalls.s/utime.S b/mdk-stage1/dietlibc/syscalls.s/utime.S deleted file mode 100644 index 08cd22158..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/utime.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(utime,utime) diff --git a/mdk-stage1/dietlibc/syscalls.s/vhangup.S b/mdk-stage1/dietlibc/syscalls.s/vhangup.S deleted file mode 100644 index 6e2d1d343..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/vhangup.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(vhangup,vhangup) diff --git a/mdk-stage1/dietlibc/syscalls.s/wait4.S b/mdk-stage1/dietlibc/syscalls.s/wait4.S deleted file mode 100644 index ca6773569..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/wait4.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(wait4,wait4) diff --git a/mdk-stage1/dietlibc/syscalls.s/waitpid.S b/mdk-stage1/dietlibc/syscalls.s/waitpid.S deleted file mode 100644 index bedc73eb6..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S +++ /dev/null @@ -1,5 +0,0 @@ -#include "syscalls.h" - -#ifdef __NR_waitpid -syscall_weak(waitpid,waitpid,__libc_waitpid) -#endif diff --git a/mdk-stage1/dietlibc/syscalls.s/write.S b/mdk-stage1/dietlibc/syscalls.s/write.S deleted file mode 100644 index ba20395df..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/write.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall_weak(write,write,__libc_write) diff --git a/mdk-stage1/dietlibc/syscalls.s/writev.S b/mdk-stage1/dietlibc/syscalls.s/writev.S deleted file mode 100644 index 8ec7aa6b0..000000000 --- a/mdk-stage1/dietlibc/syscalls.s/writev.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(writev,writev) diff --git a/mdk-stage1/dietlibc/threadsafe.sh b/mdk-stage1/dietlibc/threadsafe.sh deleted file mode 100755 index 67f6f6338..000000000 --- a/mdk-stage1/dietlibc/threadsafe.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -(gcc -E - << EOF | grep -q WANT_THREAD_SAFE) || echo libpthread/pthread_*.c -#include "dietfeatures.h" -WANT_THREAD_SAFE -EOF diff --git a/mdk-stage1/dietlibc/x86_64/Makefile.add b/mdk-stage1/dietlibc/x86_64/Makefile.add deleted file mode 100644 index 7d60185a7..000000000 --- a/mdk-stage1/dietlibc/x86_64/Makefile.add +++ /dev/null @@ -1,2 +0,0 @@ -CFLAGS := -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387 -VPATH  := x86_64:syscalls.s:$(VPATH) diff --git a/mdk-stage1/dietlibc/x86_64/__longjmp.S b/mdk-stage1/dietlibc/x86_64/__longjmp.S deleted file mode 100644 index 43ec0539f..000000000 --- a/mdk-stage1/dietlibc/x86_64/__longjmp.S +++ /dev/null @@ -1,26 +0,0 @@ -#include <setjmp.h> -#include "dietwarning.h" - -.text -.global __longjmp -.type __longjmp,@function -__longjmp: -	mov	$1,%eax -	/* Restore the return address now.  */ -	movq	 (JB_PC*8)(%rdi),%rdx -	/* Restore registers. */ -	movq	(JB_RBX*8)(%rdi),%rbx -	movq	(JB_RBP*8)(%rdi),%rbp -	movq	(JB_R12*8)(%rdi),%r12 -	movq	(JB_R13*8)(%rdi),%r13 -	movq	(JB_R14*8)(%rdi),%r14 -	movq	(JB_R15*8)(%rdi),%r15 -	movq	(JB_RSP*8)(%rdi),%rsp -	/* never return 0 */ -	test	%esi,%esi -	cmovne	%esi,%eax -	/* Jump to saved PC.  */ -	jmp	*%rdx -.size __longjmp,.-__longjmp; - -link_warning("__longjmp","longjmp() not yet tested") diff --git a/mdk-stage1/dietlibc/x86_64/__testandset.S b/mdk-stage1/dietlibc/x86_64/__testandset.S deleted file mode 100644 index 7355477e6..000000000 --- a/mdk-stage1/dietlibc/x86_64/__testandset.S +++ /dev/null @@ -1,12 +0,0 @@ -#include "dietwarning.h" - -.text -.global __testandset -.type	__testandset,@function -__testandset: -	xorl	%eax,%eax -	incl	%eax -	xchg	%rax,(%rdi) -	ret - -link_warning("__testandset", "warning: __testandset() was never tested!") diff --git a/mdk-stage1/dietlibc/x86_64/accept.S b/mdk-stage1/dietlibc/x86_64/accept.S deleted file mode 100644 index 7bdc38c7e..000000000 --- a/mdk-stage1/dietlibc/x86_64/accept.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(accept, accept); diff --git a/mdk-stage1/dietlibc/x86_64/bind.S b/mdk-stage1/dietlibc/x86_64/bind.S deleted file mode 100644 index 05849d470..000000000 --- a/mdk-stage1/dietlibc/x86_64/bind.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(bind, bind); diff --git a/mdk-stage1/dietlibc/x86_64/clone.S b/mdk-stage1/dietlibc/x86_64/clone.S deleted file mode 100644 index 82c8c5bae..000000000 --- a/mdk-stage1/dietlibc/x86_64/clone.S +++ /dev/null @@ -1,64 +0,0 @@ -#include "syscalls.h" -#include <errno.h> -#include "dietwarning.h" - -.text -.type clone,@function -.weak clone -clone: -.type __clone,@function -.global __clone -__clone: -	movl	$-EINVAL,%eax -	testq	%rdi,%rdi	/* have non null thread_funcion */ -	jz	.Lclone_error -	testq	%rsi,%rsi	/* have non null child_stack pointer */ -	jz	.Lclone_error - -	/* put the parameters on thread stack */ -	subq	$16,%rsi -	movq	%rcx,8(%rsi)	/* thread parameter */ -	movq	%rdi,0(%rsi)	/* thread function */ - -	/* syscall */ -	movq	%rdx,%rdi -	movl	$__NR_clone,%eax -	syscall -	cmpl	$0,%eax -	jl	.Lclone_error -	jne	.Lreturn - -.thread_start: -	/* call thread function */ -	popq	%rax -	popq	%rdi -	call	*%rax -	/* exit a thread */ -	movq	%rax,%rdi -#ifdef PIC -	jmp	_exit@PLT -#else -	jmp	_exit -#endif - -.Lclone_error: -	/* set errno */ -	negl	%eax -	pushq	%rax -#ifdef PIC -	call	__errno_location@PLT -#else -	call	__errno_location -#endif -	popq	%rcx -	movl	%ecx,(%rax) -	orq	$-1, %rax - -.Lreturn: -	/* just return */ -	ret - -link_warning("clone", "warning: clone() not yet tested") -link_warning("__clone", "warning: clone() not yet tested") -//link_warning("clone", "warning: clone() not yet implemented") -//link_warning("__clone", "warning: clone() not yet implemented") diff --git a/mdk-stage1/dietlibc/x86_64/connect.S b/mdk-stage1/dietlibc/x86_64/connect.S deleted file mode 100644 index 5fbd151ae..000000000 --- a/mdk-stage1/dietlibc/x86_64/connect.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(connect, connect); diff --git a/mdk-stage1/dietlibc/x86_64/getpeername.S b/mdk-stage1/dietlibc/x86_64/getpeername.S deleted file mode 100644 index fdaa1038a..000000000 --- a/mdk-stage1/dietlibc/x86_64/getpeername.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getpeername, getpeername); diff --git a/mdk-stage1/dietlibc/x86_64/getsockname.S b/mdk-stage1/dietlibc/x86_64/getsockname.S deleted file mode 100644 index 1ea0bc000..000000000 --- a/mdk-stage1/dietlibc/x86_64/getsockname.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockname, getsockname); diff --git a/mdk-stage1/dietlibc/x86_64/getsockopt.S b/mdk-stage1/dietlibc/x86_64/getsockopt.S deleted file mode 100644 index 465c4e08e..000000000 --- a/mdk-stage1/dietlibc/x86_64/getsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(getsockopt, getsockopt); diff --git a/mdk-stage1/dietlibc/x86_64/listen.S b/mdk-stage1/dietlibc/x86_64/listen.S deleted file mode 100644 index 66a3fe376..000000000 --- a/mdk-stage1/dietlibc/x86_64/listen.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(listen, listen); diff --git a/mdk-stage1/dietlibc/x86_64/mmap.S b/mdk-stage1/dietlibc/x86_64/mmap.S deleted file mode 100644 index 764d5fd96..000000000 --- a/mdk-stage1/dietlibc/x86_64/mmap.S +++ /dev/null @@ -1,8 +0,0 @@ -#include "syscalls.h" - -.text -.global mmap -.type	mmap,@function -mmap: -	mov	$__NR_mmap,%al -	jmp	__unified_syscall diff --git a/mdk-stage1/dietlibc/x86_64/msgctl.S b/mdk-stage1/dietlibc/x86_64/msgctl.S deleted file mode 100644 index d7caed2cc..000000000 --- a/mdk-stage1/dietlibc/x86_64/msgctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgctl,msgctl) diff --git a/mdk-stage1/dietlibc/x86_64/msgget.S b/mdk-stage1/dietlibc/x86_64/msgget.S deleted file mode 100644 index 518d67ac4..000000000 --- a/mdk-stage1/dietlibc/x86_64/msgget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgget,msgget) diff --git a/mdk-stage1/dietlibc/x86_64/msgrcv.S b/mdk-stage1/dietlibc/x86_64/msgrcv.S deleted file mode 100644 index ab62e6c30..000000000 --- a/mdk-stage1/dietlibc/x86_64/msgrcv.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgrcv,msgrcv) diff --git a/mdk-stage1/dietlibc/x86_64/msgsnd.S b/mdk-stage1/dietlibc/x86_64/msgsnd.S deleted file mode 100644 index 890a996a2..000000000 --- a/mdk-stage1/dietlibc/x86_64/msgsnd.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(msgsnd,msgsnd) diff --git a/mdk-stage1/dietlibc/x86_64/recv.c b/mdk-stage1/dietlibc/x86_64/recv.c deleted file mode 100644 index 3b76c0716..000000000 --- a/mdk-stage1/dietlibc/x86_64/recv.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <sys/socket.h> -#include <linuxnet.h> - -int __libc_recv(int fd, void * buf, size_t n, int flags); -  /* shut up gcc warning about missing prototype */ - -int __libc_recv(int fd, void * buf, size_t n, int flags) { -  return recvfrom(fd, buf, n, flags, 0, 0); -} - -int recv(int a, void * b, size_t c, int flags) -  __attribute__ ((weak, alias("__libc_recv"))); diff --git a/mdk-stage1/dietlibc/x86_64/recvfrom.S b/mdk-stage1/dietlibc/x86_64/recvfrom.S deleted file mode 100644 index d3c2e602f..000000000 --- a/mdk-stage1/dietlibc/x86_64/recvfrom.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recvfrom, recvfrom); diff --git a/mdk-stage1/dietlibc/x86_64/recvmsg.S b/mdk-stage1/dietlibc/x86_64/recvmsg.S deleted file mode 100644 index cfbbafdc1..000000000 --- a/mdk-stage1/dietlibc/x86_64/recvmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(recvmsg, recvmsg); diff --git a/mdk-stage1/dietlibc/x86_64/semctl.S b/mdk-stage1/dietlibc/x86_64/semctl.S deleted file mode 100644 index e215ed955..000000000 --- a/mdk-stage1/dietlibc/x86_64/semctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semctl,semctl) diff --git a/mdk-stage1/dietlibc/x86_64/semget.S b/mdk-stage1/dietlibc/x86_64/semget.S deleted file mode 100644 index 67f488546..000000000 --- a/mdk-stage1/dietlibc/x86_64/semget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semget,semget) diff --git a/mdk-stage1/dietlibc/x86_64/semop.S b/mdk-stage1/dietlibc/x86_64/semop.S deleted file mode 100644 index 81b6fc606..000000000 --- a/mdk-stage1/dietlibc/x86_64/semop.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(semop,semop) diff --git a/mdk-stage1/dietlibc/x86_64/send.c b/mdk-stage1/dietlibc/x86_64/send.c deleted file mode 100644 index bdeb1d31f..000000000 --- a/mdk-stage1/dietlibc/x86_64/send.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <sys/types.h> -#include <sys/socket.h> -#include <linuxnet.h> - -int __libc_send(int fd, const void * buf, size_t n, int flags); -  /* shut up gcc warning about missing prototype */ - -int __libc_send(int fd, const void * buf, size_t n, int flags) { -  return sendto(fd, buf, n, flags, NULL, 0); -} - -int send(int a, const void * b, size_t c, int flags) -  __attribute__ ((weak, alias("__libc_send"))); diff --git a/mdk-stage1/dietlibc/x86_64/sendmsg.S b/mdk-stage1/dietlibc/x86_64/sendmsg.S deleted file mode 100644 index c2bc80f72..000000000 --- a/mdk-stage1/dietlibc/x86_64/sendmsg.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sendmsg, sendmsg); diff --git a/mdk-stage1/dietlibc/x86_64/sendto.S b/mdk-stage1/dietlibc/x86_64/sendto.S deleted file mode 100644 index 1579a3b45..000000000 --- a/mdk-stage1/dietlibc/x86_64/sendto.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(sendto, sendto); diff --git a/mdk-stage1/dietlibc/x86_64/setjmp.S b/mdk-stage1/dietlibc/x86_64/setjmp.S deleted file mode 100644 index 3d1ec11f0..000000000 --- a/mdk-stage1/dietlibc/x86_64/setjmp.S +++ /dev/null @@ -1,37 +0,0 @@ -#include <setjmp.h> -#include "dietwarning.h" - -.text -.weak setjmp -.type setjmp,@function -setjmp: -.globl __setjmp -.type __setjmp,@function -__setjmp: -	xorq	%rsi,%rsi - -.globl __sigsetjmp -.type __sigsetjmp,@function -__sigsetjmp: -	movq	%rbx,(JB_RBX*8)(%rdi) -	movq	%rbp,(JB_RBP*8)(%rdi) -	movq	%r12,(JB_R12*8)(%rdi) -	movq	%r13,(JB_R13*8)(%rdi) -	movq	%r14,(JB_R14*8)(%rdi) -	movq	%r15,(JB_R15*8)(%rdi) -	leaq	8(%rsp),%rdx -	movq	%rdx,(JB_RSP*8)(%rdi) -	movq	(%rsp),%rdx -	movq	%rdx,(JB_PC*8)(%rdi) -#ifdef	PIC -	jmp	__sigjmp_save@PLT -#else -	jmp	__sigjmp_save -#endif -.size __sigsetjmp,.-__sigsetjmp; - -link_warning("setjmp","setjmp() not yet tested") -link_warning("__sigsetjmp","setjmp() not yet tested") -//link_warning("setjmp","error: setjmp() not yet implemented") -//link_warning("__sigsetjmp","error: setjmp() not yet implemented") - diff --git a/mdk-stage1/dietlibc/x86_64/setsockopt.S b/mdk-stage1/dietlibc/x86_64/setsockopt.S deleted file mode 100644 index 45fcfbb6c..000000000 --- a/mdk-stage1/dietlibc/x86_64/setsockopt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(setsockopt, setsockopt); diff --git a/mdk-stage1/dietlibc/x86_64/shmat.S b/mdk-stage1/dietlibc/x86_64/shmat.S deleted file mode 100644 index 51248173d..000000000 --- a/mdk-stage1/dietlibc/x86_64/shmat.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmat,shmat) diff --git a/mdk-stage1/dietlibc/x86_64/shmctl.S b/mdk-stage1/dietlibc/x86_64/shmctl.S deleted file mode 100644 index d56caace4..000000000 --- a/mdk-stage1/dietlibc/x86_64/shmctl.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmctl,shmctl) diff --git a/mdk-stage1/dietlibc/x86_64/shmdt.S b/mdk-stage1/dietlibc/x86_64/shmdt.S deleted file mode 100644 index d9812a799..000000000 --- a/mdk-stage1/dietlibc/x86_64/shmdt.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmdt,shmdt) diff --git a/mdk-stage1/dietlibc/x86_64/shmget.S b/mdk-stage1/dietlibc/x86_64/shmget.S deleted file mode 100644 index 82914223f..000000000 --- a/mdk-stage1/dietlibc/x86_64/shmget.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shmget,shmget) diff --git a/mdk-stage1/dietlibc/x86_64/shutdown.S b/mdk-stage1/dietlibc/x86_64/shutdown.S deleted file mode 100644 index 024e99e18..000000000 --- a/mdk-stage1/dietlibc/x86_64/shutdown.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(shutdown, shutdown); diff --git a/mdk-stage1/dietlibc/x86_64/sigaction.c b/mdk-stage1/dietlibc/x86_64/sigaction.c deleted file mode 100644 index 18f32efde..000000000 --- a/mdk-stage1/dietlibc/x86_64/sigaction.c +++ /dev/null @@ -1,26 +0,0 @@ -#include <signal.h> -#include <stdlib.h> -#include <string.h> -#include <syscalls.h> - -int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr); - -static void restore_rt(void) { -  asm volatile ("syscall" : : "a" (__NR_rt_sigreturn)); -} - -int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); -int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) { -  struct sigaction *newact = (struct sigaction *)act; -  if (act) { -	newact = alloca(sizeof(*newact)); -	newact->sa_handler = act->sa_handler; -	newact->sa_flags = act->sa_flags | SA_RESTORER; -	newact->sa_restorer = &restore_rt; -	newact->sa_mask = act->sa_mask; -  } -  return __rt_sigaction(signum, newact, oldact, _NSIG/8); -} - -int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) -__attribute__((weak,alias("__libc_sigaction"))); diff --git a/mdk-stage1/dietlibc/x86_64/socket.S b/mdk-stage1/dietlibc/x86_64/socket.S deleted file mode 100644 index cc453881f..000000000 --- a/mdk-stage1/dietlibc/x86_64/socket.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socket, socket); diff --git a/mdk-stage1/dietlibc/x86_64/socketpair.S b/mdk-stage1/dietlibc/x86_64/socketpair.S deleted file mode 100644 index d92eaa4d8..000000000 --- a/mdk-stage1/dietlibc/x86_64/socketpair.S +++ /dev/null @@ -1,3 +0,0 @@ -#include "syscalls.h" - -syscall(socketpair, socketpair); diff --git a/mdk-stage1/dietlibc/x86_64/start.S b/mdk-stage1/dietlibc/x86_64/start.S deleted file mode 100644 index 5e8356350..000000000 --- a/mdk-stage1/dietlibc/x86_64/start.S +++ /dev/null @@ -1,55 +0,0 @@ -#include "dietfeatures.h" - -.text -.global _start -_start: -#ifdef WANT_DYNAMIC -	movq	%rdx, %rcx		/* %rcx = dynamic fini */ -#endif -	popq	%rdi			/* %rdi = argc */ -	movq	%rsp,%rsi		/* %rsi = argv */ -	pushq	%rdi -	 -	leaq	8(%rsi,%rdi,8),%rdx	/* %rdx = envp = (8*rdi)+%rsi+8 */ - -#ifdef __DYN_LIB -	movq	environ@GOTPCREL(%rip), %rax -	movq	%rdx, (%rax) -#else -	movq	%rdx, environ(%rip) -#endif - -#ifdef PROFILING -	pushq	%rdi			/* save reg args */ -	pushq	%rsi -	pushq	%rdx -	pushq	%rcx - -	leaq	_etext(%rip), %rsi	/* highpc */ -	leaq	 .text(%rip), %rdi	/* lowpc */ -	call	monitor - -	popq	%rcx			/* restore reg args */ -	popq	%rdx -	popq	%rsi -	popq	%rdi -#endif - -#ifdef WANT_DYNAMIC -	call	_dyn_start -#else -	call	main -#endif - -#ifdef PROFILING -	pushq	%rax -	call	_stop_monitor -	popq	%rdi -#else -	movq	%rax, %rdi	/* return value */ -#endif -	call	exit -	hlt -.Lstart: -	.size	 _start,.Lstart-_start - diff --git a/mdk-stage1/dietlibc/x86_64/syscalls.h b/mdk-stage1/dietlibc/x86_64/syscalls.h deleted file mode 100644 index 6fcfbfc60..000000000 --- a/mdk-stage1/dietlibc/x86_64/syscalls.h +++ /dev/null @@ -1,282 +0,0 @@ -#define __NR_read                                0 -#define __NR_write                               1 -#define __NR_open                                2 -#define __NR_close                               3 -#define __NR_stat                                4 -#define __NR_fstat                               5 -#define __NR_lstat                               6 -#define __NR_poll                                7 - -#define __NR_lseek                               8 -#define __NR_mmap                                9 -#define __NR_mprotect                           10 -#define __NR_munmap                             11 -#define __NR_brk                                12 -#define __NR_rt_sigaction                       13 -#define __NR_rt_sigprocmask                     14 -#define __NR_rt_sigreturn                       15 - -#define __NR_ioctl                              16 -#define __NR_pread                              17 -#define __NR_pwrite                             18 -#define __NR_readv                              19 -#define __NR_writev                             20 -#define __NR_access                             21 -#define __NR_pipe                               22 -#define __NR_select                             23 - -#define __NR_sched_yield                        24 -#define __NR_mremap                             25 -#define __NR_msync                              26 -#define __NR_mincore                            27 -#define __NR_madvise                            28 -#define __NR_shmget                             29 -#define __NR_shmat                              30 -#define __NR_shmctl                             31 - -#define __NR_dup                                32 -#define __NR_dup2                               33 -#define __NR_pause                              34 -#define __NR_nanosleep                          35 -#define __NR_getitimer                          36 -#define __NR_alarm                              37 -#define __NR_setitimer                          38 -#define __NR_getpid                             39 - -#define __NR_sendfile                           40 -#define __NR_socket                             41 -#define __NR_connect                            42 -#define __NR_accept                             43 -#define __NR_sendto                             44 -#define __NR_recvfrom                           45 -#define __NR_sendmsg                            46 -#define __NR_recvmsg                            47 - -#define __NR_shutdown                           48 -#define __NR_bind                               49 -#define __NR_listen                             50 -#define __NR_getsockname                        51 -#define __NR_getpeername                        52 -#define __NR_socketpair                         53 -#define __NR_setsockopt                         54 -#define __NR_getsockopt                         55 - -#define __NR_clone                              56 -#define __NR_fork                               57 -#define __NR_vfork                              58 -#define __NR_execve                             59 -#define __NR_exit                               60 -#define __NR_wait4                              61 -#define __NR_kill                               62 -#define __NR_uname                              63 - -#define __NR_semget                             64 -#define __NR_semop                              65 -#define __NR_semctl                             66 -#define __NR_shmdt                              67 -#define __NR_msgget                             68 -#define __NR_msgsnd                             69 -#define __NR_msgrcv                             70 -#define __NR_msgctl                             71 - -#define __NR_fcntl                              72 -#define __NR_flock                              73 -#define __NR_fsync                              74 -#define __NR_fdatasync                          75 -#define __NR_truncate                           76 -#define __NR_ftruncate                          77 -#define __NR_getdents                           78 -#define __NR_getcwd                             79 - -#define __NR_chdir                              80 -#define __NR_fchdir                             81 -#define __NR_rename                             82 -#define __NR_mkdir                              83 -#define __NR_rmdir                              84 -#define __NR_creat                              85 -#define __NR_link                               86 -#define __NR_unlink                             87 - -#define __NR_symlink                            88 -#define __NR_readlink                           89 -#define __NR_chmod                              90 -#define __NR_fchmod                             91 -#define __NR_chown                              92 -#define __NR_fchown                             93 -#define __NR_lchown                             94 -#define __NR_umask                              95 - -#define __NR_gettimeofday                       96 -#define __NR_getrlimit                          97 -#define __NR_getrusage                          98 -#define __NR_sysinfo                            99 -#define __NR_times                             100 -#define __NR_ptrace                            101 -#define __NR_getuid                            102 -#define __NR_syslog                            103 - -/* at the very end the stuff that never runs during the benchmarks */ -#define __NR_getgid                            104 -#define __NR_setuid                            105 -#define __NR_setgid                            106 -#define __NR_geteuid                           107 -#define __NR_getegid                           108 -#define __NR_setpgid                           109 -#define __NR_getppid                           110 -#define __NR_getpgrp                           111 - -#define __NR_setsid                            112 -#define __NR_setreuid                          113 -#define __NR_setregid                          114 -#define __NR_getgroups                         115 -#define __NR_setgroups                         116 -#define __NR_setresuid                         117 -#define __NR_getresuid                         118 -#define __NR_setresgid                         119 - -#define __NR_getresgid                         120 -#define __NR_getpgid                           121 -#define __NR_setfsuid                          122 -#define __NR_setfsgid                          123 -#define __NR_getsid                            124 -#define __NR_capget                            125 -#define __NR_capset                            126 - -#define __NR_rt_sigpending                     127 -#define __NR_rt_sigtimedwait                   128 -#define __NR_rt_sigqueueinfo                   129 -#define __NR_rt_sigsuspend                     130 -#define __NR_sigaltstack                       131 -#define __NR_utime                             132 -#define __NR_mknod                             133 - -#define __NR_uselib                            134 -#define __NR_personality                       135 - -#define __NR_ustat                             136 -#define __NR_statfs                            137 -#define __NR_fstatfs                           138 -#define __NR_sysfs                             139 - -#define __NR_getpriority                       140 -#define __NR_setpriority                       141 -#define __NR_sched_setparam                    142 -#define __NR_sched_getparam                    143 -#define __NR_sched_setscheduler                144 -#define __NR_sched_getscheduler                145 -#define __NR_sched_get_priority_max            146 -#define __NR_sched_get_priority_min            147 -#define __NR_sched_rr_get_interval             148 - -#define __NR_mlock                             149 -#define __NR_munlock                           150 -#define __NR_mlockall                          151 -#define __NR_munlockall                        152 - -#define __NR_vhangup                           153 - -#define __NR_modify_ldt                        154 - -#define __NR_pivot_root                        155 - -#define __NR__sysctl                           156 - -#define __NR_prctl                             157 -#define __NR_arch_prctl                        158 - -#define __NR_adjtimex                          159 - -#define __NR_setrlimit                         160 - -#define __NR_chroot                            161 - -#define __NR_sync                              162 - -#define __NR_acct                              163 - -#define __NR_settimeofday                      164 - -#define __NR_mount                             165 -#define __NR_umount2                           166 - -#define __NR_swapon                            167 -#define __NR_swapoff                           168 - -#define __NR_reboot                            169 - -#define __NR_sethostname                       170 -#define __NR_setdomainname                     171 - -#define __NR_iopl                              172 -#define __NR_ioperm                            173 - -#define __NR_create_module                     174 -#define __NR_init_module                       175 -#define __NR_delete_module                     176 -#define __NR_get_kernel_syms                   177 -#define __NR_query_module                      178 - -#define __NR_quotactl                          179 - -#define __NR_nfsservctl                        180 - -#define __NR_getpmsg                           181 -#define __NR_putpmsg                           182 - -#define __NR_afs_syscall                       183 - -#define __NR_tuxcall      		184 /* reserved for tux */ - -#define __NR_security			185 /* reserved for security */ - -#define __NR_gettid		186 - -#define __NR_readahead		187 - -#define __NR_setxattr		188 -#define __NR_lsetxattr		189 -#define __NR_fsetxattr		190 -#define __NR_getxattr		191 -#define __NR_lgetxattr		192 -#define __NR_fgetxattr		193 -#define __NR_listxattr		194 -#define __NR_llistxattr		195 -#define __NR_flistxattr		196 -#define __NR_removexattr	197 -#define __NR_lremovexattr	198 -#define __NR_fremovexattr	199 -#define __NR_tkill	200	/* 2.5 only */ -#define __NR_time		201 -#define __NR_futex		202 /* 2.5 only */ -#define __NR_sched_setaffinity    203 -#define __NR_sched_getaffinity     204 -#define __NR_set_thread_area	205 -#define __NR_io_setup	206 -#define __NR_io_destroy	207 -#define __NR_io_getevents	208 -#define __NR_io_submit	209 -#define __NR_io_cancel	210 -#define __NR_get_thread_area	211 -#define __NR_lookup_dcookie	212 - -#define __NR_syscall_max __NR_futex - -#define syscall_weak(name,wsym,sym) \ -.text; \ -.type wsym,@function; \ -.weak wsym; \ -wsym: ; \ -.type sym,@function; \ -.global sym; \ -sym: \ -	mov	$__NR_##name,%al; \ -	jmp	__unified_syscall - -#define syscall(name,sym) \ -.text; \ -.type sym,@function; \ -.global sym; \ -sym: \ -	mov	$__NR_##name,%al; \ -	jmp	__unified_syscall - diff --git a/mdk-stage1/dietlibc/x86_64/umount.S b/mdk-stage1/dietlibc/x86_64/umount.S deleted file mode 100644 index 2b51b8edf..000000000 --- a/mdk-stage1/dietlibc/x86_64/umount.S +++ /dev/null @@ -1,9 +0,0 @@ -#include "syscalls.h" - -.text -.global umount -.type   umount,@function -umount: -        mov     $__NR_umount2,%al -        xorq    %rsi,%rsi -        jmp     __unified_syscall diff --git a/mdk-stage1/dietlibc/x86_64/unified.S b/mdk-stage1/dietlibc/x86_64/unified.S deleted file mode 100644 index 48bb9a4fa..000000000 --- a/mdk-stage1/dietlibc/x86_64/unified.S +++ /dev/null @@ -1,32 +0,0 @@ -#include <dietfeatures.h> - -#define SYS_exit 0x3c - -.text -.weak exit -exit: -.global _exit -_exit: -	mov	$SYS_exit,%al - -#ifndef __DYN_LIB -.global __unified_syscall -#endif -__unified_syscall: -	movzbl	%al, %eax -	mov	%rcx, %r10 -	syscall -	cmpq	$-128, %rax -	jbe	.Lnoerror -	negl	%eax -	pushq	%rax -	call	__errno_location -	popq	%rcx -	movl	%ecx,(%rax) -	orq	$-1, %rax -.Lnoerror: - -/* here we go and "reuse" the return for weak-void functions */ -#include "dietuglyweaks.h" - -	ret diff --git a/mdk-stage1/dietlibc/x86_64/waitpid.S b/mdk-stage1/dietlibc/x86_64/waitpid.S deleted file mode 100644 index 944df48bf..000000000 --- a/mdk-stage1/dietlibc/x86_64/waitpid.S +++ /dev/null @@ -1,12 +0,0 @@ -#include "syscalls.h" - -.text -.type	waitpid,@function -.weak	waitpid -waitpid: -.type	__libc_waitpid,@function -.global __libc_waitpid -__libc_waitpid: -	mov	$0,%rcx -	mov	$__NR_wait4,%al -	jmp	__unified_syscall  | 
