]> Zhao Yanbai Git Server - minix.git/commitdiff
Clean up NetBSD libc Minix port.
authorGianluca Guida <gianluca@minix3.org>
Tue, 15 Feb 2011 16:31:16 +0000 (16:31 +0000)
committerGianluca Guida <gianluca@minix3.org>
Tue, 15 Feb 2011 16:31:16 +0000 (16:31 +0000)
This patch add the proper .if/.else/.endif to the Makefiles, add places I forgot #ifdef __minix and remove newlines.

34 files changed:
lib/nbsd_libc/Makefile
lib/nbsd_libc/Makefile.inc
lib/nbsd_libc/arch/i386/Makefile.inc
lib/nbsd_libc/arch/i386/gen/Makefile.inc
lib/nbsd_libc/compat-43/Makefile.inc
lib/nbsd_libc/gen/Makefile.inc
lib/nbsd_libc/gen/_verr.c
lib/nbsd_libc/gen/_verrx.c
lib/nbsd_libc/gen/_vwarn.c
lib/nbsd_libc/gen/_vwarnx.c
lib/nbsd_libc/gen/_warn.c
lib/nbsd_libc/gen/_warnx.c
lib/nbsd_libc/gen/getgrent.c
lib/nbsd_libc/gen/getgroupmembership.c
lib/nbsd_libc/gen/getpwent.c
lib/nbsd_libc/gen/gr_private.h
lib/nbsd_libc/gen/initdir.c
lib/nbsd_libc/gen/readdir.c
lib/nbsd_libc/gen/ttyname.c
lib/nbsd_libc/gen/utmpx.c
lib/nbsd_libc/gmon/gmon.c
lib/nbsd_libc/include/env.h
lib/nbsd_libc/include/namespace.h
lib/nbsd_libc/libcincludes.mk
lib/nbsd_libc/locale/setlocale.c
lib/nbsd_libc/minix-config.inc
lib/nbsd_libc/minix-port.patch [new file with mode: 0644]
lib/nbsd_libc/misc/stack_protector.c
lib/nbsd_libc/net/Makefile.inc
lib/nbsd_libc/net/getnameinfo.c
lib/nbsd_libc/net/rcmd.c
lib/nbsd_libc/resolv/res_init.c
lib/nbsd_libc/stdlib/Makefile.inc
lib/nbsd_libc/termios/Makefile.inc

index 1db3528044c9152e4c29667949c16f051e4439c6..40755769a6d914b8da631a862f36fa0dd8b9c30d 100644 (file)
@@ -17,7 +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
@@ -42,17 +44,21 @@ assym.h: ${ARCHDIR}/genassym.cf
        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.
-#BUILDCOLD?= no
-#.if "${BUILDCOLD}" == "yes"
-#SUBDIR=compat
-#.include <bsd.subdir.mk>
-#.else
-#COMPATDIR=${.CURDIR}/compat
-#.include "${.CURDIR}/compat/Makefile.inc"
-#.endif
+BUILDCOLD?= no
+.if "${BUILDCOLD}" == "yes"
+SUBDIR=compat
+.include <bsd.subdir.mk>
+.else
+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"
@@ -62,11 +68,16 @@ assym.h: ${ARCHDIR}/genassym.cf
 .include "${.CURDIR}/citrus/Makefile.inc"
 .endif
 .include "${.CURDIR}/compat-43/Makefile.inc"
-#.include "${.CURDIR}/dlfcn/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()
-#.include "${.CURDIR}/gmon/Makefile.inc"
+.else
+.include "${.CURDIR}/gmon/Makefile.inc"
+.endif
 .include "${.CURDIR}/hash/Makefile.inc"
 .include "${.CURDIR}/iconv/Makefile.inc"
 .include "${.CURDIR}/inet/Makefile.inc"
