 3c9575aadc
			
		
	
	
		3c9575aadc
		
	
	
	
	
		
			
			This patch add the proper .if/.else/.endif to the Makefiles, add places I forgot #ifdef __minix and remove newlines.
		
			
				
	
	
		
			2063 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			2063 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff -ru /home/netbsd/src/lib/libc/Makefile ./Makefile
 | |
| --- /home/netbsd/src/lib/libc/Makefile	2010-09-05 03:00:50.000000000 +0000
 | |
| +++ ./Makefile	2011-02-15 09:23:55.000000000 +0000
 | |
| @@ -17,6 +17,9 @@
 | |
|  # The Hesiod functions are always in libc. To choose that getpwent() and friends
 | |
|  # actually call the Hesiod functions, put -DHESIOD on the CPPFLAGS line below.
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +.include "minix-config.inc"
 | |
| +.endif
 | |
|  .include "Makefile.inc"
 | |
|  
 | |
|  LIB=		c
 | |
| @@ -41,6 +44,7 @@
 | |
|  	mv -f assym.h.tmp assym.h
 | |
|  .endif
 | |
|  
 | |
| +.if !defined(__MINIX)
 | |
|  # The following controls how to build compatibility code for old NetBSD
 | |
|  # binaries. If BUILDCOLD is yes, then we build a separate library; otherwise
 | |
|  # we include the code in libc.
 | |
| @@ -52,6 +56,9 @@
 | |
|  COMPATDIR=${.CURDIR}/compat
 | |
|  .include "${.CURDIR}/compat/Makefile.inc"
 | |
|  .endif
 | |
| +.else
 | |
| +BUILDCOLD= no
 | |
| +.endif
 | |
|  
 | |
|  .include "${.CURDIR}/../../common/lib/libc/Makefile.inc"
 | |
|  .include "${.CURDIR}/atomic/Makefile.inc"
 | |
| @@ -61,10 +68,16 @@
 | |
|  .include "${.CURDIR}/citrus/Makefile.inc"
 | |
|  .endif
 | |
|  .include "${.CURDIR}/compat-43/Makefile.inc"
 | |
| +.ifndef(__MINIX)
 | |
|  .include "${.CURDIR}/dlfcn/Makefile.inc"
 | |
| +.endif
 | |
|  .include "${.CURDIR}/gdtoa/Makefile.inc"
 | |
|  .include "${.CURDIR}/gen/Makefile.inc"
 | |
| +.if defined(__MINIX)
 | |
| +# gmon needs profil()
 | |
| +.else
 | |
|  .include "${.CURDIR}/gmon/Makefile.inc"
 | |
| +.endif
 | |
|  .include "${.CURDIR}/hash/Makefile.inc"
 | |
|  .include "${.CURDIR}/iconv/Makefile.inc"
 | |
|  .include "${.CURDIR}/inet/Makefile.inc"
 | |
| @@ -84,7 +97,11 @@
 | |
|  .include "${.CURDIR}/regex/Makefile.inc"
 | |
|  .endif
 | |
|  .include "${.CURDIR}/resolv/Makefile.inc"
 | |
| +.if defined(__MINIX)
 | |
| +# RPC needs pollts() and a reserved port allocator.
 | |
| +.else
 | |
|  .include "${.CURDIR}/rpc/Makefile.inc"
 | |
| +.endif
 | |
|  .include "${.CURDIR}/ssp/Makefile.inc"
 | |
|  .include "${.CURDIR}/stdio/Makefile.inc"
 | |
|  .include "${.CURDIR}/stdlib/Makefile.inc"
 | |
| @@ -92,7 +109,11 @@
 | |
|  .include "${.CURDIR}/termios/Makefile.inc"
 | |
|  .include "${.CURDIR}/thread-stub/Makefile.inc"
 | |
|  .include "${.CURDIR}/time/Makefile.inc"
 | |
| +.if defined(__MINIX)
 | |
| +.include "${.CURDIR}/sys-minix/Makefile.inc"
 | |
| +.else
 | |
|  .include "${.CURDIR}/sys/Makefile.inc"
 | |
| +.endif
 | |
|  .include "${.CURDIR}/uuid/Makefile.inc"
 | |
|  .if (${MKYP} != "no")
 | |
|  .include "${.CURDIR}/yp/Makefile.inc"
 | |
| diff -ru /home/netbsd/src/lib/libc/Makefile.inc ./Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/Makefile.inc	2010-05-31 03:02:07.000000000 +0000
 | |
| +++ ./Makefile.inc	2011-02-15 09:14:25.000000000 +0000
 | |
| @@ -19,14 +19,22 @@
 | |
|  
 | |
|  USE_FORT?=	yes
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +USE_SHLIBDIR= no
 | |
| +.else
 | |
|  USE_SHLIBDIR=	yes
 | |
| +.endif
 | |
|  
 | |
|  CITRUS?=	yes
 | |
|  
 | |
|  .include <bsd.own.mk>
 | |
|  
 | |
|  WARNS=4
 | |
| +.if defined(__MINIX)
 | |
| +CPPFLAGS+=	-D_LIBC -DLIBC_SCSS -DSYSLIBC_SCSS
 | |
| +.else
 | |
|  CPPFLAGS+=	-D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT
 | |
| +.endif
 | |
|  
 | |
|  .if (${USE_HESIOD} != "no")
 | |
|  CPPFLAGS+=	-DHESIOD
 | |
| diff -ru /home/netbsd/src/lib/libc/arch/i386/Makefile.inc ./arch/i386/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/arch/i386/Makefile.inc	2006-06-17 18:04:23.000000000 +0000
 | |
| +++ ./arch/i386/Makefile.inc	2011-02-15 10:09:38.000000000 +0000
 | |
| @@ -1,3 +1,5 @@
 | |
|  #	$NetBSD: Makefile.inc,v 1.20 2006/06/17 18:04:23 uwe Exp $
 | |
|  
 | |
| +.if !defined(__MINIX)
 | |
|  SRCS+=	__sigaction14_sigtramp.c __sigtramp2.S
 | |
| +.endif
 | |
| diff -ru /home/netbsd/src/lib/libc/arch/i386/gen/Makefile.inc ./arch/i386/gen/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/arch/i386/gen/Makefile.inc	2009-12-06 07:12:17.000000000 +0000
 | |
| +++ ./arch/i386/gen/Makefile.inc	2011-02-15 10:11:52.000000000 +0000
 | |
| @@ -7,10 +7,18 @@
 | |
|  
 | |
|  SRCS+=	setjmp.S _setjmp.S sigsetjmp.S
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# Already defined in sys-minix
 | |
| +.else
 | |
|  SRCS+=	resumecontext.S swapcontext.S
 | |
| +.endif
 | |
|  
 | |
|  # objects built from C sources
 | |
| +.if defined(__MINIX)
 | |
| +SRCS+=	bswap64.c
 | |
| +.else
 | |
|  SRCS+=	bswap64.c _lwp.c makecontext.c
 | |
| +.endif
 | |
|  
 | |
|  # Common ieee754 constants and functions
 | |
|  SRCS+=	infinityf_ieee754.c infinity_ieee754.c
 | |
| diff -ru /home/netbsd/src/lib/libc/cdb/cdbr.c ./cdb/cdbr.c
 | |
| --- /home/netbsd/src/lib/libc/cdb/cdbr.c	2010-06-04 03:06:19.000000000 +0000
 | |
| +++ ./cdb/cdbr.c	2011-02-14 17:48:18.000000000 +0000
 | |
| @@ -122,7 +122,22 @@
 | |
|  		cdbr->index_size = 4;
 | |
|  
 | |
|  	cdbr->mmap_size = (size_t)sb.st_size;
 | |
| +#ifdef __minix
 | |
| +	cdbr->mmap_base = mmap(NULL, cdbr->mmap_size, PROT_READ, MAP_ANON, -1, (off_t)0);
 | |
| +	if (cdbr->mmap_base == MAP_FAILED) {
 | |
| +		free(cdbr);
 | |
| +		return NULL;
 | |
| +	}
 | |
| +
 | |
| +	if (read(fd, cdbr->mmap_base, cdbr->mmap_size) != cdbr->mmap_size)
 | |
| +	{
 | |
| +		munmap(cdbr->mmap_base, cdbr->mmap_size);
 | |
| +		free(cdbr);
 | |
| +		return NULL;
 | |
| +	}
 | |
| +#else /* !__minix */
 | |
|  	cdbr->mmap_base = mmap(NULL, cdbr->mmap_size, PROT_READ, MAP_FILE|MAP_SHARED, fd, 0);
 | |
| +#endif /* __minix */
 | |
|  	close(fd);
 | |
|  
 | |
|  	if (cdbr->mmap_base == MAP_FAILED) {
 | |
| diff -ru /home/netbsd/src/lib/libc/citrus/citrus_mmap.c ./citrus/citrus_mmap.c
 | |
| --- /home/netbsd/src/lib/libc/citrus/citrus_mmap.c	2005-01-19 00:52:37.000000000 +0000
 | |
| +++ ./citrus/citrus_mmap.c	2011-02-14 17:48:18.000000000 +0000
 | |
| @@ -74,12 +74,25 @@
 | |
|  		goto error;
 | |
|  	}
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	head = mmap(NULL, (size_t)st.st_size, PROT_READ, MAP_ANON, -1, (off_t)0);
 | |
| +	if (head == MAP_FAILED) {
 | |
| +		ret = errno;
 | |
| +		goto error;
 | |
| +	}
 | |
| +
 | |
| +	if (read(fd, head, st.st_size) != st.st_size) {
 | |
| +		ret = errno;
 | |
| +		goto error;
 | |
| +	}
 | |
| +#else /* !__minix */
 | |
|  	head = mmap(NULL, (size_t)st.st_size, PROT_READ, MAP_FILE|MAP_PRIVATE,
 | |
|  	    fd, (off_t)0);
 | |
|  	if (head == MAP_FAILED) {
 | |
|  		ret = errno;
 | |
|  		goto error;
 | |
|  	}
 | |
| +#endif /* !__minix */
 | |
|  	_region_init(r, head, (size_t)st.st_size);
 | |
|  
 | |
|  error:
 | |
| diff -ru /home/netbsd/src/lib/libc/compat-43/Makefile.inc ./compat-43/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/compat-43/Makefile.inc	2006-04-24 17:15:06.000000000 +0000
 | |
| +++ ./compat-43/Makefile.inc	2011-02-15 11:17:14.000000000 +0000
 | |
| @@ -4,12 +4,20 @@
 | |
|  # compat-43 sources
 | |
|  .PATH: ${ARCHDIR}/compat-43 ${.CURDIR}/compat-43
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# Unsupported by Minix
 | |
| +#	gethostid.c sethostid.c setpgrp.c setrgid.c setruid.c sigcompat.c
 | |
| +
 | |
| +SRCS+=	creat.c getdtablesize.c killpg.c
 | |
| +
 | |
| +.else
 | |
|  SRCS+=	creat.c getdtablesize.c gethostid.c \
 | |
|  	killpg.c sethostid.c setpgrp.c \
 | |
|  	setrgid.c setruid.c sigcompat.c
 | |
|  .if !defined(AUDIT)
 | |
|  SRCS+=	getwd.c
 | |
|  .endif
 | |
| +.endif
 | |
|  
 | |
|  # XXX this is to get <compat/sys/signal.h>
 | |
|  CPPFLAGS.sigcompat.c+=	-I${NETBSDSRCDIR}/sys
 | |
| diff -ru /home/netbsd/src/lib/libc/db/db/db.c ./db/db/db.c
 | |
| --- /home/netbsd/src/lib/libc/db/db/db.c	2008-09-11 12:58:00.000000000 +0000
 | |
| +++ ./db/db/db.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -57,9 +57,15 @@
 | |