@@ -86,8 +97,11 @@ assym.h: ${ARCHDIR}/genassym.cf
 .include "${.CURDIR}/regex/Makefile.inc"
 .endif
 .include "${.CURDIR}/resolv/Makefile.inc"
-# RPC needs pollts and a reserved port allocator.
-#.include "${.CURDIR}/rpc/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"
@@ -95,7 +109,11 @@ assym.h: ${ARCHDIR}/genassym.cf
 .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"
index 386b6179dc3999dc83e2f28c6d58f6bc7e5cb23c..de13d29b88c5a0d13768cd7d9eb89e461125b9ab 100644 (file)
 
 USE_FORT?=     yes
 
-USE_SHLIBDIR=  no      
+.if defined(__MINIX)
+USE_SHLIBDIR= no
+.else
+USE_SHLIBDIR=  yes
+.endif
 
 CITRUS?=       yes
 
-USE_LIBTRE=    no
-NETBSDSRCDIR=   ${MINIXSRCDIR}
-
 .include <bsd.own.mk>
 
 WARNS=4
-CPPFLAGS+=     -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS #-D_REENTRANT
+.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
index 703a6225f9292ffce65ed2e9c1331843a224ef49..cba074d670959f28d7987758b9c5108569392a23 100644 (file)
@@ -1,3 +1,5 @@
 #      $NetBSD: Makefile.inc,v 1.20 2006/06/17 18:04:23 uwe Exp $
 
-#SRCS+=        __sigaction14_sigtramp.c __sigtramp2.S
+.if !defined(__MINIX)
+SRCS+= __sigaction14_sigtramp.c __sigtramp2.S
+.endif
index c5a417d0c1b44a1922c73d431f1700bf0d2151fe..efc6290faa498b8c271f590ede9dd28ab85af4b6 100644 (file)
@@ -7,13 +7,18 @@ SRCS+=        alloca.S byte_swap_2.S byte_swap_4.S fabs.S \
 
 SRCS+= setjmp.S _setjmp.S sigsetjmp.S
 
-# Already defined in sys-minix /* __minix */
-#SRCS+=        resumecontext.S swapcontext.S
+.if defined(__MINIX)
+# Already defined in sys-minix
+.else
+SRCS+= resumecontext.S swapcontext.S
+.endif
 
 # objects built from C sources
-#SRCS+=        bswap64.c _lwp.c makecontext.c
-# __minix
-SRCS+= bswap64.c
+.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
index 1dd9b649611ce4e0034121b493730010fd5abb55..5a8e1c61feedce5eb3afb677dbc828550306ccca 100644 (file)
@@ -4,15 +4,20 @@
 # compat-43 sources
 .PATH: ${ARCHDIR}/compat-43 ${.CURDIR}/compat-43
 
-# unsupported by Minix
+.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 \
+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
index 9cce476d9c81472040f8b827231f3207621236e8..497052ad3d30b8275816279e777c92aa1641c03f 100644 (file)
@@ -2,8 +2,12 @@
 #      from: @(#)Makefile.inc  8.6 (Berkeley) 5/4/95
 
 # gen sources
-.PATH: ${.CURDIR}/gen/minix ${ARCHDIR}/gen ${.CURDIR}/gen
+.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 \
@@ -47,6 +51,36 @@ SRCS+=       _errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.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 \
+       errlist.c errno.c execl.c execle.c execlp.c execv.c execvp.c \
+       extattr.c fmtcheck.c fmtmsg.c fnmatch.c fstab.c ftok.c \
+       fts.c ftw.c getbsize.c getcap.c getcwd.c \
+       getdevmajor.c getdomainname.c getgrent.c \
+       getgrouplist.c getgroupmembership.c gethostname.c \
+       getloadavg.c getlogin.c getmntinfo.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 nlist.c nlist_aout.c \
+       nlist_coff.c nlist_ecoff.c nlist_elf32.c nlist_elf64.c opendir.c \
+       pause.c popen.c psignal.c pthread_atfork.c ptree.c pwcache.c \
+       pw_scan.c raise.c randomid.c rb.c readdir.c rewinddir.c \
+       scandir.c seekdir.c setdomainname.c \
+       sethostname.c setjmperr.c setmode.c setproctitle.c setprogname.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 sysctl.c sysctlbyname.c sysctlgetmibinfo.c \
+       sysctlnametomib.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 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 \
@@ -178,7 +212,12 @@ CPPFLAGS.isctype.c+=       -I${LIBCDIR}/locale
 CPPFLAGS.tolower_.c+=  -I${LIBCDIR}/locale
 CPPFLAGS.toupper_.c+=  -I${LIBCDIR}/locale
 