|  {
 | |
|  
 | |
|  #define	DB_FLAGS	(DB_LOCK | DB_SHMEM | DB_TXN)
 | |
| +#ifdef __minix
 | |
| +#define USE_OPEN_FLAGS 							\
 | |
| +	(O_CREAT | O_EXCL | O_NONBLOCK | O_RDONLY |			\
 | |
| +	 O_RDWR | O_TRUNC)
 | |
| +#else /* !__minix */
 | |
|  #define	USE_OPEN_FLAGS							\
 | |
|  	(O_CREAT | O_EXCL | O_EXLOCK | O_NONBLOCK | O_RDONLY |		\
 | |
|  	 O_RDWR | O_SHLOCK | O_TRUNC)
 | |
| +#endif /* __minix */
 | |
|  
 | |
|  	if ((flags & ~(USE_OPEN_FLAGS | DB_FLAGS)) == 0)
 | |
|  		switch (type) {
 | |
| diff -ru /home/netbsd/src/lib/libc/gdtoa/gdtoa_locks.c ./gdtoa/gdtoa_locks.c
 | |
| --- /home/netbsd/src/lib/libc/gdtoa/gdtoa_locks.c	2006-01-25 15:36:13.000000000 +0000
 | |
| +++ ./gdtoa/gdtoa_locks.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -7,4 +7,6 @@
 | |
|  
 | |
|  #include "gdtoaimp.h"
 | |
|  
 | |
| +#ifdef _REENTRANT /* !__minix */
 | |
|  mutex_t __gdtoa_locks[2] = { MUTEX_INITIALIZER, MUTEX_INITIALIZER };
 | |
| +#endif /* _REENTRANT */
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/Makefile.inc ./gen/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/gen/Makefile.inc	2010-12-13 03:52:36.000000000 +0000
 | |
| +++ ./gen/Makefile.inc	2011-02-15 09:31:05.000000000 +0000
 | |
| @@ -2,8 +2,56 @@
 | |
|  #	from: @(#)Makefile.inc	8.6 (Berkeley) 5/4/95
 | |
|  
 | |
|  # gen sources
 | |
| +.if defined(__MINIX)
 | |
| +.PATH: ${.CURDIR}/gen/minix
 | |
| +.endif
 | |
|  .PATH: ${ARCHDIR}/gen ${.CURDIR}/gen
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# Unsupported by Minix.
 | |
| +# 	closefrom.c confstr.c extattr.c getdevmajor.c getmntinfo.c \
 | |
| +#	pthread_atfork.c setdomainname.c sethostname.c setproctitle.c \
 | |
| +#	sysctl.c sysctlbyname.c sysctlgetmibinfo.c sysctlnametomib.c \
 | |
| +#	devname.c wait3.c
 | |
| +
 | |
| +# To be ported
 | |
| +# nlist.c nlist_aout.c nlist_coff.c nlist_ecoff.c nlist_elf32.c nlist_elf64.c
 | |
| +#
 | |
| +# Not useful but portable
 | |
| +#	disklabel.c
 | |
| +#
 | |
| +# Already in getprogname
 | |
| +#	setprogname.c
 | |
| +
 | |
| +SRCS+= 	_errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.c \
 | |
| +	closedir.c ctermid.c ctype_.c daemon.c \
 | |
| +	dehumanize_number.c dirname.c err.c errx.c \
 | |
| +	errlist.c errno.c execl.c execle.c execlp.c execv.c execvp.c \
 | |
| +	fmtcheck.c fmtmsg.c fnmatch.c fstab.c ftok.c \
 | |
| +	fts.c ftw.c getbsize.c getcap.c getcwd.c \
 | |
| +	getdomainname.c getgrent.c \
 | |
| +	getgrouplist.c getgroupmembership.c gethostname.c \
 | |
| +	getloadavg.c getlogin.c \
 | |
| +	getnetgrent.c getpagesize.c \
 | |
| +	getpass.c getprogname.c getpwent.c getttyent.c \
 | |
| +	getusershell.c glob.c humanize_number.c initdir.c initgroups.c \
 | |
| +	isascii.c isatty.c isctype.c lockf.c nftw.c \
 | |
| +	nice.c \
 | |
| +	opendir.c \
 | |
| +	pause.c popen.c psignal.c ptree.c pwcache.c \
 | |
| +	pw_scan.c raise.c randomid.c rb.c readdir.c rewinddir.c \
 | |
| +	scandir.c seekdir.c \
 | |
| +	setjmperr.c setmode.c \
 | |
| +	shquote.c shquotev.c sighold.c sigignore.c siginterrupt.c \
 | |
| +	siglist.c signal.c signame.c sigrelse.c \
 | |
| +	sigset.c sigsetops.c sleep.c \
 | |
| +	stringlist.c sysconf.c \
 | |
| +	syslog.c telldir.c time.c \
 | |
| +	times.c toascii.c tolower_.c ttyname.c ttyslot.c \
 | |
| +	toupper_.c ualarm.c ulimit.c uname.c unvis.c usleep.c utime.c utmp.c \
 | |
| +	utmpx.c valloc.c vis.c warn.c warnx.c \
 | |
| +	vwarn.c vwarnx.c verr.c verrx.c wait.c waitpid.c wordexp.c
 | |
| +.else
 | |
|  SRCS+= 	_errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.c \
 | |
|  	closedir.c closefrom.c confstr.c ctermid.c ctype_.c daemon.c \
 | |
|  	dehumanize_number.c devname.c dirname.c disklabel.c err.c errx.c \
 | |
| @@ -32,6 +80,7 @@
 | |
|  	toupper_.c ualarm.c ulimit.c uname.c unvis.c usleep.c utime.c utmp.c \
 | |
|  	utmpx.c valloc.c vis.c wait.c wait3.c waitpid.c warn.c warnx.c \
 | |
|  	vwarn.c vwarnx.c verr.c verrx.c wordexp.c
 | |
| +.endif
 | |
|  
 | |
|  # indirect reference stubs, to be removed soon.
 | |
|  SRCS+=	_err.c _errx.c \
 | |
| @@ -163,7 +212,12 @@
 | |
|  CPPFLAGS.tolower_.c+=	-I${LIBCDIR}/locale
 | |
|  CPPFLAGS.toupper_.c+=	-I${LIBCDIR}/locale
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +errlist.c: errlist-minix.awk ${MINIXSRCDIR}/nbsd_include/sys/errno.h
 | |
| +	${TOOL_AWK} -f ${.ALLSRC} > ${.TARGET}
 | |
| +.else
 | |
|  errlist.c: errlist.awk ${NETBSDSRCDIR}/sys/sys/errno.h
 | |
|  	${TOOL_AWK} -f ${.ALLSRC} > ${.TARGET}
 | |
| +.endif
 | |
|  
 | |
|  CLEANFILES+= errlist.c
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_verr.c ./gen/_verr.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_verr.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_verr.c	2011-02-15 09:35:56.000000000 +0000
 | |
| @@ -13,6 +13,9 @@
 | |
|  #if defined(__indr_reference)
 | |
|  __indr_reference(_verr, verr)
 | |
|  #else
 | |
| +#ifdef __minix
 | |
| +#include <stdarg.h>
 | |
| +#endif
 | |
|  
 | |
|  __dead void _verr(int, const char *, _BSD_VA_LIST_);
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_verrx.c ./gen/_verrx.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_verrx.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_verrx.c	2011-02-15 09:36:27.000000000 +0000
 | |
| @@ -13,6 +13,9 @@
 | |
|  #if defined(__indr_reference)
 | |
|  __indr_reference(_verrx, verrx)
 | |
|  #else
 | |
| +#ifdef __minix
 | |
| +#include <stdarg.h>
 | |
| +#endif
 | |
|  
 | |
|  __dead void _verrx(int, const char *, _BSD_VA_LIST_);
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_vwarn.c ./gen/_vwarn.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_vwarn.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_vwarn.c	2011-02-15 09:37:12.000000000 +0000
 | |
| @@ -13,6 +13,9 @@
 | |
|  #if defined(__indr_reference)
 | |
|  __indr_reference(_vwarn, vwarn)
 | |
|  #else
 | |
| +#ifdef __minix
 | |
| +#include <stdarg.h>
 | |
| +#endif
 | |
|  
 | |
|  void _vwarn(const char *, _BSD_VA_LIST_);
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_vwarnx.c ./gen/_vwarnx.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_vwarnx.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_vwarnx.c	2011-02-15 09:37:49.000000000 +0000
 | |
| @@ -13,6 +13,9 @@
 | |
|  #if defined(__indr_reference)
 | |
|  __indr_reference(_vwarnx, vwarnx)
 | |
|  #else
 | |
| +#ifdef __minix
 | |
| +#include <stdarg.h>
 | |
| +#endif
 | |
|  
 | |
|  void _vwarnx(const char *, _BSD_VA_LIST_);
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_warn.c ./gen/_warn.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_warn.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_warn.c	2011-02-15 09:34:53.000000000 +0000
 | |
| @@ -24,7 +24,11 @@
 | |
|  	va_list ap;
 | |
|  
 | |
|  	va_start(ap, fmt);
 | |
| +#ifdef __minix
 | |
| +	_vwarn(fmt, ap);
 | |
| +#else
 | |
|  	_vwarn(eval, fmt, ap);
 | |
| +#endif
 | |
|  	va_end(ap);
 | |
|  }
 | |
|  #endif
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/_warnx.c ./gen/_warnx.c
 | |
| --- /home/netbsd/src/lib/libc/gen/_warnx.c	2005-09-13 01:44:09.000000000 +0000
 | |
| +++ ./gen/_warnx.c	2011-02-15 09:33:48.000000000 +0000
 | |
| @@ -24,7 +24,11 @@
 | |
|  	va_list ap;
 | |
|  
 | |
|  	va_start(ap, fmt);
 | |
| +#ifdef __minix
 | |
| +	_vwarnx(fmt, ap);
 | |
| +#else
 | |
|  	_vwarnx(eval, fmt, ap);
 | |
| +#endif
 | |
|  	va_end(ap);
 | |
|  }
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/closedir.c ./gen/closedir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/closedir.c	2010-09-26 03:01:02.000000000 +0000
 | |
| +++ ./gen/closedir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -38,6 +38,11 @@
 | |
|  #endif
 | |
|  #endif /* LIBC_SCCS and not lint */
 | |
|  
 | |
| +#ifdef __minix
 | |
| +/* NetBSD BUG: reentrant.h defines includes. */
 | |
| +#include <sys/types.h>
 | |
| +#endif /* !__minix */
 | |
| +
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
|  #include "extern.h"
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/fts.c ./gen/fts.c
 | |
| --- /home/netbsd/src/lib/libc/gen/fts.c	2009-11-02 17:17:34.000000000 +0000
 | |
| +++ ./gen/fts.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -56,8 +56,10 @@
 | |
|  #include <unistd.h>
 | |
|  
 | |
|  #if ! HAVE_NBTOOL_CONFIG_H
 | |
| +#ifndef __minix
 | |
|  #define	HAVE_STRUCT_DIRENT_D_NAMLEN
 | |
|  #endif
 | |
| +#endif
 | |
|  
 | |
|  static FTSENT	*fts_alloc(FTS *, const char *, size_t);
 | |
|  static FTSENT	*fts_build(FTS *, int);
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/getgrent.c ./gen/getgrent.c
 | |
| --- /home/netbsd/src/lib/libc/gen/getgrent.c	2008-04-28 20:22:59.000000000 +0000
 | |
| +++ ./gen/getgrent.c	2011-02-15 10:00:10.000000000 +0000
 | |
| @@ -481,7 +481,11 @@
 | |
|  _files_getgrgid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct group	**retval = va_arg(ap, struct group **);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -506,7 +510,11 @@
 | |
|  _files_getgrgid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	struct group	*grp	= va_arg(ap, struct group *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -801,7 +809,11 @@
 | |
|  _dns_getgrgid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct group	**retval = va_arg(ap, struct group **);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -825,7 +837,11 @@
 | |
|  _dns_getgrgid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	struct group	*grp	= va_arg(ap, struct group *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -1148,7 +1164,11 @@
 | |
|  _nis_getgrgid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct group	**retval = va_arg(ap, struct group **);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -1172,7 +1192,11 @@
 | |
|  _nis_getgrgid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	struct group	*grp	= va_arg(ap, struct group *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -1408,7 +1432,11 @@
 | |
|  				crv = nsdispatch(NULL, compatgiddtab,
 | |
|  				    NSDB_GROUP_COMPAT, "getgrgid_r",
 | |
|  				    __nsdefaultnis,
 | |
| +#ifdef __minix
 | |
| +				    &cretval, (int)gid,
 | |
| +#else
 | |
|  				    &cretval, gid,
 | |
| +#endif
 | |
|  				    &cgrp, filebuf, sizeof(filebuf), &cgrpres);
 | |
|  			}
 | |
|  			if (crv != NS_SUCCESS) {	/* not found */
 | |
| @@ -1610,7 +1638,11 @@
 | |
|  _compat_getgrgid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct group	**retval = va_arg(ap, struct group **);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -1635,7 +1667,11 @@
 | |
|  _compat_getgrgid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 gid	= (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 gid	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	struct group	*grp	= va_arg(ap, struct group *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -1785,7 +1821,11 @@
 | |
|  
 | |
|  	mutex_lock(&__grmutex);
 | |
|  	rv = nsdispatch(NULL, dtab, NSDB_GROUP, "getgrgid", __nsdefaultcompat,
 | |
| +#ifdef __minix
 | |
| +	    &retval, (int)gid);
 | |
| +#else
 | |
|  	    &retval, gid);
 | |
| +#endif
 | |
|  	mutex_unlock(&__grmutex);
 | |
|  	return (rv == NS_SUCCESS) ? retval : NULL;
 | |
|  }
 | |
| @@ -1812,7 +1852,11 @@
 | |
|  	retval = 0;
 | |
|  	mutex_lock(&__grmutex);
 | |
|  	rv = nsdispatch(NULL, dtab, NSDB_GROUP, "getgrgid_r", __nsdefaultcompat,
 | |
| +#ifdef __minix
 | |
| +	    &retval, (int)gid, grp, buffer, buflen, result);
 | |
| +#else
 | |
|  	    &retval, gid, grp, buffer, buflen, result);
 | |
| +#endif
 | |
|  	mutex_unlock(&__grmutex);
 | |
|  	switch (rv) {
 | |
|  	case NS_SUCCESS:
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/getgroupmembership.c ./gen/getgroupmembership.c
 | |
| --- /home/netbsd/src/lib/libc/gen/getgroupmembership.c	2008-04-28 20:22:59.000000000 +0000
 | |
| +++ ./gen/getgroupmembership.c	2011-02-15 10:06:06.000000000 +0000
 | |
| @@ -101,7 +101,11 @@
 | |
|  {
 | |
|  	int		*result	= va_arg(ap, int *);
 | |
|  	const char 	*uname	= va_arg(ap, const char *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 agroup = (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 agroup	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	gid_t		*groups	= va_arg(ap, gid_t *);
 | |
|  	int		 maxgrp	= va_arg(ap, int);
 | |
|  	int		*groupc	= va_arg(ap, int *);
 | |
| @@ -144,7 +148,11 @@
 | |
|  {
 | |
|  	int		*result	= va_arg(ap, int *);
 | |
|  	const char 	*uname	= va_arg(ap, const char *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 agroup = (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 agroup	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	gid_t		*groups	= va_arg(ap, gid_t *);
 | |
|  	int		 maxgrp	= va_arg(ap, int);
 | |
|  	int		*groupc	= va_arg(ap, int *);
 | |
| @@ -237,7 +245,11 @@
 | |
|  {
 | |
|  	int		*result	= va_arg(ap, int *);
 | |
|  	const char 	*uname	= va_arg(ap, const char *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 agroup = (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 agroup	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	gid_t		*groups	= va_arg(ap, gid_t *);
 | |
|  	int		 maxgrp	= va_arg(ap, int);
 | |
|  	int		*groupc	= va_arg(ap, int *);
 | |
| @@ -305,7 +317,11 @@
 | |
|  	crv = nsdispatch(NULL, dtab,
 | |
|  	    NSDB_GROUP_COMPAT, "getgroupmembership",
 | |
|  	    __nsdefaultnis,
 | |
| +#ifdef __minix
 | |
| +	    &rerror, cp->uname, (int)cp->agroup, cp->groups, cp->maxgrp, cp->groupc);
 | |
| +#else
 | |
|  	    &rerror, cp->uname, cp->agroup, cp->groups, cp->maxgrp, cp->groupc);
 | |
| +#endif
 | |
|  
 | |
|  	if (crv == NS_SUCCESS)
 | |
|  		crv = NS_NOTFOUND;	/* indicate "no more +: entries" */
 | |
| @@ -319,7 +335,11 @@
 | |
|  {
 | |
|  	int		*result	= va_arg(ap, int *);
 | |
|  	const char 	*uname	= va_arg(ap, const char *);
 | |
| +#ifdef __minix
 | |
| +	gid_t		 agroup = (gid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	gid_t		 agroup	= va_arg(ap, gid_t);
 | |
| +#endif
 | |
|  	gid_t		*groups	= va_arg(ap, gid_t *);
 | |
|  	int		 maxgrp	= va_arg(ap, int);
 | |
|  	int		*groupc	= va_arg(ap, int *);
 | |
| @@ -395,7 +415,11 @@
 | |
|  			 */
 | |
|  	(void) nsdispatch(NULL, dtab, NSDB_GROUP, "getgroupmembership",
 | |
|  	    __nsdefaultcompat,
 | |
| +#ifdef __minix
 | |
| +	    &rerror, uname, (int)agroup, groups, maxgrp, groupc);
 | |
| +#else
 | |
|  	    &rerror, uname, agroup, groups, maxgrp, groupc);
 | |
| +#endif
 | |
|  	mutex_unlock(&__grmutex);
 | |
|  
 | |
|  	if (*groupc > maxgrp)			/* too many groups found */
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/getlogin.c ./gen/getlogin.c
 | |
| --- /home/netbsd/src/lib/libc/gen/getlogin.c	2009-01-11 02:46:27.000000000 +0000
 | |
| +++ ./gen/getlogin.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -78,7 +78,9 @@
 | |
|  #ifdef __weak_alias
 | |
|  __weak_alias(getlogin,_getlogin)
 | |
|  __weak_alias(getlogin_r,_getlogin_r)
 | |
| +#ifndef __minix
 | |
|  __weak_alias(setlogin,_setlogin)
 | |
| +#endif /* !__minix */
 | |
|  #endif
 | |
|  
 | |
|  int	__logname_valid;		/* known to setlogin() */
 | |
| @@ -134,6 +136,7 @@
 | |
|  	return (rv);
 | |
|  }
 | |
|  
 | |
| +#ifndef __minix
 | |
|  int
 | |
|  setlogin(const char *name)
 | |
|  {
 | |
| @@ -144,3 +147,4 @@
 | |
|  
 | |
|  	return (retval);
 | |
|  }
 | |
| +#endif 
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/getpwent.c ./gen/getpwent.c
 | |
| --- /home/netbsd/src/lib/libc/gen/getpwent.c	2010-03-24 03:02:14.000000000 +0000
 | |
| +++ ./gen/getpwent.c	2011-02-15 10:03:22.000000000 +0000
 | |
| @@ -671,7 +671,11 @@
 | |
|  _files_getpwuid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct passwd	**retval = va_arg(ap, struct passwd **);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -696,7 +700,11 @@
 | |
|  _files_getpwuid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  	struct passwd	*pw	= va_arg(ap, struct passwd *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -992,7 +1000,11 @@
 | |
|  _dns_getpwuid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct passwd	**retval = va_arg(ap, struct passwd **);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -1019,7 +1031,11 @@
 | |
|  _dns_getpwuid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  	struct passwd	*pw	= va_arg(ap, struct passwd *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -1508,7 +1524,11 @@
 | |
|  _nis_getpwuid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct passwd	**retval = va_arg(ap, struct passwd **);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -1534,7 +1554,11 @@
 | |
|  _nis_getpwuid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  	struct passwd	*pw	= va_arg(ap, struct passwd *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -1896,9 +1920,15 @@
 | |
|  		    &crv, name, pw, buffer, buflen, &cpw);
 | |
|  		break;
 | |
|  	case _PW_KEYBYUID:
 | |
| +#ifdef __minix
 | |
| +		rv = nsdispatch(NULL, compatuiddtab,
 | |
| +		    NSDB_PASSWD_COMPAT, "getpwuid_r", __nsdefaultnis,
 | |
| +		    &crv, (int)uid, pw, buffer, buflen, &cpw);
 | |
| +#else
 | |
|  		rv = nsdispatch(NULL, compatuiddtab,
 | |
|  		    NSDB_PASSWD_COMPAT, "getpwuid_r", __nsdefaultnis,
 | |
|  		    &crv, uid, pw, buffer, buflen, &cpw);
 | |
| +#endif
 | |
|  		break;
 | |
|  	default:
 | |
|  		abort();
 | |
| @@ -2301,7 +2331,11 @@
 | |
|  _compat_getpwuid(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	struct passwd	**retval = va_arg(ap, struct passwd **);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  
 | |
|  	int	rv, rerror;
 | |
|  
 | |
| @@ -2326,7 +2360,11 @@
 | |
|  _compat_getpwuid_r(void *nsrv, void *nscb, va_list ap)
 | |
|  {
 | |
|  	int		*retval	= va_arg(ap, int *);
 | |
| +#ifdef __minix
 | |
| +	uid_t		 uid	= (uid_t)va_arg(ap, int);
 | |
| +#else
 | |
|  	uid_t		 uid	= va_arg(ap, uid_t);
 | |
| +#endif
 | |
|  	struct passwd	*pw	= va_arg(ap, struct passwd *);
 | |
|  	char		*buffer	= va_arg(ap, char *);
 | |
|  	size_t		 buflen	= va_arg(ap, size_t);
 | |
| @@ -2482,8 +2520,13 @@
 | |
|  	};
 | |
|  
 | |
|  	mutex_lock(&_pwmutex);
 | |
| +#ifdef __minix
 | |
| +	rv = nsdispatch(NULL, dtab, NSDB_PASSWD, "getpwuid", __nsdefaultcompat,
 | |
| +	    &retval, (int)uid);
 | |
| +#else
 | |
|  	rv = nsdispatch(NULL, dtab, NSDB_PASSWD, "getpwuid", __nsdefaultcompat,
 | |
|  	    &retval, uid);
 | |
| +#endif
 | |
|  	mutex_unlock(&_pwmutex);
 | |
|  	return (rv == NS_SUCCESS) ? retval : NULL;
 | |
|  }
 | |
| @@ -2509,8 +2552,14 @@
 | |
|  	*result = NULL;
 | |
|  	retval = 0;
 | |
|  	mutex_lock(&_pwmutex);
 | |
| +#ifdef __minix
 | |
| +	r = nsdispatch(NULL, dtab, NSDB_PASSWD, "getpwuid_r", __nsdefaultcompat,
 | |
| +	    &retval, (int)uid, pwd, buffer, buflen, result);
 | |
| +#else
 | |
|  	r = nsdispatch(NULL, dtab, NSDB_PASSWD, "getpwuid_r", __nsdefaultcompat,
 | |
|  	    &retval, uid, pwd, buffer, buflen, result);
 | |
| +#endif
 | |
| +
 | |
|  	mutex_unlock(&_pwmutex);
 | |
|  	switch (r) {
 | |
|  	case NS_SUCCESS:
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/gr_private.h ./gen/gr_private.h
 | |
| --- /home/netbsd/src/lib/libc/gen/gr_private.h	2008-04-28 20:22:59.000000000 +0000
 | |
| +++ ./gen/gr_private.h	2011-02-15 09:46:39.000000000 +0000
 | |
| @@ -40,11 +40,13 @@
 | |
|  #define _GROUP_COMPAT	/* "group" defaults to compat, so always provide it */
 | |
|  
 | |
|  
 | |
| +#ifndef __minix /* should be _REENTRANT */
 | |
|  	/*
 | |
|  	 * mutex to serialize the public group(5) functions use of the
 | |
|  	 * back-end implementations, which may not be reentrant.
 | |
|  	 */
 | |
|  extern 	mutex_t		__grmutex;
 | |
| +#endif
 | |
|  
 | |
|  	/*
 | |
|  	 * files methods
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/initdir.c ./gen/initdir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/initdir.c	2010-09-26 02:26:59.000000000 +0000
 | |
| +++ ./gen/initdir.c	2011-02-15 10:48:19.000000000 +0000
 | |
| @@ -35,6 +35,13 @@
 | |
|  #endif /* LIBC_SCCS and not lint */
 | |
|  
 | |
|  #include "namespace.h"
 | |
| +
 | |
| +#ifdef __minix
 | |
| +/* NetBSD BUG on !_REENTRANT */
 | |
| +#include <sys/cdefs.h>
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
| +
 | |
|  #include "reentrant.h"
 | |
|  #include "extern.h"
 | |
|  
 | |
| @@ -221,9 +228,11 @@
 | |
|  							xp = dp;
 | |
|  						else
 | |
|  							dp->d_fileno = 0;
 | |
| +#ifndef __minix
 | |
|  						if (dp->d_type == DT_WHT &&
 | |
|  						    (flags & DTF_HIDEW))
 | |
|  							dp->d_fileno = 0;
 | |
| +#endif
 | |
|  					}
 | |
|  
 | |
|  					free(dpv);
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/opendir.c ./gen/opendir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/opendir.c	2010-09-26 03:01:02.000000000 +0000
 | |
| +++ ./gen/opendir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -40,6 +40,12 @@
 | |
|  
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
| +
 | |
| +#ifdef __minix
 | |
| +#include <sys/cdefs.h>
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
| +
 | |
|  #include "extern.h"
 | |
|  
 | |
|  #include <sys/param.h>
 | |
| @@ -122,6 +128,12 @@
 | |
|  	 * Tweak flags for the underlying filesystem.
 | |
|  	 */
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	if (fstatvfs(fd, &sfb) < 0)
 | |
| +		goto error;
 | |
| +	/* MOUNT_UNION and MOUNT_NFS not supported */
 | |
| +	flags &= ~DTF_NODUP;
 | |
| +#else
 | |
|  	if (fstatvfs1(fd, &sfb, ST_NOWAIT) < 0)
 | |
|  		goto error;
 | |
|  	if ((flags & DTF_NODUP) != 0) {
 | |
| @@ -136,6 +148,7 @@
 | |
|  	if (!strncmp(sfb.f_fstypename, MOUNT_NFS, sizeof(sfb.f_fstypename))) {
 | |
|  		flags |= __DTF_READALL | __DTF_RETRY_ON_BADCOOKIE;
 | |
|  	}
 | |
| +#endif
 | |
|  
 | |
|  	dirp->dd_flags = flags;
 | |
|  	error = _initdir(dirp, fd, name);
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/readdir.c ./gen/readdir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/readdir.c	2010-09-16 03:01:30.000000000 +0000
 | |
| +++ ./gen/readdir.c	2011-02-15 09:43:12.000000000 +0000
 | |
| @@ -40,6 +40,12 @@
 | |
|  
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
| +
 | |
| +#ifdef __minix
 | |
| +#include <sys/cdefs.h>
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
| +
 | |
|  #include "extern.h"
 | |
|  #include <sys/param.h>
 | |
|  
 | |
| @@ -81,8 +87,10 @@
 | |
|  		dirp->dd_loc += dp->d_reclen;
 | |
|  		if (dp->d_ino == 0 && skipdeleted)
 | |
|  			continue;
 | |
| +#ifndef __minix
 | |
|  		if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW))
 | |
|  			continue;
 | |
| +#endif
 | |
|  		return (dp);
 | |
|  	}
 | |
|  }
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/rewinddir.c ./gen/rewinddir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/rewinddir.c	2010-09-26 03:01:02.000000000 +0000
 | |
| +++ ./gen/rewinddir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -40,6 +40,11 @@
 | |
|  
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
| +
 | |
| +#ifdef __minix
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
| +
 | |
|  #include "extern.h"
 | |
|  #include <sys/types.h>
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/scandir.c ./gen/scandir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/scandir.c	2007-06-09 23:57:25.000000000 +0000
 | |
| +++ ./gen/scandir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -130,9 +130,13 @@
 | |
|  			goto bad2;
 | |
|  		p->d_fileno = d->d_fileno;
 | |
|  		p->d_reclen = d->d_reclen;
 | |
| +#ifndef __minix
 | |
|  		p->d_type = d->d_type;
 | |
|  		p->d_namlen = d->d_namlen;
 | |
|  		(void)memmove(p->d_name, d->d_name, (size_t)(p->d_namlen + 1));
 | |
| +#else
 | |
| +		(void)memmove(p->d_name, d->d_name, (size_t)(strlen(d->d_name) + 1));
 | |
| +#endif
 | |
|  		names[nitems++] = p;
 | |
|  	}
 | |
|  	(void)closedir(dirp);
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/seekdir.c ./gen/seekdir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/seekdir.c	2006-05-17 20:36:50.000000000 +0000
 | |
| +++ ./gen/seekdir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -40,6 +40,9 @@
 | |
|  
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
| +#ifdef __minix
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
|  #include "extern.h"
 | |
|  #include <sys/param.h>
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/syslog.c ./gen/syslog.c
 | |
| --- /home/netbsd/src/lib/libc/gen/syslog.c	2010-05-14 04:47:24.000000000 +0000
 | |
| +++ ./gen/syslog.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -492,7 +492,9 @@
 | |
|  	/* AF_UNIX address of local logger */
 | |
|  	static const struct sockaddr_un sun = {
 | |
|  		.sun_family = AF_LOCAL,
 | |
| +#ifndef __minix
 | |
|  		.sun_len = sizeof(sun),
 | |
| +#endif
 | |
|  		.sun_path = _PATH_LOG,
 | |
|  	};
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/telldir.c ./gen/telldir.c
 | |
| --- /home/netbsd/src/lib/libc/gen/telldir.c	2008-05-04 18:53:26.000000000 +0000
 | |
| +++ ./gen/telldir.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -40,6 +40,11 @@
 | |
|  
 | |
|  #include "namespace.h"
 | |
|  #include "reentrant.h"
 | |
| +
 | |
| +#ifdef __minix
 | |
| +#include <sys/types.h>
 | |
| +#endif
 | |
| +
 | |
|  #include "extern.h"
 | |
|  #include <sys/param.h>
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/ttyname.c ./gen/ttyname.c
 | |
| --- /home/netbsd/src/lib/libc/gen/ttyname.c	2008-06-25 11:47:29.000000000 +0000
 | |
| +++ ./gen/ttyname.c	2011-02-15 10:58:47.000000000 +0000
 | |
| @@ -72,7 +72,9 @@
 | |
|  		mode_t type;
 | |
|  		dev_t dev;
 | |
|  	} bkey;
 | |
| +#ifndef __minix
 | |
|  	struct ptmget ptm;
 | |
| +#endif
 | |
|  #define DEVSZ (sizeof(_PATH_DEV) - 1)
 | |
|  
 | |
|  	_DIAGASSERT(fd != -1);
 | |
| @@ -81,6 +83,7 @@
 | |
|  		return ERANGE;
 | |
|  	}
 | |
|  
 | |
| +#ifndef __minix
 | |
|  	/* If it is a pty, deal with it quickly */
 | |
|  	if (ioctl(fd, TIOCPTSNAME, &ptm) != -1) {
 | |
|  		if (strlcpy(buf, ptm.sn, len) >= len) {
 | |
| @@ -88,6 +91,7 @@
 | |
|  		}
 | |
|  		return 0;
 | |
|  	}
 | |
| +#endif
 | |
|  	/* Must be a terminal. */
 | |
|  	if (tcgetattr(fd, &ttyb) == -1)
 | |
|  		return errno;
 | |
| @@ -136,7 +140,11 @@
 | |
|  	while ((dirp = readdir(dp)) != NULL) {
 | |
|  		if (dirp->d_fileno != sb->st_ino)
 | |
|  			continue;
 | |
| +#ifdef __minix
 | |
| +		dlen = strlen(dirp->d_name);
 | |
| +#else
 | |
|  		dlen = dirp->d_namlen + 1;
 | |
| +#endif
 | |
|  		if (len - DEVSZ <= dlen) {
 | |
|  			/*
 | |
|  			 * XXX: we return an error if *any* entry does not
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/ttyslot.c ./gen/ttyslot.c
 | |
| --- /home/netbsd/src/lib/libc/gen/ttyslot.c	2009-01-11 02:46:27.000000000 +0000
 | |
| +++ ./gen/ttyslot.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -59,14 +59,20 @@
 | |
|  	char *p;
 | |
|  	int cnt;
 | |
|  	char *name;
 | |
| +#ifndef __minix
 | |
|  	struct ptmget ptm;
 | |
| +#endif
 | |
|  
 | |
|  	setttyent();
 | |
|  	for (cnt = 0; cnt < 3; ++cnt) {
 | |
| +#ifndef __minix
 | |
|  		if (ioctl(cnt, TIOCPTSNAME, &ptm) != -1) {
 | |
|  			ispty = 1;
 | |
|  			name = ptm.sn;
 | |
|  		} else if ((name = ttyname(cnt)) != NULL) {
 | |
| +#else
 | |
| +		if ((name = ttyname(cnt)) != NULL) {
 | |
| +#endif
 | |
|  			ispty = 0;
 | |
|  		} else
 | |
|  			continue;
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/ulimit.c ./gen/ulimit.c
 | |
| --- /home/netbsd/src/lib/libc/gen/ulimit.c	2008-04-28 20:22:59.000000000 +0000
 | |
| +++ ./gen/ulimit.c	2011-02-14 17:48:19.000000000 +0000
 | |
| @@ -54,12 +54,14 @@
 | |
|  		if (getrlimit(RLIMIT_FSIZE, &rlimit) == 0)
 | |
|  			result = (long int)(rlimit.rlim_cur / 512);
 | |
|  		break;
 | |
| +#ifndef __minix
 | |
|  	case UL_SETFSIZE:
 | |
|  		new_limit = va_arg(ap, long int);
 | |
|  		rlimit.rlim_cur = rlimit.rlim_max = (rlim_t)new_limit * 512;
 | |
|  		if (setrlimit(RLIMIT_FSIZE, &rlimit) == 0)
 | |
|  			result = new_limit;
 | |
|  		break;
 | |
| +#endif
 | |
|  	default:
 | |
|  		errno = EINVAL;
 | |
|  	}
 | |
| diff -ru /home/netbsd/src/lib/libc/gen/utmpx.c ./gen/utmpx.c
 | |
| --- /home/netbsd/src/lib/libc/gen/utmpx.c	2009-01-11 02:46:27.000000000 +0000
 | |
| +++ ./gen/utmpx.c	2011-02-15 09:44:12.000000000 +0000
 | |
| @@ -336,16 +336,32 @@
 | |
|  	_DIAGASSERT(file != NULL);
 | |
|  	_DIAGASSERT(utx != NULL);
 | |
|  
 | |
| +#ifndef __minix
 | |
|  	fd = open(file, O_WRONLY|O_APPEND|O_SHLOCK);
 | |
| +#else
 | |
| +	fd = open(file, O_WRONLY|O_APPEND);
 | |
| +#endif
 | |
|  
 | |
|  	if (fd == -1) {
 | |
| +#ifndef __minix
 | |
|  		if ((fd = open(file, O_CREAT|O_WRONLY|O_EXLOCK, 0644)) == -1)
 | |
|  			return -1;
 | |
| +#else
 | |
| +		if ((fd = open(file, O_CREAT|O_WRONLY, 0644)) < 0)
 | |
| +			return -1;
 | |
| +		if (flock(fd, LOCK_EX) < 0)
 | |
| +			return -1;
 | |
| +#endif
 | |
|  		(void)memset(&ut, 0, sizeof(ut));
 | |
|  		ut.ut_type = SIGNATURE;
 | |
|  		(void)memcpy(ut.ut_user, vers, sizeof(vers));
 | |
|  		if (write(fd, &ut, sizeof(ut)) == -1)
 | |
|  			goto failed;
 | |
| +	} else {
 | |
| +#ifdef __minix
 | |
| +		if (flock(fd, LOCK_SH) < 0 )
 | |
| +			return -1;
 | |
| +#endif
 | |
|  	}
 | |
|  	if (write(fd, utx, sizeof(*utx)) == -1)
 | |
|  		goto failed;
 | |
| @@ -425,10 +441,18 @@
 | |
|  	_DIAGASSERT(fname != NULL);
 | |
|  	_DIAGASSERT(ll != NULL);
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	db = dbopen(fname, O_RDONLY, 0, DB_HASH, NULL);
 | |
| +#else
 | |
|  	db = dbopen(fname, O_RDONLY|O_SHLOCK, 0, DB_HASH, NULL);
 | |
| +#endif
 | |
|  
 | |
|  	if (db == NULL)
 | |
|  		return NULL;
 | |
| +#ifdef __minix
 | |
| +	if (flock(db->fd(db), LOCK_SH) < 0)
 | |
| +		return NULL;
 | |
| +#endif
 | |
|  
 | |
|  	key.data = &uid;
 | |
|  	key.size = sizeof(uid);
 | |
| @@ -464,11 +488,19 @@
 | |
|  	_DIAGASSERT(fname != NULL);
 | |
|  	_DIAGASSERT(ll != NULL);
 | |
|  
 | |
| +#ifndef __minix
 | |
|  	db = dbopen(fname, O_RDWR|O_CREAT|O_EXLOCK, 0644, DB_HASH, NULL);
 | |
| +#else 
 | |
| +	db = dbopen(fname, O_RDWR|O_CREAT, 0644, DB_HASH, NULL);
 | |
| +#endif
 | |
|  
 | |
|  	if (db == NULL)
 | |
|  		return -1;
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	if (flock(db->fd(db), LOCK_EX) < 0)
 | |
| +		return -1;
 | |
| +#endif
 | |
|  	key.data = &uid;
 | |
|  	key.size = sizeof(uid);
 | |
|  	data.data = ll;
 | |
| diff -ru /home/netbsd/src/lib/libc/gmon/gmon.c ./gmon/gmon.c
 | |
| --- /home/netbsd/src/lib/libc/gmon/gmon.c	2011-01-05 03:01:31.000000000 +0000
 | |
| +++ ./gmon/gmon.c	2011-02-15 10:55:22.000000000 +0000
 | |
| @@ -373,8 +373,10 @@
 | |
|  	struct gmonparam *p = &_gmonparam;
 | |
|  	struct gmonhdr gmonhdr, *hdr;
 | |
|  	struct clockinfo clockinfo;
 | |
| +#ifndef __minix
 | |
|  	int mib[2];
 | |
|  	size_t size;
 | |
| +#endif 
 | |
|  	char *profdir;
 | |
|  	const char *proffile;
 | |
|  	char  buf[PATH_MAX];
 | |
| @@ -397,6 +399,9 @@
 | |
|  	if (p->state == GMON_PROF_ERROR)
 | |
|  		warnx("%s: tos overflow", __func__);
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	clockinfo.profhz = sysconf(_SC_CLK_TCK);
 | |
| +#else /* !__minix */
 | |
|  	size = sizeof(clockinfo);
 | |
|  	mib[0] = CTL_KERN;
 | |
|  	mib[1] = KERN_CLOCKRATE;
 | |
| @@ -411,6 +416,7 @@
 | |
|  		else
 | |
|  			clockinfo.profhz = hertz();
 | |
|  	}
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  	moncontrol(0);
 | |
|  
 | |
| @@ -509,6 +515,7 @@
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| +#ifndef __minix
 | |
|  /*
 | |
|   * discover the tick frequency of the machine
 | |
|   * if something goes wrong, we return 0, an impossible hertz.
 | |
| @@ -542,3 +549,4 @@
 | |
|  	(void)timer_delete(t);
 | |
|  	return rv;
 | |
|  }
 | |
| +#endif /* !__minix */
 | |
| diff -ru /home/netbsd/src/lib/libc/include/env.h ./include/env.h
 | |
| --- /home/netbsd/src/lib/libc/include/env.h	2010-11-14 22:04:36.000000000 +0000
 | |
| +++ ./include/env.h	2011-02-15 10:17:15.000000000 +0000
 | |
| @@ -56,7 +56,11 @@
 | |
|  }
 | |
|  
 | |
|  static __inline bool
 | |
| +#ifdef __minix
 | |
| +__unlockenv(void)
 | |
| +#else /* Bug-to-bug compatibility? */
 | |
|  __unlocklockenv(void)
 | |
| +#endif
 | |
|  {
 | |
|  	return true;
 | |
|  }
 | |
| diff -ru /home/netbsd/src/lib/libc/include/namespace.h ./include/namespace.h
 | |
| --- /home/netbsd/src/lib/libc/include/namespace.h	2010-12-17 03:01:54.000000000 +0000
 | |
| +++ ./include/namespace.h	2011-02-15 08:57:32.000000000 +0000
 | |
| @@ -47,7 +47,9 @@
 | |
|  #define fork		_fork
 | |
|  #define fseeko		_fseeko
 | |
|  #define ftello		_ftello
 | |
| +#ifndef __minix
 | |
|  #define getcontext	_getcontext
 | |
| +#endif /* !__minix */
 | |
|  #define getenv_r	_getenv_r
 | |
|  #define imaxabs		_imaxabs
 | |
|  #define imaxdiv		_imaxdiv
 | |
| @@ -530,7 +532,13 @@
 | |
|  #define seed48			_seed48
 | |
|  #define seekdir			_seekdir
 | |
|  #define select			_select
 | |
| +#ifdef __minix
 | |
| +/* '_send' unfortunately collides with Minix IPC's _send function.
 | |
| + * This solution is fragile, a proper renaming of Minix IPCs should 
 | |
| + * be done insted. */
 | |
| +#else /* !__minix */
 | |
|  #define send			_send
 | |
| +#endif /* !__minix */
 | |
|  #define setdomainname		_setdomainname
 | |
|  #define setenv			_setenv
 | |
|  #define setfsent		_setfsent
 | |
| @@ -845,6 +853,80 @@
 | |
|  #define xprtlist_lock		__rpc_xprtlist_lock
 | |
|  
 | |
|  #define __learn_tree		___learn_tree
 | |
| +
 | |
| +#ifdef __minix
 | |
| +#define _exit __exit
 | |
| +#define access _access
 | |
| +#define bind _bind
 | |
| +#define chdir _chdir
 | |
| +#define chmod _chmod
 | |
| +#define chown _chown
 | |
| +#define chroot _chroot
 | |
| +#define close _close
 | |
| +#define dup _dup
 | |
| +#define dup2 _dup2
 | |
| +#define execve _execve
 | |
| +#define fchdir _fchdir
 | |
| +#define fchmod _fchmod
 | |
| +#define fchown _fchown
 | |
| +#define fcntl _fcntl
 | |
| +#define flock _flock
 | |
| +#define fstat _fstat
 | |
| +#define fsync _fsync
 | |
| +#define fpathconf _fpathconf
 | |
| +#define getegid _getegid
 | |
| +#define geteuid _geteuid
 | |
| +#define getgroups _getgroups
 | |
| +#define getpid _getpid
 | |
| +#define getpgrp _getpgrp
 | |
| +#define getppid _getppid
 | |
| +#define gettimeofday _gettimeofday
 | |
| +#define getgid _getgid
 | |
| +#define getuid _getuid
 | |
| +#define ioctl _ioctl
 | |
| +#define link _link
 | |
| +#define lstat _lstat
 | |
| +#define mount _mount
 | |
| +#define mkdir _mkdir
 | |
| +#define mkfifo _mkfifo
 | |
| +#define mknod _mknod
 | |
| +#define munmap _munmap
 | |
| +#define munmap_text _munmap_text
 | |
| +#define open _open
 | |
| +#define pathconf _pathconf
 | |
| +#define ptrace _ptrace
 | |
| +#define readv _readv
 | |
| +#define rmdir _rmdir
 | |
| +#define setegid _setegid
 | |
| +#define seteuid _seteuid
 | |
| +#define setgid _setgid
 | |
| +#define setgroups _setgroups
 | |
| +#define setprogname _setprogname
 | |
| +#define setsid _setsid
 | |
| +#define setuid _setuid
 | |
| +#define shmat _shmat
 | |
| +#define shmdt _shmdt
 | |
| +#define shmget _shmget
 | |
| +#define sigreturn	_sigreturn
 | |
| +#define socket _socket
 | |
| +#define socketpair _socketpair
 | |
| +#define symlink _symlink
 | |
| +#define sync _sync
 | |
| +#define stat(a, b) _stat(a, b)
 | |
| +#define stime _stime
 | |
| +#define umask _umask
 | |
| +#define umount _umount
 | |
| +#define umount2 _umount2
 | |
| +#define unlink _unlink
 | |
| +#define vm_remap _vm_remap
 | |
| +#define vm_unmap _vm_unmap
 | |
| +#define vm_getphys _vm_getphys
 | |
| +#define vm_getrefcount _vm_getrefcount
 | |
| +#define truncate _truncate
 | |
| +#define write _write
 | |
| +#define writev _writev
 | |
| +#endif /* __minix */
 | |
| +
 | |
|  #endif /* __weak_alias */
 | |
|  #endif /* !__lint__ */
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/libcincludes.mk ./libcincludes.mk
 | |
| --- /home/netbsd/src/lib/libc/libcincludes.mk	2008-10-26 07:28:06.000000000 +0000
 | |
| +++ ./libcincludes.mk	2011-02-15 10:39:27.000000000 +0000
 | |
| @@ -3,6 +3,22 @@
 | |
|  # Makefile fragment shared across several parts that want to look
 | |
|  # inside libc's include tree.
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +.if defined(LIBC_MACHINE_ARCH) && \
 | |
| +    exists(${MINIXSRCDIR}/lib/nbsd_libc/arch/${LIBC_MACHINE_ARCH}/SYS.h)
 | |
| +ARCHSUBDIR=	${LIBC_MACHINE_ARCH}
 | |
| +.elif exists(${MINIXSRCDIR}/lib/nbsd_libc/arch/${MACHINE_ARCH}/SYS.h)
 | |
| +ARCHSUBDIR=	${MACHINE_ARCH}
 | |
| +.elif exists(${MINIXSRCDIR}/lib/nbsd_libc/arch/${MACHINE_CPU}/SYS.h)
 | |
| +ARCHSUBDIR=	${MACHINE_CPU}
 | |
| +.else
 | |
| +.BEGIN:
 | |
| +	@echo no ARCHDIR for ${MACHINE_ARCH} nor ${MACHINE_CPU}
 | |
| +	@false
 | |
| +.endif
 | |
| +
 | |
| +ARCHDIR=	${MINIXSRCCDIR}/lib/nbsd_libc/arch/${ARCHSUBDIR}
 | |
| +.else
 | |
|  .if defined(LIBC_MACHINE_ARCH) && \
 | |
|      exists(${NETBSDSRCDIR}/lib/libc/arch/${LIBC_MACHINE_ARCH}/SYS.h)
 | |
|  ARCHSUBDIR=	${LIBC_MACHINE_ARCH}
 | |
| @@ -17,3 +33,4 @@
 | |
|  .endif
 | |
|  
 | |
|  ARCHDIR=	${NETBSDSRCDIR}/lib/libc/arch/${ARCHSUBDIR}
 | |
| +.endif
 | |
| diff -ru /home/netbsd/src/lib/libc/locale/setlocale.c ./locale/setlocale.c
 | |
| --- /home/netbsd/src/lib/libc/locale/setlocale.c	2010-06-08 03:01:34.000000000 +0000
 | |
| +++ ./locale/setlocale.c	2011-02-15 11:04:03.000000000 +0000
 | |
| @@ -61,6 +61,38 @@
 | |
|  extern const _locale_category_t _localeio_LC_MESSAGES_desc;
 | |
|  #endif
 | |
|  
 | |
| +#ifdef __minix
 | |
| +/* GNU binutils 2.x a.out support is rotten and link sets are not
 | |
| +   supported. Workaround this by explicitely creating the structure
 | |
| +   the linker was supposed to create. */
 | |
| +
 | |
| +struct {
 | |
| +	int __ls_length;
 | |
| +	_locale_category_t *__ls_items[7];
 | |
| +} __link_set_all_categories = {
 | |
| +	.__ls_length = 7,
 | |
| +	.__ls_items = {
 | |
| +		[0] = &_generic_LC_ALL_desc,
 | |
| +		[1] = &_dummy_LC_COLLATE_desc,
 | |
| +#ifdef WITH_RUNE
 | |
| +		[2] = &_citrus_LC_CTYPE_desc,
 | |
| +		[3] = &_citrus_LC_MONETARY_desc,
 | |
| +		[4] = &_citrus_LC_NUMERIC_desc,
 | |
| +		[5] = &_citrus_LC_TIME_desc,
 | |
| +		[6] = &_citrus_LC_MESSAGES_desc,
 | |
| +#else
 | |
| +		[2] = &_localeio_LC_CTYPE_desc,
 | |
| +		[3] = &_localeio_LC_MONETARY_desc,
 | |
| +		[4] = &_localeio_LC_NUMERIC_desc,
 | |
| +		[5] = &_localeio_LC_TIME_desc,
 | |
| +		[6] = &_localeio_LC_MESSAGES_desc,
 | |
| +#endif
 | |
| +	},
 | |
| +};
 | |
| +
 | |
| +#endif /* __minix */
 | |
| +
 | |
| +
 | |
|  __link_set_add_data(all_categories, _generic_LC_ALL_desc);
 | |
|  __link_set_add_data(all_categories, _dummy_LC_COLLATE_desc);
 | |
|  #ifdef WITH_RUNE
 | |
| diff -ru /home/netbsd/src/lib/libc/misc/initfini.c ./misc/initfini.c
 | |
| --- /home/netbsd/src/lib/libc/misc/initfini.c	2010-11-15 03:02:00.000000000 +0000
 | |
| +++ ./misc/initfini.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -55,8 +55,10 @@
 | |
|  	/* Atomic operations */
 | |
|  	__libc_atomic_init();
 | |
|  
 | |
| +#ifdef _REENTRANT
 | |
|  	/* Threads */
 | |
|  	__libc_thr_init();
 | |
| +#endif
 | |
|  
 | |
|  	/* Initialize the atexit mutexes */
 | |
|  	__libc_atexit_init();
 | |
| diff -ru /home/netbsd/src/lib/libc/misc/stack_protector.c ./misc/stack_protector.c
 | |
| --- /home/netbsd/src/lib/libc/misc/stack_protector.c	2010-12-08 03:01:48.000000000 +0000
 | |
| +++ ./misc/stack_protector.c	2011-02-15 11:00:49.000000000 +0000
 | |
| @@ -56,24 +56,30 @@
 | |
|  void
 | |
|  __guard_setup(void)
 | |
|  {
 | |
| +#ifndef __minix
 | |
|  	int mib[2];
 | |
| +#endif
 | |
|  	size_t len;
 | |
|  
 | |
|  	if (__stack_chk_guard[0] != 0)
 | |
|  		return;
 | |
|  
 | |
| +#ifndef __minix
 | |
|  	mib[0] = CTL_KERN;
 | |
|  	mib[1] = KERN_ARND;
 | |
|  
 | |
|  	len = sizeof(__stack_chk_guard);
 | |
|  	if (__sysctl(mib, 2, __stack_chk_guard, &len, NULL, 0) == -1 ||
 | |
|  	    len != sizeof(__stack_chk_guard)) {
 | |
| +#endif
 | |
|  		/* If sysctl was unsuccessful, use the "terminator canary". */
 | |
|  		((unsigned char *)(void *)__stack_chk_guard)[0] = 0;
 | |
|  		((unsigned char *)(void *)__stack_chk_guard)[1] = 0;
 | |
|  		((unsigned char *)(void *)__stack_chk_guard)[2] = '\n';
 | |
|  		((unsigned char *)(void *)__stack_chk_guard)[3] = 255;
 | |
| +#ifndef __minix
 | |
|  	}
 | |
| +#endif
 | |
|  }
 | |
|  
 | |
|  /*ARGSUSED*/
 | |
| diff -ru /home/netbsd/src/lib/libc/net/Makefile.inc ./net/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/net/Makefile.inc	2009-10-02 02:45:29.000000000 +0000
 | |
| +++ ./net/Makefile.inc	2011-02-15 10:29:00.000000000 +0000
 | |
| @@ -2,8 +2,22 @@
 | |
|  #	@(#)Makefile.inc	8.2 (Berkeley) 9/5/93
 | |
|  
 | |
|  # net sources
 | |
| +.if defined(__MINIX)
 | |
| +.PATH: ${.CURDIR}/net/minix
 | |
| +.endif
 | |
|  .PATH: ${ARCHDIR}/net ${.CURDIR}/net
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# Not supported by minix: iso_addr.c link_addr.c sockatmark.c
 | |
| +SRCS+=	__cmsg_alignbytes.c base64.c ethers.c gethnamaddr.c getifaddrs.c \
 | |
| +	getnetnamadr.c getnetent.c getpeereid.c \
 | |
| +	getprotobyname.c getprotobynumber.c getprotoent.c \
 | |
| +	getprotobyname_r.c getprotobynumber_r.c getprotoent_r.c \
 | |
| +	getservbyname.c getservbyport.c getservent.c \
 | |
| +	getservbyname_r.c getservbyport_r.c getservent_r.c \
 | |
| +	nsdispatch.c nslexer.l nsparser.y nsap_addr.c \
 | |
| +	rcmd.c recv.c send.c sethostent.c 
 | |
| +.else
 | |
|  SRCS+=	__cmsg_alignbytes.c base64.c ethers.c gethnamaddr.c getifaddrs.c \
 | |
|  	getnetnamadr.c getnetent.c getpeereid.c \
 | |
|  	getprotobyname.c getprotobynumber.c getprotoent.c \
 | |
| @@ -14,6 +28,7 @@
 | |
|  	nsdispatch.c nslexer.l nsparser.y nsap_addr.c \
 | |
|  	rcmd.c recv.c send.c sethostent.c \
 | |
|  	sockatmark.c
 | |
| +.endif
 | |
|  
 | |
|  .if (${MKHESIOD} != "no")
 | |
|  SRCS+=	hesiod.c
 | |
| @@ -23,7 +38,9 @@
 | |
|  .if (${USE_INET6} != "no")
 | |
|  SRCS+=	ip6opt.c rthdr.c vars6.c
 | |
|  .endif
 | |
| +.if !defined(__MINIX)
 | |
|  SRCS+=	if_indextoname.c if_nameindex.c if_nametoindex.c
 | |
| +.endif
 | |
|  
 | |
|  LPREFIX=_nsyy
 | |
|  YPREFIX=_nsyy
 | |
| diff -ru /home/netbsd/src/lib/libc/net/getaddrinfo.c ./net/getaddrinfo.c
 | |
| --- /home/netbsd/src/lib/libc/net/getaddrinfo.c	2009-10-02 07:41:08.000000000 +0000
 | |
| +++ ./net/getaddrinfo.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -855,7 +855,12 @@
 | |
|  	ai = calloc(sizeof(struct addrinfo) + addrlen, 1);
 | |
|  	if (ai) {
 | |
|  		ai->ai_addr = (void *)(ai+1);
 | |
| +#ifndef __minix
 | |
|  		ai->ai_addrlen = ai->ai_addr->sa_len = addrlen;
 | |
| +#else /* __minix */
 | |
| +		ai->ai_addrlen = addrlen;
 | |
| +#endif
 | |
| +
 | |
|  	}
 | |
|  
 | |
|  	return ai;
 | |
| diff -ru /home/netbsd/src/lib/libc/net/getnameinfo.c ./net/getnameinfo.c
 | |
| --- /home/netbsd/src/lib/libc/net/getnameinfo.c	2010-06-30 03:52:09.000000000 +0000
 | |
| +++ ./net/getnameinfo.c	2011-02-15 11:05:26.000000000 +0000
 | |
| @@ -54,10 +54,12 @@
 | |
|  #include <sys/types.h>
 | |
|  #include <sys/socket.h>
 | |
|  #include <net/if.h>
 | |
| +#ifndef __minix
 | |
|  #include <net/if_dl.h>
 | |
|  #include <net/if_ieee1394.h>
 | |
|  #include <net/if_types.h>
 | |
|  #include <netatalk/at.h>
 | |
| +#endif /* !__minix */
 | |
|  #include <netinet/in.h>
 | |
|  #include <arpa/inet.h>
 | |
|  #include <arpa/nameser.h>
 | |
| @@ -103,11 +105,13 @@
 | |
|  static int ip6_sa2str __P((const struct sockaddr_in6 *, char *, size_t,
 | |
|  				 int));
 | |
|  #endif
 | |
| +#ifndef __minix
 | |
|  static int getnameinfo_atalk __P((const struct sockaddr *, socklen_t, char *,
 | |
|      socklen_t, char *, socklen_t, int));
 | |
|  
 | |
|  static int getnameinfo_link __P((const struct sockaddr *, socklen_t, char *,
 | |
|      socklen_t, char *, socklen_t, int));
 | |
| +#endif /* __minix */
 | |
|  static int hexname __P((const u_int8_t *, size_t, char *, socklen_t));
 | |
|  
 | |
|  /*
 | |
| @@ -124,21 +128,26 @@
 | |
|  {
 | |
|  
 | |
|  	switch (sa->sa_family) {
 | |
| +#ifndef __minix
 | |
|  	case AF_APPLETALK:
 | |
|  		return getnameinfo_atalk(sa, salen, host, hostlen,
 | |
|  		    serv, servlen, flags);
 | |
| +#endif /* !__minix */
 | |
|  	case AF_INET:
 | |
|  	case AF_INET6:
 | |
|  		return getnameinfo_inet(sa, salen, host, hostlen,
 | |
|  		    serv, servlen, flags);
 | |
| +#ifndef __minix
 | |
|  	case AF_LINK:
 | |
|  		return getnameinfo_link(sa, salen, host, hostlen,
 | |
|  		    serv, servlen, flags);
 | |
| +#endif /* !__minix */
 | |
|  	default:
 | |
|  		return EAI_FAMILY;
 | |
|  	}
 | |
|  }
 | |
|  
 | |
| +#ifndef __minix
 | |
|  /*
 | |
|   * getnameinfo_atalk():
 | |
|   * Format an AppleTalk address into a printable format.
 | |
| @@ -198,6 +207,7 @@
 | |
|  
 | |
|  	return EAI_MEMORY;
 | |
|  }
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  /*
 | |
|   * getnameinfo_inet():
 | |
| @@ -491,6 +501,7 @@
 | |
|  #endif /* INET6 */
 | |
|  
 | |
|  
 | |
| +#ifndef __minix
 | |
|  /*
 | |
|   * getnameinfo_link():
 | |
|   * Format a link-layer address into a printable format, paying attention to
 | |
| @@ -568,6 +579,7 @@
 | |
|  		    (size_t)sdl->sdl_alen, host, hostlen);
 | |
|  	}
 | |
|  }
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  static int
 | |
|  hexname(cp, len, host, hostlen)
 | |
| diff -ru /home/netbsd/src/lib/libc/net/rcmd.c ./net/rcmd.c
 | |
| --- /home/netbsd/src/lib/libc/net/rcmd.c	2007-01-03 11:46:22.000000000 +0000
 | |
| +++ ./net/rcmd.c	2011-02-15 11:21:01.000000000 +0000
 | |
| @@ -48,7 +48,9 @@
 | |
|  #include <sys/wait.h>
 | |
|  
 | |
|  #include <netinet/in.h>
 | |
| +#ifndef __minix
 | |
|  #include <rpc/rpc.h>
 | |
| +#endif
 | |
|  #include <arpa/inet.h>
 | |
|  #include <netgroup.h>
 | |
|  
 | |
| @@ -70,6 +72,10 @@
 | |
|  
 | |
|  #include "pathnames.h"
 | |
|  
 | |
| +#ifdef __minix
 | |
| +#undef BSD4_4
 | |
| +#endif
 | |
| +
 | |
|  int	orcmd __P((char **, u_int, const char *, const char *, const char *,
 | |
|  	    int *));
 | |
|  int	orcmd_af __P((char **, u_int, const char *, const char *, const char *,
 | |
| @@ -213,7 +219,11 @@
 | |
|  	struct addrinfo *r;
 | |
|  	struct sockaddr_storage from;
 | |
|  	struct pollfd reads[2];
 | |
| +#ifdef __minix
 | |
| +	/* No support for OOB data in Minix. */
 | |
| +#else
 | |
|  	sigset_t nmask, omask;
 | |
| +#endif /* !__minix */
 | |
|  	pid_t pid;
 | |
|  	int s, lport, timo;
 | |
|  	int pollr;
 | |
| @@ -230,10 +240,14 @@
 | |
|  	r = res;
 | |
|  	refused = 0;
 | |
|  	pid = getpid();
 | |
| +#ifndef __minix
 | |
| +	/* Minix has no support for OOB data, 
 | |
| +	   no need to block SIGURG. */
 | |
|  	sigemptyset(&nmask);
 | |
|  	sigaddset(&nmask, SIGURG);
 | |
|  	if (sigprocmask(SIG_BLOCK, &nmask, &omask) == -1)
 | |
|  		return -1;
 | |
| +#endif /* !__minix */
 | |
|  	for (timo = 1, lport = IPPORT_RESERVED - 1;;) {
 | |
|  		s = rresvport_af(&lport, r->ai_family);
 | |
|  		if (s < 0) {
 | |
| @@ -245,11 +259,16 @@
 | |
|  				r = r->ai_next;
 | |
|  				continue;
 | |
|  			} else {
 | |
| +#ifndef __minix
 | |
|  				(void)sigprocmask(SIG_SETMASK, &omask, NULL);
 | |
| +#endif /* !__minix */
 | |
|  				return (-1);
 | |
|  			}
 | |
|  		}
 | |
| +#ifndef __minix
 | |
| +		/* No OOB support in Minix. */
 | |
|  		fcntl(s, F_SETOWN, pid);
 | |
| +#endif /* !__minix */
 | |
|  		if (connect(s, r->ai_addr, r->ai_addrlen) >= 0)
 | |
|  			break;
 | |
|  		(void)close(s);
 | |
| @@ -286,7 +305,10 @@
 | |
|  		}
 | |
|  		(void)fprintf(stderr, "%s: %s\n", res->ai_canonname,
 | |
|  		    strerror(errno));
 | |
| +#ifndef __minix
 | |
| +		/* No OOB support in Minix. */
 | |
|  		(void)sigprocmask(SIG_SETMASK, &omask, NULL);
 | |
| +#endif /* !__minix */
 | |
|  		return (-1);
 | |
|  	}
 | |
|  	lport--;
 | |
| @@ -363,14 +385,18 @@
 | |
|  		}
 | |
|  		goto bad2;
 | |
|  	}
 | |
| +#ifndef __minix
 | |
|  	(void)sigprocmask(SIG_SETMASK, &omask, NULL);
 | |
| +#endif /* __minix */
 | |
|  	return (s);
 | |
|  bad2:
 | |
|  	if (lport)
 | |
|  		(void)close(*fd2p);
 | |
|  bad:
 | |
|  	(void)close(s);
 | |
| +#ifndef __minix
 | |
|  	(void)sigprocmask(SIG_SETMASK, &omask, NULL);
 | |
| +#endif /* __minix */
 | |
|  	return (-1);
 | |
|  }
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/net/send.c ./net/send.c
 | |