-errlist.c: errlist-minix.awk ${NETBSDSRCDIR}/nbsd_include/sys/errno.h
+.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
index b0e2013badf0f61a0e26c0abe32746ff21dd83d8..6cea67fc1d120759a3bae37f23bd45961abbf77c 100644 (file)
@@ -13,7 +13,9 @@ __RCSID("$NetBSD: _verr.c,v 1.10 2005/09/13 01:44:09 christos Exp $");
 #if defined(__indr_reference)
 __indr_reference(_verr, verr)
 #else
-#include <sys/ansi.h> 
+#ifdef __minix
+#include <stdarg.h>
+#endif
 
 __dead void _verr(int, const char *, _BSD_VA_LIST_);
 
index 6e3fa6bc039a38d930e19b9d2126ba8667a6174a..5af3d3ca5561eea761b7bbf5cd44cafba91c699a 100644 (file)
@@ -13,7 +13,9 @@ __RCSID("$NetBSD: _verrx.c,v 1.10 2005/09/13 01:44:09 christos Exp $");
 #if defined(__indr_reference)
 __indr_reference(_verrx, verrx)
 #else
-#include <sys/ansi.h>
+#ifdef __minix
+#include <stdarg.h>
+#endif
 
 __dead void _verrx(int, const char *, _BSD_VA_LIST_);
 
index c843a8ca8bbc6c3db64bccca7f4854a8f2463fd3..5508926ab8a91f824df3815ffcdc3a78d7149e91 100644 (file)
@@ -13,7 +13,9 @@ __RCSID("$NetBSD: _vwarn.c,v 1.10 2005/09/13 01:44:09 christos Exp $");
 #if defined(__indr_reference)
 __indr_reference(_vwarn, vwarn)
 #else
+#ifdef __minix
 #include <stdarg.h>
+#endif
 
 void _vwarn(const char *, _BSD_VA_LIST_);
 
index 9379f46c47971e382ad4e12c954301237b7c5daa..16533de3f5c2810f6419d964a6817d1611faf14d 100644 (file)
@@ -13,7 +13,9 @@ __RCSID("$NetBSD: _vwarnx.c,v 1.10 2005/09/13 01:44:09 christos Exp $");
 #if defined(__indr_reference)
 __indr_reference(_vwarnx, vwarnx)
 #else
+#ifdef __minix
 #include <stdarg.h>
+#endif
 
 void _vwarnx(const char *, _BSD_VA_LIST_);
 
index cec6cbaf664ff50298f39e4232767512be62b3e3..37c606a619075609f7ac56520a72f588eae16c05 100644 (file)
@@ -13,6 +13,7 @@ __RCSID("$NetBSD: _warn.c,v 1.10 2005/09/13 01:44:09 christos Exp $");
 #if defined(__indr_reference)
 __indr_reference(_warn, warn)
 #else
+
 #include <stdarg.h>
 
 void _vwarn(const char *, _BSD_VA_LIST_);
@@ -23,7 +24,11 @@ warn(const char *fmt, ...)
        va_list ap;
 
        va_start(ap, fmt);
+#ifdef __minix
        _vwarn(fmt, ap);
+#else
+       _vwarn(eval, fmt, ap);
+#endif
        va_end(ap);
 }
 #endif
index 2a892d413242f45243fbae7ae7cede0d18625789..ef09ffe549a882a2ac98d55231f2aefc41bea9ce 100644 (file)
@@ -24,7 +24,11 @@ warnx(const char *fmt, ...)
        va_list ap;
 
        va_start(ap, fmt);
+#ifdef __minix
        _vwarnx(fmt, ap);
+#else
+       _vwarnx(eval, fmt, ap);
+#endif
        va_end(ap);
 }
 
index 91598165cb46d6247137e37087fd80c6cf05c3dc..de0c9ea51c35a6b6d8181ceb5a643d1d318df56b 100644 (file)
@@ -814,6 +814,7 @@ _dns_getgrgid(void *nsrv, void *nscb, va_list ap)
 #else
        gid_t            gid    = va_arg(ap, gid_t);
 #endif
+
        int     rv, rerror;
 
        _DIAGASSERT(retval != NULL);
@@ -1168,6 +1169,7 @@ _nis_getgrgid(void *nsrv, void *nscb, va_list ap)
 #else
        gid_t            gid    = va_arg(ap, gid_t);
 #endif
+
        int     rv, rerror;
 
        _DIAGASSERT(retval != NULL);
@@ -1430,7 +1432,11 @@ __grscan_compat(int *retval, struct group *grp, char *buffer, size_t buflen,
                                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 */
@@ -1632,7 +1638,11 @@ static int
 _compat_getgrgid(void *nsrv, void *nscb, va_list ap)
 {
        struct group    **retval = va_arg(ap, struct group **);
-       gid_t            gid    = 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
 
        int     rv, rerror;
 
@@ -1759,6 +1769,7 @@ getgrent(void)
                NS_COMPAT_CB(_compat_getgrent, NULL)
                NS_NULL_CB
        };
+
        mutex_lock(&__grmutex);
        rv = nsdispatch(NULL, dtab, NSDB_GROUP, "getgrent", __nsdefaultcompat,
            &retval);
@@ -1810,7 +1821,11 @@ getgrgid(gid_t gid)
 
        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;
 }
@@ -1837,7 +1852,11 @@ getgrgid_r(gid_t gid, struct group *grp, char *buffer, size_t buflen,
        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:
index cc1a6c0745892f8cec0082ceb882c441ea69c804..2c8a40540c253169a36cf537abc19d089ec380c3 100644 (file)
@@ -321,8 +321,8 @@ _compat_ggm_search(void *cookie, struct group **groupres)
            &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" */
 
index fca7f27d2d81b6af3cad54e9a9a7c98c2aa42a58..1250fc73ad66e858491c8038d8aafe36ad4f6fde 100644 (file)
@@ -1929,7 +1929,6 @@ _passwdcompat_pwscan(struct passwd *pw, char *buffer, size_t buflen,
                    NSDB_PASSWD_COMPAT, "getpwuid_r", __nsdefaultnis,
                    &crv, uid, pw, buffer, buflen, &cpw);
 #endif
-
                break;
        default:
                abort();
index ac2c12222ba16abd0877267e7a2d48dea218bd33..01fab81a4aa1aa53d2a778f62098294fdaff7747 100644 (file)
@@ -39,6 +39,7 @@
 
 #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
@@ -46,6 +47,7 @@
         */
 extern         mutex_t         __grmutex;
 #endif
+
        /*
         * files methods
         */
index 66884b0b332ff30106fce703378df54eade75a85..0b7b0c1d4ceba40087ebda1739e1591290f115df 100644 (file)
@@ -34,8 +34,6 @@
 __RCSID("$NetBSD: initdir.c,v 1.1 2010/09/26 02:26:59 yamt Exp $");
 #endif /* LIBC_SCCS and not lint */
 
-
-
 #include "namespace.h"
 
 #ifdef __minix
index c2b1e3a1cdd98dc9dd12533a21d81bcd8c96ccee..368a963675cba5e379d49eebdf442ae141436eb6 100644 (file)
@@ -47,7 +47,6 @@ __RCSID("$NetBSD: readdir.c,v 1.25 2010/09/16 02:38:50 yamt Exp $");
 #endif
 
 #include "extern.h"
-
 #include <sys/param.h>
 
 #include <dirent.h>
index 91d6483057e7c442b5894d05199e20dccf87da51..ad543df947bfe0f8382b3f58b8f9e3aa38d5191a 100644 (file)
@@ -82,6 +82,7 @@ ttyname_r(int fd, char *buf, size_t len)
        if (len <= DEVSZ) {
                return ERANGE;
        }
+
 #ifndef __minix
        /* If it is a pty, deal with it quickly */
        if (ioctl(fd, TIOCPTSNAME, &ptm) != -1) {
@@ -91,7 +92,6 @@ ttyname_r(int fd, char *buf, size_t len)
                return 0;
        }
 #endif
-
        /* Must be a terminal. */
        if (tcgetattr(fd, &ttyb) == -1)
                return errno;
index faa7ea7d7dde2710a72ff57ea757e8974a7e56a9..63c0e1f0796d1faca27fd6f38ec93555053c380d 100644 (file)
@@ -376,6 +376,7 @@ updwtmpx(const char *file, const struct utmpx *utx)
        return -1;
 }
 