| --- /home/netbsd/src/lib/libc/net/send.c	2003-08-07 16:43:15.000000000 +0000
 | |
| +++ ./net/send.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -44,9 +44,15 @@
 | |
|  
 | |
|  #include <stddef.h>
 | |
|  
 | |
| +#ifdef __minix
 | |
| +/* UGLY: name clash with minix ipc.
 | |
| + * Better solution: redefine minix ipc.
 | |
| + */
 | |
| +#else /* !__minix */
 | |
|  #ifdef __weak_alias
 | |
|  __weak_alias(send, _send)
 | |
|  #endif
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  ssize_t
 | |
|  send(s, msg, len, flags)
 | |
| diff -ru /home/netbsd/src/lib/libc/nls/catopen.c ./nls/catopen.c
 | |
| --- /home/netbsd/src/lib/libc/nls/catopen.c	2009-03-10 13:15:40.000000000 +0000
 | |
| +++ ./nls/catopen.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -169,6 +169,19 @@
 | |
|  		return (nl_catd)-1;
 | |
|  	}
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	data = mmap(0, (size_t)st.st_size, PROT_READ, MAP_ANON, -1, (off_t)0);
 | |
| +	if (data == MAP_FAILED) {
 | |
| +		return (nl_catd)-1;
 | |
| +	}
 | |
| +
 | |
| +	if (read(fd, data, st.st_size) != st.st_size)
 | |
| +	{
 | |
| +		munmap(data, (size_t)st.st_size);
 | |
| +		return (nl_catd)-1;
 | |
| +	}
 | |
| +	close (fd);
 | |
| +#else /* !__minix */
 | |
|  	data = mmap(0, (size_t)st.st_size, PROT_READ, MAP_FILE|MAP_SHARED, fd,
 | |
|  	    (off_t)0);
 | |
|  	close (fd);
 | |
| @@ -176,6 +189,7 @@
 | |
|  	if (data == MAP_FAILED) {
 | |
|  		return (nl_catd)-1;
 | |
|  	}
 | |
| +#endif /* __minix */
 | |
|  
 | |
|  	if (ntohl((u_int32_t)((struct _nls_cat_hdr *)data)->__magic) !=
 | |
|  	    _NLS_MAGIC) {
 | |
| diff -ru /home/netbsd/src/lib/libc/resolv/res_init.c ./resolv/res_init.c
 | |
| --- /home/netbsd/src/lib/libc/resolv/res_init.c	2009-10-24 17:24:01.000000000 +0000
 | |
| +++ ./resolv/res_init.c	2011-02-15 08:57:32.000000000 +0000
 | |
| @@ -88,7 +88,9 @@
 | |
|  #include <sys/socket.h>
 | |
|  #include <sys/stat.h>
 | |
|  #include <sys/time.h>
 | |
| +#ifndef __minix
 | |
|  #include <sys/event.h>
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  #include <netinet/in.h>
 | |
|  #include <arpa/inet.h>
 | |
| @@ -348,7 +350,9 @@
 | |
|  	nserv = 0;
 | |
|  	if ((fp = fopen(_PATH_RESCONF, "r")) != NULL) {
 | |
|  	    struct stat st;
 | |
| +#ifndef __minix
 | |
|  	    struct kevent kc;
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  	    /* read the config file */
 | |
|  	    while (fgets(buf, sizeof(buf), fp) != NULL) {
 | |
| @@ -502,6 +506,7 @@
 | |
|  	    if (fstat(statp->_u._ext.ext->resfd, &st) != -1)
 | |
|  		    __res_conf_time = statp->_u._ext.ext->res_conf_time =
 | |
|  			st.st_mtimespec;
 | |
| +#ifndef __minix
 | |
|  	    statp->_u._ext.ext->kq = kqueue();
 | |
|  	    (void)fcntl(statp->_u._ext.ext->kq, F_SETFD, FD_CLOEXEC);
 | |
|  	    (void)fcntl(statp->_u._ext.ext->resfd, F_SETFD, FD_CLOEXEC);
 | |
| @@ -509,6 +514,9 @@
 | |
|  		EV_ADD|EV_ENABLE|EV_CLEAR, NOTE_DELETE|NOTE_WRITE| NOTE_EXTEND|
 | |
|  		NOTE_ATTRIB|NOTE_LINK|NOTE_RENAME|NOTE_REVOKE, 0, 0);
 | |
|  	    (void)kevent(statp->_u._ext.ext->kq, &kc, 1, NULL, 0, &ts);
 | |
| +#else /* __minix */
 | |
| +	statp->_u._ext.ext->kq = -1;
 | |
| +#endif /* !__minix */
 | |
|  	} else {
 | |
|  	    statp->_u._ext.ext->kq = -1;
 | |
|  	    statp->_u._ext.ext->resfd = -1;
 | |
| @@ -565,6 +573,12 @@
 | |
|  int
 | |
|  res_check(res_state statp, struct timespec *mtime)
 | |
|  {
 | |
| +#ifdef __minix
 | |
| +	/*
 | |
| +	 * XXX: No update on change.
 | |
| +	 */
 | |
| +	return 0;
 | |
| +#else /* !__minix */
 | |
|  	/*
 | |
|  	 * If the times are equal, then we check if there
 | |
|  	 * was a kevent related to resolv.conf and reload.
 | |
| @@ -593,6 +607,7 @@
 | |
|  	if (mtime)
 | |
|  		*mtime = __res_conf_time;
 | |
|  	return 1;
 | |
| +#endif /* !__minix */
 | |
|  }
 | |
|  
 | |
|  static void
 | |
| diff -ru /home/netbsd/src/lib/libc/stdlib/Makefile.inc ./stdlib/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/stdlib/Makefile.inc	2010-11-15 03:02:00.000000000 +0000
 | |
| +++ ./stdlib/Makefile.inc	2011-02-15 09:09:03.000000000 +0000
 | |
| @@ -4,6 +4,21 @@
 | |
|  # stdlib sources
 | |
|  .PATH: ${ARCHDIR}/stdlib ${.CURDIR}/stdlib
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# pty.c not compiled
 | |
| +SRCS+=	_env.c _rand48.c \
 | |
| +	a64l.c abort.c atexit.c atof.c atoi.c atol.c atoll.c \
 | |
| +	bsearch.c drand48.c exit.c \
 | |
| +	getenv.c getopt.c getopt_long.c getsubopt.c \
 | |
| +	hcreate.c heapsort.c imaxdiv.c insque.c jrand48.c l64a.c lldiv.c \
 | |
| +	lcong48.c lrand48.c lsearch.c merge.c mi_vector_hash.c mrand48.c \
 | |
| +	nrand48.c putenv.c qabs.c qdiv.c qsort.c posix_openpt.c \
 | |
| +	radixsort.c rand.c rand_r.c random.c remque.c \
 | |
| +	seed48.c setenv.c srand48.c strsuftoll.c \
 | |
| +	strtoimax.c strtol.c strtoll.c strtoq.c strtoul.c strtoull.c \
 | |
| +	strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c \
 | |
| +	unsetenv.c strfmon.c
 | |
| +.else
 | |
|  SRCS+=	_env.c _rand48.c \
 | |
|  	a64l.c abort.c atexit.c atof.c atoi.c atol.c atoll.c \
 | |
|  	bsearch.c drand48.c exit.c \
 | |
| @@ -16,6 +31,7 @@
 | |
|  	strtoimax.c strtol.c strtoll.c strtoq.c strtoul.c strtoull.c \
 | |
|  	strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c \
 | |
|  	unsetenv.c strfmon.c
 | |
| +.endif
 | |
|  
 | |
|  # These are often replaced by MD .S versions
 | |
|  SRCS+=	abs.c labs.c llabs.c imaxabs.c
 | |
| diff -ru /home/netbsd/src/lib/libc/stdlib/atexit.c ./stdlib/atexit.c
 | |
| --- /home/netbsd/src/lib/libc/stdlib/atexit.c	2009-10-08 16:33:45.000000000 +0000
 | |
| +++ ./stdlib/atexit.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -120,10 +120,12 @@
 | |
|  void
 | |
|  __libc_atexit_init(void)
 | |
|  {
 | |
| +#ifdef _REENTRANT /* !__minix */
 | |
|  	mutexattr_t atexit_mutex_attr;
 | |
|  	mutexattr_init(&atexit_mutex_attr);
 | |
|  	mutexattr_settype(&atexit_mutex_attr, PTHREAD_MUTEX_RECURSIVE);
 | |
|  	mutex_init(&atexit_mutex, &atexit_mutex_attr);
 | |
| +#endif /* _REENTRANT */
 | |
|  }
 | |
|  
 | |
|  /*
 | |
| diff -ru /home/netbsd/src/lib/libc/stdlib/malloc.c ./stdlib/malloc.c
 | |
| --- /home/netbsd/src/lib/libc/stdlib/malloc.c	2008-02-03 22:56:53.000000000 +0000
 | |
| +++ ./stdlib/malloc.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -65,8 +65,10 @@
 | |
|  #       define malloc_pageshift         12U
 | |
|  #       define malloc_minsize           16U
 | |
|  #   endif
 | |
| +#ifndef __minix
 | |
|  #   define HAS_UTRACE
 | |
|  #   define UTRACE_LABEL
 | |
| +#endif /* __minix */
 | |
|  
 | |
|  #include <sys/cdefs.h>
 | |
|  void utrace(struct ut *, int);
 | |
| @@ -210,9 +212,11 @@
 | |
|  #define INIT_MMAP()
 | |
|  #endif
 | |
|  
 | |
| +#ifndef __minix
 | |
|  #ifndef MADV_FREE
 | |
|  #define MADV_FREE MADV_DONTNEED
 | |
|  #endif
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  /* Number of free pages we cache */
 | |
|  static size_t malloc_cache = 16;
 | |
| @@ -485,8 +489,10 @@
 | |
|  		case '<': malloc_cache   >>= 1; break;
 | |
|  		case 'a': malloc_abort   = 0; break;
 | |
|  		case 'A': malloc_abort   = 1; break;
 | |
| +#ifndef __minix
 | |
|  		case 'h': malloc_hint    = 0; break;
 | |
|  		case 'H': malloc_hint    = 1; break;
 | |
| +#endif /* !__minix */
 | |
|  		case 'r': malloc_realloc = 0; break;
 | |
|  		case 'R': malloc_realloc = 1; break;
 | |
|  		case 'j': malloc_junk    = 0; break;
 | |
| @@ -932,8 +938,10 @@
 | |
|      if (malloc_junk)
 | |
|  	memset(ptr, SOME_JUNK, l);
 | |
|  
 | |
| +#ifndef __minix
 | |
|      if (malloc_hint)
 | |
|  	madvise(ptr, l, MADV_FREE);
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|      tail = (char *)ptr+l;
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/stdlib/system.c ./stdlib/system.c
 | |
| --- /home/netbsd/src/lib/libc/stdlib/system.c	2010-11-15 03:02:00.000000000 +0000
 | |
| +++ ./stdlib/system.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -91,7 +91,11 @@
 | |
|  	}
 | |
|  
 | |
|  	(void)__readlockenv();
 | |
| +#ifdef __minix
 | |
| +	switch(pid = fork() ) {
 | |
| +#else /* !__minix */
 | |
|  	switch(pid = vfork()) {
 | |
| +#endif /* !__minix */
 | |
|  	case -1:			/* error */
 | |
|  		(void)__unlockenv();
 | |
|  		sigaction(SIGINT, &intsa, NULL);
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/Makefile.inc ./termios/Makefile.inc
 | |
| --- /home/netbsd/src/lib/libc/termios/Makefile.inc	1998-02-14 20:20:44.000000000 +0000
 | |
| +++ ./termios/Makefile.inc	2011-02-15 10:14:47.000000000 +0000
 | |
| @@ -2,9 +2,18 @@
 | |
|  
 | |
|  .PATH:	${.CURDIR}/termios
 | |
|  
 | |
| +.if defined(__MINIX)
 | |
| +# Not supported by Minix: tcgetsid.c
 | |
| +SRCS+=	cfgetispeed.c cfgetospeed.c cfmakeraw.c cfsetispeed.c cfsetospeed.c \
 | |
| +	cfsetspeed.c tcdrain.c tcflow.c tcflush.c tcgetattr.c tcgetpgrp.c \
 | |
| +	tcsendbreak.c tcsetattr.c tcsetpgrp.c
 | |
| +.else
 | |
|  SRCS+=	cfgetispeed.c cfgetospeed.c cfmakeraw.c cfsetispeed.c cfsetospeed.c \
 | |
|  	cfsetspeed.c tcdrain.c tcflow.c tcflush.c tcgetattr.c tcgetpgrp.c \
 | |
|  	tcgetsid.c tcsendbreak.c tcsetattr.c tcsetpgrp.c
 | |
| +.endif
 | |
| +
 | |
| +
 | |
|  
 | |
|  MAN+=	tcgetpgrp.3 tcgetsid.3 tcsendbreak.3 tcsetattr.3 tcsetpgrp.3
 | |
|  
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/cfmakeraw.c ./termios/cfmakeraw.c
 | |
| --- /home/netbsd/src/lib/libc/termios/cfmakeraw.c	2003-08-07 16:44:12.000000000 +0000
 | |
| +++ ./termios/cfmakeraw.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -59,7 +59,11 @@
 | |
|  
 | |
|  	_DIAGASSERT(t != NULL);
 | |
|  
 | |
| +#ifdef __minix
 | |
| +	t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
 | |
| +#else /* !__minix */
 | |
|  	t->c_iflag &= ~(IMAXBEL|IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
 | |
| +#endif /* !__minix */
 | |
|  	t->c_oflag &= ~OPOST;
 | |
|  	t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
 | |
|  	t->c_cflag &= ~(CSIZE|PARENB);
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/tcflow.c ./termios/tcflow.c
 | |
| --- /home/netbsd/src/lib/libc/termios/tcflow.c	2003-08-07 16:44:13.000000000 +0000
 | |
| +++ ./termios/tcflow.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -54,6 +54,10 @@
 | |
|  tcflow(fd, action)
 | |
|  	int fd, action;
 | |
|  {
 | |
| +#ifdef __minix
 | |
| +	_DIAGASSERT(fd != -1);
 | |
| +	return ioctl(fd, TCFLOW, &action);
 | |
| +#else /* !__minix */
 | |
|  	struct termios term;
 | |
|  	u_char c;
 | |
|  
 | |
| @@ -77,4 +81,5 @@
 | |
|  		return (-1);
 | |
|  	}
 | |
|  	/* NOTREACHED */
 | |
| +#endif /* !__minix */
 | |
|  }
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/tcflush.c ./termios/tcflush.c
 | |
| --- /home/netbsd/src/lib/libc/termios/tcflush.c	2003-08-07 16:44:13.000000000 +0000
 | |
| +++ ./termios/tcflush.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -54,6 +54,10 @@
 | |
|  tcflush(fd, which)
 | |
|  	int fd, which;
 | |
|  {
 | |
| +#ifdef __minix
 | |
| +	_DIAGASSERT(fd != -1);
 | |
| +	return ioctl(fd, TCFLSH, &which);
 | |
| +#else /* !__minix */
 | |
|  	int com;
 | |
|  
 | |
|  	_DIAGASSERT(fd != -1);
 | |
| @@ -73,4 +77,5 @@
 | |
|  		return (-1);
 | |
|  	}
 | |
|  	return (ioctl(fd, TIOCFLUSH, &com));
 | |
| +#endif /* !__minix */
 | |
|  }
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/tcsendbreak.c ./termios/tcsendbreak.c
 | |
| --- /home/netbsd/src/lib/libc/termios/tcsendbreak.c	2003-08-07 16:44:14.000000000 +0000
 | |
| +++ ./termios/tcsendbreak.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -41,7 +41,9 @@
 | |
|  #include "namespace.h"
 | |
|  #include <sys/types.h>
 | |
|  #include <sys/ioctl.h>
 | |
| +#ifndef __minix
 | |
|  #include <sys/time.h>
 | |
| +#endif /* !__minix */
 | |
|  
 | |
|  #include <assert.h>
 | |
|  #include <errno.h>
 | |
| @@ -57,6 +59,10 @@
 | |
|  tcsendbreak(fd, len)
 | |
|  	int fd, len;
 | |
|  {
 | |
| +#ifdef __minix
 | |
| +	_DIAGASSERT(fd != -1);
 | |
| +	return ioctl(fd, TCSBRK, &len);
 | |
| +#else /* !__minix */
 | |
|  	static const struct timespec sleepytime = { 0, 400000000 };
 | |
|  
 | |
|  	_DIAGASSERT(fd != -1);
 | |
| @@ -67,4 +73,5 @@
 | |
|  	if (ioctl(fd, TIOCCBRK, 0) == -1)
 | |
|  		return (-1);
 | |
|  	return (0);
 | |
| +#endif /* !__minix */
 | |
|  }
 | |
| diff -ru /home/netbsd/src/lib/libc/termios/tcsetattr.c ./termios/tcsetattr.c
 | |
| --- /home/netbsd/src/lib/libc/termios/tcsetattr.c	2003-08-07 16:44:14.000000000 +0000
 | |
| +++ ./termios/tcsetattr.c	2011-02-14 17:48:20.000000000 +0000
 | |
| @@ -60,11 +60,15 @@
 | |
|  	_DIAGASSERT(fd != -1);
 | |
|  	_DIAGASSERT(t != NULL);
 | |
|  
 | |
| +#ifndef __minix
 | |
|  	if (opt & TCSASOFT) {
 | |
|  		localterm = *t;
 | |
|  		localterm.c_cflag |= CIGNORE;
 | |
|  		t = &localterm;
 | |
|  	}
 | |
| +#else /* __minix */
 | |
| +#define	TCSASOFT	0 
 | |
| +#endif /* __minix */
 | |
|  	switch (opt & ~TCSASOFT) {
 | |
|  	case TCSANOW:
 | |
|  		return (ioctl(fd, TIOCSETA, t));
 | |
| diff -ru /home/netbsd/src/lib/libc/yp/yplib.c ./yp/yplib.c
 | |
| --- /home/netbsd/src/lib/libc/yp/yplib.c	2006-11-03 20:18:49.000000000 +0000
 | |
| +++ ./yp/yplib.c	2011-02-14 17:48:21.000000000 +0000
 | |
| @@ -172,8 +172,10 @@
 | |
|  			}
 | |
|  			(void)memset(&ysd->dom_server_addr, 0,
 | |
|  				     sizeof ysd->dom_server_addr);
 | |
| +#ifndef __minix
 | |
|  			ysd->dom_server_addr.sin_len =
 | |
|  				sizeof(struct sockaddr_in);
 | |
| +#endif /* !__minix */
 | |
|  			ysd->dom_server_addr.sin_family = AF_INET;
 | |
|  			bn = &ybr.ypbind_respbody.ypbind_bindinfo;
 | |
|  			ysd->dom_server_addr.sin_port =
 | |
| @@ -197,7 +199,9 @@
 | |
|  	if (ysd->dom_vers == -1 || ysd->dom_vers == 0) {
 | |
|  		struct ypbind_binding *bn;
 | |
|  		(void)memset(&clnt_sin, 0, sizeof clnt_sin);
 | |
| +#ifndef __minix
 | |
|  		clnt_sin.sin_len = sizeof(struct sockaddr_in);
 | |
| +#endif /* !__minix */
 | |
|  		clnt_sin.sin_family = AF_INET;
 | |
|  		clnt_sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
 | |
|  
 | |
| @@ -228,7 +232,9 @@
 | |
|  
 | |
|  		(void)memset(&ysd->dom_server_addr, 0, 
 | |
|  			     sizeof ysd->dom_server_addr);
 | |
| +#ifndef __minix
 | |
|  		ysd->dom_server_addr.sin_len = sizeof(struct sockaddr_in);
 | |
| +#endif /* !__minix */
 | |
|  		ysd->dom_server_addr.sin_family = AF_INET;
 | |
|  		bn = &ypbr.ypbind_respbody.ypbind_bindinfo;
 | |
|  		ysd->dom_server_addr.sin_port =
 |