+
 int
 utmpxname(const char *fname)
 {
@@ -500,7 +501,6 @@ updlastlogx(const char *fname, uid_t uid, struct lastlogx *ll)
        if (flock(db->fd(db), LOCK_EX) < 0)
                return -1;
 #endif
-       
        key.data = &uid;
        key.size = sizeof(uid);
        data.data = ll;
index f420df12790e315342ee500aa05a32411ab70e26..d4f31b01964e9c7ed4d8c63f1569301b4d7e0caa 100644 (file)
@@ -398,6 +398,7 @@ _mcleanup(void)
 
        if (p->state == GMON_PROF_ERROR)
                warnx("%s: tos overflow", __func__);
+
 #ifdef __minix
        clockinfo.profhz = sysconf(_SC_CLK_TCK);
 #else /* !__minix */
index 7858f9a429d86793c08be18fcc2bef8a38fedf2a..575157633959e0d98227362a6f669f94e4069db3 100644 (file)
@@ -56,7 +56,11 @@ __writelockenv(void)
 }
 
 static __inline bool
+#ifdef __minix
 __unlockenv(void)
+#else /* Bug-to-bug compatibility? */
+__unlocklockenv(void)
+#endif
 {
        return true;
 }
index 6b3e1bf24b6399cdac94b66a1dd29ba563d0dee6..223156a980a012196f7a39c1bb3faf31e274c4ef 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
- * Redistribution and use in source and binary forms, ith or without
+ * 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
index c936a440dcd707cb744a971ae6e33246b8e7c3c3..a0011bef0e5381285ddba5176d1667721a090d47 100644 (file)
@@ -3,6 +3,7 @@
 # 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}
@@ -17,3 +18,19 @@ ARCHSUBDIR=  ${MACHINE_CPU}
 .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}
+.elif exists(${NETBSDSRCDIR}/lib/libc/arch/${MACHINE_ARCH}/SYS.h)
+ARCHSUBDIR=    ${MACHINE_ARCH}
+.elif exists(${NETBSDSRCDIR}/lib/libc/arch/${MACHINE_CPU}/SYS.h)
+ARCHSUBDIR=    ${MACHINE_CPU}
+.else
+.BEGIN:
+       @echo no ARCHDIR for ${MACHINE_ARCH} nor ${MACHINE_CPU}
+       @false
+.endif
+
+ARCHDIR=       ${NETBSDSRCDIR}/lib/libc/arch/${ARCHSUBDIR}
+.endif
index 63586f0d6d5fda18839f7adb92b636de69841556..35c12d6e18dffa4a24c9ea983d142a545bd611c1 100644 (file)
@@ -162,7 +162,6 @@ __setlocale(int category, const char *name)
        return NULL;
 }
 
-
 char *
 setlocale(int category, const char *locale)
 {
index e597f02ee2efdd2c15dbde1bc5b44d05724099d2..a47c480417c40c65dbe931c073f801d1a55b8661 100644 (file)
@@ -7,9 +7,12 @@ CPPFLAGS+= -nostdinc -O -D__minix -D_POSIX_SOURCE -I${NETBSDINCLUDES}  -D_NETBSD
 AFLAGS+= -nostdinc -D__minix -I${NETBSDINCLUDES}
 
 
+
 CITRUS=yes 
 USE_INET6=no
 
 MKYP=no #requires RPC
 USE_JEMALLOC=no
 USE_FORT=no
+USE_LIBTRE=no
+
diff --git a/lib/nbsd_libc/minix-port.patch b/lib/nbsd_libc/minix-port.patch
new file mode 100644 (file)
index 0000000..dc76625
--- /dev/null
@@ -0,0 +1,2062 @@
+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 =
index e381ef4a69c244524ebd798050558382e6a2b6df..d247e11a5d7ed02f3af2bf28ac622e42edebaf51 100644 (file)
@@ -63,6 +63,7 @@ __guard_setup(void)
 
        if (__stack_chk_guard[0] != 0)
                return;
+
 #ifndef __minix
        mib[0] = CTL_KERN;
        mib[1] = KERN_ARND;
index 7ee0fd79b6ed5c4a2443297ea009f4cb4fd737d0..c25f93247570c94cd35766e4008bd3e03df7a064 100644 (file)
@@ -2,20 +2,33 @@
 #      @(#)Makefile.inc        8.2 (Berkeley) 9/5/93
 
 # net sources
-.PATH: ${ARCHDIR}/net ${.CURDIR}/net/minix ${.CURDIR}/net
+.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 \
        getprotobyname_r.c getprotobynumber_r.c getprotoent_r.c \
        getservbyname.c getservbyport.c getservent.c \
        getservbyname_r.c getservbyport_r.c getservent_r.c \
+       iso_addr.c linkaddr.c \
        nsdispatch.c nslexer.l nsparser.y nsap_addr.c \
-       rcmd.c recv.c send.c sethostent.c
-       
-       
-# Not supported by Minix:
-#      sockatmark.c
+       rcmd.c recv.c send.c sethostent.c \
+       sockatmark.c
+.endif
 
 .if (${MKHESIOD} != "no")
 SRCS+= hesiod.c
@@ -25,9 +38,9 @@ SRCS+=        getaddrinfo.c getnameinfo.c
 .if (${USE_INET6} != "no")
 SRCS+= ip6opt.c rthdr.c vars6.c
 .endif
-# Not supported by minix
-#SRCS+=        if_indextoname.c if_nameindex.c if_nametoindex.c
-#      iso_addr.c linkaddr.c \
+.if !defined(__MINIX)
+SRCS+= if_indextoname.c if_nameindex.c if_nametoindex.c
+.endif
 
 LPREFIX=_nsyy
 YPREFIX=_nsyy
index 0340a765153c46aff8d2e3f31a52deb5d12639ab..ce64bc2d99951b57d7c836bc599346148bc2e842 100644 (file)
@@ -500,6 +500,7 @@ ip6_sa2str(sa6, buf, bufsiz, flags)
 }
 #endif /* INET6 */
 
+
 #ifndef __minix
 /*
  * getnameinfo_link():
index 5878606926326e4e2b2c4ace121149501efeeef8..fd87c811c29b5b2fcd7582b65fd19a12c54a4a7f 100644 (file)
@@ -48,7 +48,9 @@ __RCSID("$NetBSD: rcmd.c,v 1.65 2007/01/03 11:46:22 ws Exp $");
 #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 @@ __RCSID("$NetBSD: rcmd.c,v 1.65 2007/01/03 11:46:22 ws Exp $");
 
 #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 *,
@@ -201,7 +207,6 @@ orcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
        return (error);
 }
 
-
 /*ARGSUSED*/
 static int
 resrcmd(res, ahost, rport, locuser, remuser, cmd, fd2p)
@@ -543,7 +548,7 @@ rresvport_af(alport, family)
        sa = (struct sockaddr *)(void *)&ss;
        switch (family) {
        case AF_INET:
-#if defined(BSD4_4) && !defined(__minix)
+#ifdef BSD4_4
                sa->sa_len =
 #endif
                salen = sizeof(struct sockaddr_in);
@@ -551,7 +556,7 @@ rresvport_af(alport, family)
                break;
 #ifdef INET6
        case AF_INET6:
-#if defined(BSD4_4) && !defined(__minix)
+#ifdef BSD4_4
                sa->sa_len =
 #endif
                salen = sizeof(struct sockaddr_in6);
@@ -654,7 +659,7 @@ iruserok(raddr, superuser, ruser, luser)
 
        memset(&irsin, 0, sizeof(irsin));
        irsin.sin_family = AF_INET;
-#if defined(BSD4_4) && !defined(__minix)
+#ifdef BSD4_4
        irsin.sin_len = sizeof(struct sockaddr_in);
 #endif
        memcpy(&irsin.sin_addr, &raddr, sizeof(irsin.sin_addr));
@@ -774,7 +779,7 @@ __ivaliduser(hostf, raddr, luser, ruser)
 
        memset(&ivusin, 0, sizeof(ivusin));
        ivusin.sin_family = AF_INET;
-#if defined(BSD4_4) && !defined(__minix)
+#ifdef BSD4_4
        ivusin.sin_len = sizeof(struct sockaddr_in);
 #endif
        memcpy(&ivusin.sin_addr, &raddr, sizeof(ivusin.sin_addr));
index e2590bc6f9eee0090d714fd2a2a5a83d5f273222..a3e65b92b39830a3b0fd756753a7f36faf2e89d2 100644 (file)
@@ -469,7 +469,7 @@ __res_vinit(res_state statp, int preinit) {
                                *cp++ = n;
                                net = cp;
                                while (*cp && *cp != ';' &&
-                               isascii(*cp) &&
+                                       isascii(*cp) &&
                                        !isspace((unsigned char)*cp))
                                    cp++;
                                n = *cp;
@@ -603,7 +603,6 @@ out:
                        break;
                }
        }
-
        (void)__res_vinit(statp, 0);
        if (mtime)
                *mtime = __res_conf_time;
index 0038000fc44f659175d09b1de262c6abf7e72a8b..f4d5a9d746d7ccdf963502074d439de95bedaf45 100644 (file)
@@ -4,6 +4,8 @@
 # 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 \
@@ -16,6 +18,20 @@ SRCS+=       _env.c _rand48.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 \
+       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 pty.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
+.endif
 
 # These are often replaced by MD .S versions
 SRCS+= abs.c labs.c llabs.c imaxabs.c
index e97d8f248e8175e6c47ea47d79113bfc3ebda88a..14122306f35bb11ddb3125c65ec785aea30d2bbb 100644 (file)
@@ -2,14 +2,20 @@
 
 .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
+
 
-# Not supported by Minix
-# tcgetsid.c
 
-MAN+=  tcgetpgrp.3 tcsendbreak.3 tcsetattr.3 tcsetpgrp.3
+MAN+=  tcgetpgrp.3 tcgetsid.3 tcsendbreak.3 tcsetattr.3 tcsetpgrp.3
 
 MLINKS+=tcsendbreak.3 tcdrain.3 tcsendbreak.3 tcflow.3 \
        tcsendbreak.3 tcflush.3