From owner-svn-src-projects@FreeBSD.ORG Sun Jan 10 00:08:26 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7EC31065693; Sun, 10 Jan 2010 00:08:26 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C70328FC0C; Sun, 10 Jan 2010 00:08:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A08Q3a057040; Sun, 10 Jan 2010 00:08:26 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A08QHP057038; Sun, 10 Jan 2010 00:08:26 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201001100008.o0A08QHP057038@svn.freebsd.org> From: Brooks Davis Date: Sun, 10 Jan 2010 00:08:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201965 - projects/ngroups/sys/boot/forth X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2010 00:08:26 -0000 Author: brooks Date: Sun Jan 10 00:08:26 2010 New Revision: 201965 URL: http://svn.freebsd.org/changeset/base/201965 Log: Document the kern.ngroups tunable. Modified: projects/ngroups/sys/boot/forth/loader.conf Modified: projects/ngroups/sys/boot/forth/loader.conf ============================================================================== --- projects/ngroups/sys/boot/forth/loader.conf Sat Jan 9 23:50:47 2010 (r201964) +++ projects/ngroups/sys/boot/forth/loader.conf Sun Jan 10 00:08:26 2010 (r201965) @@ -101,6 +101,7 @@ module_path="/boot/modules" # Set the mo #kern.maxusers="32" # Set size of various static tables #kern.nbuf="" # Set the number of buffer headers #kern.ncallout="" # Set the maximum # of timer events +#kern.ngroups="1027" # Set the maximum # of supplemental groups #kern.sgrowsiz="" # Set the amount to grow stack #kern.cam.scsi_delay="2000" # Delay (in ms) before probing SCSI #kern.ipc.maxsockets="" # Set the maximum number of sockets avaliable From owner-svn-src-projects@FreeBSD.ORG Sun Jan 10 03:28:25 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94E9C106568F; Sun, 10 Jan 2010 03:28:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6B2458FC17; Sun, 10 Jan 2010 03:28:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A3SPul001750; Sun, 10 Jan 2010 03:28:25 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A3SPH8001749; Sun, 10 Jan 2010 03:28:25 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201001100328.o0A3SPH8001749@svn.freebsd.org> From: Warner Losh Date: Sun, 10 Jan 2010 03:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201971 - projects/mips/sys/mips/octeon1 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2010 03:28:25 -0000 Author: imp Date: Sun Jan 10 03:28:25 2010 New Revision: 201971 URL: http://svn.freebsd.org/changeset/base/201971 Log: Mirror copy in /head.. Added: - copied from r201970, projects/mips/sys/mips/octeon1/ Directory Properties: projects/mips/sys/mips/cavium/ (props changed) Deleted: projects/mips/sys/mips/octeon1/ From owner-svn-src-projects@FreeBSD.ORG Sun Jan 10 05:14:16 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42424106566B; Sun, 10 Jan 2010 05:14:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 18FAB8FC14; Sun, 10 Jan 2010 05:14:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A5EFZx025193; Sun, 10 Jan 2010 05:14:15 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A5EFHp025192; Sun, 10 Jan 2010 05:14:15 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201001100514.o0A5EFHp025192@svn.freebsd.org> From: Warner Losh Date: Sun, 10 Jan 2010 05:14:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201980 - projects/mips/sys/mips/rmi/dev X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2010 05:14:16 -0000 Author: imp Date: Sun Jan 10 05:14:15 2010 New Revision: 201980 URL: http://svn.freebsd.org/changeset/base/201980 Log: mirror copy in head for less insane diffing... Added: - copied from r201979, projects/mips/sys/dev/rmi/ Directory Properties: projects/mips/sys/mips/rmi/dev/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:15:16 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F62D106566B; Mon, 11 Jan 2010 10:15:16 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6FB6F8FC08; Mon, 11 Jan 2010 10:15:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAFGXJ025918; Mon, 11 Jan 2010 10:15:16 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAFGB8025916; Mon, 11 Jan 2010 10:15:16 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111015.o0BAFGB8025916@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:15:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202073 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:15:16 -0000 Author: rodrigc Date: Mon Jan 11 10:15:16 2010 New Revision: 202073 URL: http://svn.freebsd.org/changeset/base/202073 Log: If filemon device cannot be opened, add some advice to the error message on possible ways to solve the problem. Modified: projects/jbuild/usr.bin/make/job.c Modified: projects/jbuild/usr.bin/make/job.c ============================================================================== --- projects/jbuild/usr.bin/make/job.c Mon Jan 11 10:12:35 2010 (r202072) +++ projects/jbuild/usr.bin/make/job.c Mon Jan 11 10:15:16 2010 (r202073) @@ -667,8 +667,12 @@ filemon_open(Job *job) retry--; } - if (filemon_fd < 0) - err(1, "Could not open filemon device!"); + if (filemon_fd < 0) { + err(1, "Could not open filemon device!\n" + "To address this problem, either:\n\n" + "(1) make sure filemon.ko kernel module is loaded.\n" + "(2) or use '-Q' flag to suppress generation of meta data files\n\n"); + } if ((mon_fd = mkstemp(mon_fname)) < 0) err(1, "Could not create temporary file!"); else if (ioctl(filemon_fd, FILEMON_SET_FD, &mon_fd) < 0) From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:16:12 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D56051065676; Mon, 11 Jan 2010 10:16:12 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C637F8FC16; Mon, 11 Jan 2010 10:16:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAGCkD026158; Mon, 11 Jan 2010 10:16:12 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAGCIZ026156; Mon, 11 Jan 2010 10:16:12 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111016.o0BAGCIZ026156@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:16:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202074 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:16:12 -0000 Author: rodrigc Date: Mon Jan 11 10:16:12 2010 New Revision: 202074 URL: http://svn.freebsd.org/changeset/base/202074 Log: Add back include of after last merge from trunk. Modified: projects/jbuild/usr.bin/make/make.c Modified: projects/jbuild/usr.bin/make/make.c ============================================================================== --- projects/jbuild/usr.bin/make/make.c Mon Jan 11 10:15:16 2010 (r202073) +++ projects/jbuild/usr.bin/make/make.c Mon Jan 11 10:16:12 2010 (r202074) @@ -75,6 +75,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef MAKE_IS_BUILD +#include +#endif #include #include From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:30:58 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4643F106566C; Mon, 11 Jan 2010 10:30:58 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 365878FC08; Mon, 11 Jan 2010 10:30:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAUwgR029578; Mon, 11 Jan 2010 10:30:58 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAUwXX029575; Mon, 11 Jan 2010 10:30:58 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111030.o0BAUwXX029575@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:30:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202075 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:30:58 -0000 Author: rodrigc Date: Mon Jan 11 10:30:57 2010 New Revision: 202075 URL: http://svn.freebsd.org/changeset/base/202075 Log: Add Dir_FindHereOrAbove() function from NetBSD: revision 1.40 date: 2004/02/03 19:25:29; author: chuck; state: Exp; lines: +86 -3 add parent directory search for make as discussed on tech-toolchain. - new dir.c function: Dir_FindHereOrAbove: Search for a path in the current directory and then all the directories above it in turn until the path is found or we reach the root ("/"). Submitted by: obrien, Simon Gerarty Obtained from: NetBSD Modified: projects/jbuild/usr.bin/make/dir.c projects/jbuild/usr.bin/make/dir.h Modified: projects/jbuild/usr.bin/make/dir.c ============================================================================== --- projects/jbuild/usr.bin/make/dir.c Mon Jan 11 10:16:12 2010 (r202074) +++ projects/jbuild/usr.bin/make/dir.c Mon Jan 11 10:30:57 2010 (r202075) @@ -61,6 +61,10 @@ __FBSDID("$FreeBSD$"); * If it exists, the entire path is returned. * Otherwise NULL is returned. * + * Dir_FindHereOrAbove Search for a path in the current directory and + * then all the directories above it in turn until + * the path is found or we reach the root ("/"). + * * Dir_MTime Return the modification time of a node. The file * is searched for along the default search path. * The path and mtime fields of the node are filled in. @@ -83,7 +87,7 @@ __FBSDID("$FreeBSD$"); * Dir_PrintDirectories Print stats about the directory cache. */ -#include +#include #include #include #include @@ -655,7 +659,7 @@ Path_FindFile(char *name, struct Path *p * (fish.c) and what pmake finds (./fish.c). */ if ((!hasSlash || (cp - name == 2 && *name == '.')) && - (Hash_FindEntry(&dot->files, cp) != NULL)) { + (dot != NULL && Hash_FindEntry(&dot->files, cp) != NULL)) { DEBUGF(DIR, ("in '.'\n")); hits += 1; dot->hits += 1; @@ -851,6 +855,83 @@ Path_FindFile(char *name, struct Path *p /*- *----------------------------------------------------------------------- + * Dir_FindHereOrAbove -- + * search for a path starting at a given directory and then working + * our way up towards the root. + * + * Input: + * here starting directory + * search_path the path we are looking for + * result the result of a successful search is placed here + * rlen the length of the result buffer + * (typically MAXPATHLEN + 1) + * + * Results: + * 0 on failure, 1 on success [in which case the found path is put + * in the result buffer]. + * + * Side Effects: + *----------------------------------------------------------------------- + */ +int +Dir_FindHereOrAbove(char *here, char *search_path, char *result, int rlen) +{ + struct stat st; + char dirbase[MAXPATHLEN + 1], *db_end; + char try[MAXPATHLEN + 1], *try_end; + + /* copy out our starting point */ + snprintf(dirbase, sizeof(dirbase), "%s", here); + db_end = dirbase + strlen(dirbase); + + /* loop until we determine a result */ + while (1) { + /* try and stat(2) it ... */ + snprintf(try, sizeof(try), "%s/%s", dirbase, search_path); + if (stat(try, &st) != -1) { + /* + * Success! If we found a file, chop off + * the filename so we return a directory. + */ + if ((st.st_mode & S_IFMT) != S_IFDIR) { + try_end = try + strlen(try); + while (try_end > try && *try_end != '/') + try_end--; + if (try_end > try) + *try_end = 0; /* chop! */ + } + + /* + * Done! + */ + snprintf(result, rlen, "%s", try); + return(1); + } + + /* + * Nope, we didn't find it. If we used up dirbase we've + * reached the root and failed. + */ + if (db_end == dirbase) + break; /* Failed! */ + + /* + * truncate dirbase from the end to move up a dir + */ + while (db_end > dirbase && *db_end != '/') + db_end--; + *db_end = 0; /* chop! */ + + } /* while (1) */ + + /* + * We failed... + */ + return(0); +} + +/*- + *----------------------------------------------------------------------- * Dir_MTime -- * Find the modification time of the file described by gn along the * search path dirSearchPath. Modified: projects/jbuild/usr.bin/make/dir.h ============================================================================== --- projects/jbuild/usr.bin/make/dir.h Mon Jan 11 10:16:12 2010 (r202074) +++ projects/jbuild/usr.bin/make/dir.h Mon Jan 11 10:30:57 2010 (r202075) @@ -72,5 +72,6 @@ void Path_Print(const struct Path *); typedef void path_listcb_t(char *, size_t, const char *); void Path_List(const struct Path *, path_listcb_t *, char *, size_t); #endif +int Dir_FindHereOrAbove(char *, char *, char *, int); #endif /* dir_h_6002e3b8 */ From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:40:16 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CBD2106566C; Mon, 11 Jan 2010 10:40:16 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F0EA58FC0A; Mon, 11 Jan 2010 10:40:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAeFgE031767; Mon, 11 Jan 2010 10:40:15 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAeFsi031765; Mon, 11 Jan 2010 10:40:15 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111040.o0BAeFsi031765@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:40:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202076 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:40:16 -0000 Author: rodrigc Date: Mon Jan 11 10:40:15 2010 New Revision: 202076 URL: http://svn.freebsd.org/changeset/base/202076 Log: Use Dir_FindHereOrAbove() function to recurse up directory tree to look for sys.mk. Submitted by: obrien, Simon Gerraty Reviewed by: John Birrell Modified: projects/jbuild/usr.bin/make/main.c Modified: projects/jbuild/usr.bin/make/main.c ============================================================================== --- projects/jbuild/usr.bin/make/main.c Mon Jan 11 10:30:57 2010 (r202075) +++ projects/jbuild/usr.bin/make/main.c Mon Jan 11 10:40:15 2010 (r202076) @@ -923,6 +923,78 @@ Remake_Makefiles(void) #ifdef MAKE_IS_BUILD static void +find_srctop(char *srctop) +{ + const char *syspaths[] = { + "build/mk2", + "build/mk", + "bld", + NULL, + }; + const char **psp; + char *cp; + char tstdir[MAXPATHLEN]; + char tstfn[MAXPATHLEN]; + int n, x; + + /* + * If no user-supplied system path was given, walk the directory + * tree from the current directory looking for the path to + * "sys.mk" and if found, use that directory as the + * default path to the system make files. + */ + if (TAILQ_EMPTY(&sysIncPath)) { + for (psp = syspaths; *psp; psp++) { + snprintf(tstfn, sizeof(tstfn), "%s/%s", *psp, + PATH_DEFSYSMK); + if (Dir_FindHereOrAbove(curdir, tstfn, tstdir, + sizeof(tstdir))) { + Path_AddDir(&sysIncPath, tstdir); + DEBUGF(DIR, ("Found '%s'\n", tstfn)); + MFLAGS_append("-m", tstdir); + /* we just found srctop */ + if (realpath(tstdir, srctop)) { + n = strlen(srctop); + srctop[n - strlen(*psp) - 1] = '\0'; + } + break; + } + } + } + + if (!srctop[0] && !TAILQ_EMPTY(&sysIncPath)) { + /* + * find "sys.mk" so we can compute srctop + */ + strlcpy(tstfn, PATH_DEFSYSMK, sizeof(tstfn)); + if ((cp = Path_FindFile(tstfn, &sysIncPath))) { + n = strlcpy(tstdir, cp, sizeof(tstdir)); + n -= sizeof(PATH_DEFSYSMK); + tstdir[n] = '\0'; + + /* It _should_ be in one of these */ + for (psp = syspaths; *psp; psp++) { + x = strlen(*psp); + if (strcmp(&tstdir[n - x], *psp) == 0) { + if (realpath(tstdir, srctop)) { + n = strlen(srctop); + srctop[n - x - 1] = '\0'; + } + break; + } + } + } + } + + /* Check if we found the top of our source tree: */ + if (srctop[0] != '\0') { + Var_SetGlobal(".SRCTOP", srctop); + Var_SetGlobal(".SRCREL", curdir + strlen(srctop) + 1); + } +} + + +static void make_objdir(char *path) { struct stat fs; @@ -947,31 +1019,6 @@ make_objdir(char *path) } static void -mk_path_init(char *srctop, size_t ssrctop, const char *p) -{ - char path[MAXPATHLEN]; - const char *mk_path_rel = "/bld"; - size_t len; - size_t len1 = strlen(mk_path_rel); - - if (*srctop != '\0' || ssrctop == 0) - return; - - if (realpath(p, path) == NULL) - return; - - if ((len = strlen(path)) < len1) - return; - - if (strcmp(path + len - len1, mk_path_rel) != 0) - return; - - path[len - len1] = '\0'; - - strlcpy(srctop, path, ssrctop); -} - -static void set_jbuild_path(char **argv) { char candidate[PATH_MAX]; @@ -1299,67 +1346,7 @@ main(int argc, char **argv) } #ifdef MAKE_IS_BUILD - /* - * If no user-supplied system path was given, walk the directory - * tree from the current directory looking for the path to - * "bld/sys.mk" and if found, use that directory as the - * default path to the system make files. - */ - if (TAILQ_EMPTY(&sysIncPath)) { - char tstdir[MAXPATHLEN]; - char tstfn[MAXPATHLEN]; - struct stat fs; - - strlcpy(tstdir, curdir, sizeof(tstdir)); - - while (1) { - /* - * The system mk file we most want is sys.mk, so use - * it as a test of whether the directory is sultable - * for the system path. - */ - snprintf(tstfn, sizeof(tstfn), "%s/bld/sys.mk", tstdir); - if (stat(tstfn, &fs) == 0) { - /* Found the system path, so use it. */ - tstfn[strlen(tstfn) - 7] = '\0'; - Path_AddDir(&sysIncPath, tstfn); - MFLAGS_append("-m", tstfn); - break; - } - - /* Get the parent directory path. */ - if ((cp = strrchr(tstdir, '/')) == NULL) - break; - - /* Already up to the root? Use the default instead. */ - if (cp == tstdir) - break; - - /* Truncate the path at the parent directory name. */ - *cp = '\0'; - } - } - - /* - * At this point we might have been provided with a system path - * if we're a child build, or we might have discovered the system - * path on our own. Either way, we should have a path to a relative - * directory "bld" from the top of our source tree, so we - * can figure out a few special variables from that. - */ - if (!TAILQ_EMPTY(&sysIncPath)) { - /* - * List the system paths until we find one which matches - * the "bld" relative path we prefer. - */ - Path_List(&sysIncPath, mk_path_init, srctop, sizeof(srctop)); - - /* Check if we found the top of our source tree: */ - if (srctop[0] != '\0') { - Var_SetGlobal(".SRCTOP", srctop); - Var_SetGlobal(".SRCREL", curdir + strlen(srctop) + 1); - } - } + find_srctop(srctop); /* * For 'build' we would rather force an object directory than build with From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:41:52 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46A27106566B; Mon, 11 Jan 2010 10:41:52 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3757D8FC0C; Mon, 11 Jan 2010 10:41:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAfqrp036273; Mon, 11 Jan 2010 10:41:52 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAfqYk036270; Mon, 11 Jan 2010 10:41:52 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111041.o0BAfqYk036270@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:41:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202077 - projects/jbuild/usr.bin/jdirdep X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:41:52 -0000 Author: rodrigc Date: Mon Jan 11 10:41:51 2010 New Revision: 202077 URL: http://svn.freebsd.org/changeset/base/202077 Log: Add stub versions of database functions, in case we do not want to compile jbuild with MySQL or SQLite support. Added: projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c Modified: projects/jbuild/usr.bin/jdirdep/Makefile.common Modified: projects/jbuild/usr.bin/jdirdep/Makefile.common ============================================================================== --- projects/jbuild/usr.bin/jdirdep/Makefile.common Mon Jan 11 10:40:15 2010 (r202076) +++ projects/jbuild/usr.bin/jdirdep/Makefile.common Mon Jan 11 10:41:51 2010 (r202077) @@ -9,11 +9,13 @@ CFLAGS += -DUSE_SQLITE3 -pthread CFLAGS += -I/usr/local/include SRCS += jdirdep_sqlite3.c LDADD += /usr/local/lib/libsqlite3.a -.else +.elif defined(USE_MYSQL) SRCS += jdirdep_mysql.c MYSQL_CFLAGS != mysql_config --cflags MYSQL_LIBS != mysql_config --libs CFLAGS += -DUSE_MYSQL ${MYSQL_CFLAGS} LDADD += ${MYSQL_LIBS} LDADD += -static +.else +SRCS += jdirdep_db_stub.c .endif Added: projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/jbuild/usr.bin/jdirdep/jdirdep_db_stub.c Mon Jan 11 10:41:51 2010 (r202077) @@ -0,0 +1,32 @@ +/* $FreeBSD$ */ + +#include +#include +#include "jdirdep.h" + +void +jdirdep_db_close(void) +{ +} + +void * +jdirdep_db_command_res(const char *fmt __unused, ...) +{ + return (NULL); +} + +void +jdirdep_db_command(db_cb_func func __unused, void *vp __unused, const char *fmt __unused, ...) +{ +} + +void +jdirdep_db_open(const char *name __unused) +{ +} + +int64_t +jdirdep_db_rowid(void) +{ + return (0); +} From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 10:49:35 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29B5C106568B; Mon, 11 Jan 2010 10:49:35 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A7BA8FC0A; Mon, 11 Jan 2010 10:49:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BAnYW7038003; Mon, 11 Jan 2010 10:49:34 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BAnYqp038000; Mon, 11 Jan 2010 10:49:34 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001111049.o0BAnYqp038000@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 11 Jan 2010 10:49:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202078 - in projects/jbuild/sys: netinet netinet6 sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 10:49:35 -0000 Author: rodrigc Date: Mon Jan 11 10:49:34 2010 New Revision: 202078 URL: http://svn.freebsd.org/changeset/base/202078 Log: Don't stage vimage.h, vinet.h, vinet6.h which were removed. Modified: projects/jbuild/sys/netinet/Buildfile projects/jbuild/sys/netinet6/Buildfile projects/jbuild/sys/sys/Buildfile Modified: projects/jbuild/sys/netinet/Buildfile ============================================================================== --- projects/jbuild/sys/netinet/Buildfile Mon Jan 11 10:41:51 2010 (r202077) +++ projects/jbuild/sys/netinet/Buildfile Mon Jan 11 10:49:34 2010 (r202078) @@ -66,7 +66,6 @@ INCS = \ tcpip.h \ toedev.h \ udp.h \ - udp_var.h \ - vinet.h + udp_var.h .include Modified: projects/jbuild/sys/netinet6/Buildfile ============================================================================== --- projects/jbuild/sys/netinet6/Buildfile Mon Jan 11 10:41:51 2010 (r202077) +++ projects/jbuild/sys/netinet6/Buildfile Mon Jan 11 10:49:34 2010 (r202078) @@ -24,7 +24,6 @@ INCS = \ scope6_var.h \ sctp6_var.h \ tcp6_var.h \ - udp6_var.h \ - vinet6.h + udp6_var.h .include Modified: projects/jbuild/sys/sys/Buildfile ============================================================================== --- projects/jbuild/sys/sys/Buildfile Mon Jan 11 10:41:51 2010 (r202077) +++ projects/jbuild/sys/sys/Buildfile Mon Jan 11 10:49:34 2010 (r202078) @@ -251,7 +251,6 @@ INCS = \ user.h \ utsname.h \ uuid.h \ - vimage.h \ vmmeter.h \ vnode.h \ vtoc.h \ From owner-svn-src-projects@FreeBSD.ORG Mon Jan 11 22:46:25 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41669106566B; Mon, 11 Jan 2010 22:46:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 18F988FC21; Mon, 11 Jan 2010 22:46:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0BMkOfT098918; Mon, 11 Jan 2010 22:46:24 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0BMkOev098917; Mon, 11 Jan 2010 22:46:24 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201001112246.o0BMkOev098917@svn.freebsd.org> From: Warner Losh Date: Mon, 11 Jan 2010 22:46:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202126 - projects/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 22:46:25 -0000 Author: imp Date: Mon Jan 11 22:46:24 2010 New Revision: 202126 URL: http://svn.freebsd.org/changeset/base/202126 Log: Now that this branch has been merged to head, delete it. We may start another branch in the future, but this one is so damaged we have to retire it now (it is much easier than fixing it). Please do an svn switch svn://svn.freebsd.org/base/head on any existing trees. Deleted: projects/mips/ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 12 07:40:58 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EBD71065670; Tue, 12 Jan 2010 07:40:58 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E34A8FC18; Tue, 12 Jan 2010 07:40:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0C7ewPk017706; Tue, 12 Jan 2010 07:40:58 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0C7ewNH017704; Tue, 12 Jan 2010 07:40:58 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201001120740.o0C7ewNH017704@svn.freebsd.org> From: Brooks Davis Date: Tue, 12 Jan 2010 07:40:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202142 - projects/ngroups/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 07:40:58 -0000 Author: brooks Date: Tue Jan 12 07:40:58 2010 New Revision: 202142 URL: http://svn.freebsd.org/changeset/base/202142 Log: Cap ngroups_max and (INT_MAX-1), any larger and we'll overflow the int counters. Modified: projects/ngroups/sys/kern/subr_param.c Modified: projects/ngroups/sys/kern/subr_param.c ============================================================================== --- projects/ngroups/sys/kern/subr_param.c Tue Jan 12 07:34:23 2010 (r202141) +++ projects/ngroups/sys/kern/subr_param.c Tue Jan 12 07:40:58 2010 (r202142) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include "opt_param.h" #include "opt_maxusers.h" +#include #include #include #include @@ -232,12 +233,15 @@ init_param1(void) /* * Let the administrator set {NGROUPS_MAX}, but disallow values - * less than NGROUPS_MAX which would violate POSIX.1-2008. + * less than NGROUPS_MAX which would violate POSIX.1-2008 or + * greater than INT_MAX-1 which would result in overflow. */ ngroups_max = NGROUPS_MAX; TUNABLE_INT_FETCH("kern.ngroups", &ngroups_max); if (ngroups_max < NGROUPS_MAX) ngroups_max = NGROUPS_MAX; + if (ngroups_max > INT_MAX - 1) + ngroups_max = INT_MAX - 1; } /* From owner-svn-src-projects@FreeBSD.ORG Tue Jan 12 07:55:03 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F0AA106566B; Tue, 12 Jan 2010 07:55:03 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 49CAA8FC1C; Tue, 12 Jan 2010 07:55:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0C7t30f021049; Tue, 12 Jan 2010 07:55:03 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0C7t2v7021014; Tue, 12 Jan 2010 07:55:02 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201001120755.o0C7t2v7021014@svn.freebsd.org> From: Brooks Davis Date: Tue, 12 Jan 2010 07:55:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202144 - in projects/ngroups: . contrib/gcc/config/mips contrib/one-true-awk contrib/opie/libopie etc etc/rc.d games/fortune/datfiles kerberos5/usr.bin/kdestroy kerberos5/usr.bin/kpass... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 07:55:03 -0000 Author: brooks Date: Tue Jan 12 07:55:02 2010 New Revision: 202144 URL: http://svn.freebsd.org/changeset/base/202144 Log: MFH at r202143 Added: projects/ngroups/lib/libc/mips/gen/hardfloat/ - copied from r202143, head/lib/libc/mips/gen/hardfloat/ projects/ngroups/share/man/man3/pthread_affinity_np.3 - copied unchanged from r202143, head/share/man/man3/pthread_affinity_np.3 projects/ngroups/share/man/man3/pthread_attr_affinity_np.3 - copied unchanged from r202143, head/share/man/man3/pthread_attr_affinity_np.3 projects/ngroups/sys/boot/efi/libefi/efipart.c - copied unchanged from r202143, head/sys/boot/efi/libefi/efipart.c projects/ngroups/sys/conf/ldscript.mips.mips64 - copied unchanged from r202143, head/sys/conf/ldscript.mips.mips64 projects/ngroups/sys/conf/ldscript.mips.octeon1.32 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.32 projects/ngroups/sys/conf/ldscript.mips.octeon1.64 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.64 projects/ngroups/sys/conf/ldscript.mips.octeon1.n32 - copied unchanged from r202143, head/sys/conf/ldscript.mips.octeon1.n32 projects/ngroups/sys/dev/cfe/cfe_env.c - copied unchanged from r202143, head/sys/dev/cfe/cfe_env.c projects/ngroups/sys/dev/flash/mx25l.c - copied unchanged from r202143, head/sys/dev/flash/mx25l.c projects/ngroups/sys/dev/flash/mx25lreg.h - copied unchanged from r202143, head/sys/dev/flash/mx25lreg.h projects/ngroups/sys/dev/siba/siba_cc.c - copied unchanged from r202143, head/sys/dev/siba/siba_cc.c projects/ngroups/sys/ia64/ia64/iodev_machdep.c - copied unchanged from r202143, head/sys/ia64/ia64/iodev_machdep.c projects/ngroups/sys/ia64/include/iodev.h - copied unchanged from r202143, head/sys/ia64/include/iodev.h projects/ngroups/sys/mips/alchemy/ - copied from r202143, head/sys/mips/alchemy/ projects/ngroups/sys/mips/atheros/ - copied from r202143, head/sys/mips/atheros/ projects/ngroups/sys/mips/cavium/ - copied from r202143, head/sys/mips/cavium/ projects/ngroups/sys/mips/conf/ALCHEMY - copied unchanged from r202143, head/sys/mips/conf/ALCHEMY projects/ngroups/sys/mips/conf/AR71XX - copied unchanged from r202143, head/sys/mips/conf/AR71XX projects/ngroups/sys/mips/conf/AR71XX.hints - copied unchanged from r202143, head/sys/mips/conf/AR71XX.hints projects/ngroups/sys/mips/conf/MALTA64 - copied unchanged from r202143, head/sys/mips/conf/MALTA64 projects/ngroups/sys/mips/conf/OCTEON1 - copied unchanged from r202143, head/sys/mips/conf/OCTEON1 projects/ngroups/sys/mips/conf/OCTEON1-32 - copied unchanged from r202143, head/sys/mips/conf/OCTEON1-32 projects/ngroups/sys/mips/conf/OCTEON1.hints - copied unchanged from r202143, head/sys/mips/conf/OCTEON1.hints projects/ngroups/sys/mips/conf/SWARM - copied unchanged from r202143, head/sys/mips/conf/SWARM projects/ngroups/sys/mips/conf/SWARM.hints - copied unchanged from r202143, head/sys/mips/conf/SWARM.hints projects/ngroups/sys/mips/conf/XLR - copied unchanged from r202143, head/sys/mips/conf/XLR projects/ngroups/sys/mips/include/cdefs.h - copied unchanged from r202143, head/sys/mips/include/cdefs.h projects/ngroups/sys/mips/include/fls64.h - copied unchanged from r202143, head/sys/mips/include/fls64.h projects/ngroups/sys/mips/mips/bus_space_generic.c - copied unchanged from r202143, head/sys/mips/mips/bus_space_generic.c projects/ngroups/sys/mips/mips/elf_trampoline.c - copied unchanged from r202143, head/sys/mips/mips/elf_trampoline.c projects/ngroups/sys/mips/mips/inckern.S - copied unchanged from r202143, head/sys/mips/mips/inckern.S projects/ngroups/sys/mips/mips/ptrace_machdep.c - copied unchanged from r202143, head/sys/mips/mips/ptrace_machdep.c projects/ngroups/sys/mips/mips/sys_machdep.c - copied unchanged from r202143, head/sys/mips/mips/sys_machdep.c projects/ngroups/sys/mips/rmi/ - copied from r202143, head/sys/mips/rmi/ projects/ngroups/sys/mips/sibyte/ - copied from r202143, head/sys/mips/sibyte/ projects/ngroups/sys/modules/epic/ - copied from r202143, head/sys/modules/epic/ projects/ngroups/sys/sparc64/ebus/epic.c - copied unchanged from r202143, head/sys/sparc64/ebus/epic.c Deleted: projects/ngroups/contrib/one-true-awk/mac.code projects/ngroups/lib/libc/mips/gen/fpgetmask.c projects/ngroups/lib/libc/mips/gen/fpgetround.c projects/ngroups/lib/libc/mips/gen/fpgetsticky.c projects/ngroups/lib/libc/mips/gen/fpsetmask.c projects/ngroups/lib/libc/mips/gen/fpsetround.c projects/ngroups/lib/libc/mips/gen/fpsetsticky.c projects/ngroups/sys/boot/efi/libefi/efifs.c projects/ngroups/sys/mips/include/bus_octeon.h projects/ngroups/sys/mips/include/intr.h projects/ngroups/sys/mips/include/pltfm.h projects/ngroups/sys/mips/sentry5/siba_cc.c projects/ngroups/sys/mips/sentry5/siba_mips.c projects/ngroups/sys/mips/sentry5/siba_sdram.c projects/ngroups/usr.bin/awk/b.c.diff projects/ngroups/usr.bin/awk/main.c.diff projects/ngroups/usr.bin/awk/run.c.diff Modified: projects/ngroups/Makefile projects/ngroups/UPDATING projects/ngroups/contrib/gcc/config/mips/freebsd.h projects/ngroups/contrib/one-true-awk/FIXES projects/ngroups/contrib/one-true-awk/b.c projects/ngroups/contrib/one-true-awk/lib.c projects/ngroups/contrib/one-true-awk/main.c projects/ngroups/contrib/one-true-awk/makefile projects/ngroups/contrib/one-true-awk/maketab.c projects/ngroups/contrib/one-true-awk/proctab.c projects/ngroups/contrib/one-true-awk/proto.h projects/ngroups/contrib/one-true-awk/run.c projects/ngroups/contrib/opie/libopie/getutmpentry.c projects/ngroups/contrib/opie/libopie/insecure.c projects/ngroups/contrib/opie/libopie/login.c projects/ngroups/etc/rc.firewall projects/ngroups/etc/termcap.small projects/ngroups/games/fortune/datfiles/freebsd-tips projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile projects/ngroups/lib/libc/Makefile projects/ngroups/lib/libc/gen/sem_init.3 projects/ngroups/lib/libc/gen/sem_open.3 projects/ngroups/lib/libc/mips/Symbol.map projects/ngroups/lib/libc/mips/sys/brk.S projects/ngroups/lib/libc/stdio/fread.c projects/ngroups/lib/libc/stdio/fwrite.c projects/ngroups/lib/libc/sys/cpuset.2 projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 projects/ngroups/lib/libstand/dosfs.c projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h projects/ngroups/lib/libusb/libusb20.c projects/ngroups/sbin/fsck_ffs/pass2.c projects/ngroups/share/man/man3/Makefile projects/ngroups/share/man/man3/pthread.3 projects/ngroups/share/man/man3/pthread_attr.3 projects/ngroups/share/man/man4/bridge.4 projects/ngroups/share/man/man4/faith.4 projects/ngroups/share/man/man4/uart.4 projects/ngroups/share/man/man5/devfs.rules.5 projects/ngroups/share/man/man9/sleepqueue.9 projects/ngroups/share/mk/bsd.libnames.mk projects/ngroups/share/termcap/termcap.src projects/ngroups/sys/amd64/amd64/io.c projects/ngroups/sys/amd64/amd64/mp_machdep.c projects/ngroups/sys/amd64/amd64/pmap.c projects/ngroups/sys/amd64/amd64/sys_machdep.c projects/ngroups/sys/amd64/conf/GENERIC projects/ngroups/sys/amd64/include/iodev.h projects/ngroups/sys/boot/common/bootstrap.h projects/ngroups/sys/boot/common/dev_net.c projects/ngroups/sys/boot/efi/include/efilib.h projects/ngroups/sys/boot/efi/libefi/Makefile projects/ngroups/sys/boot/forth/loader.conf projects/ngroups/sys/boot/ia64/efi/conf.c projects/ngroups/sys/boot/ia64/efi/main.c projects/ngroups/sys/boot/ia64/efi/version projects/ngroups/sys/boot/sparc64/loader/Makefile projects/ngroups/sys/cam/ata/ata_xpt.c projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/ngroups/sys/compat/linux/linux_file.c projects/ngroups/sys/conf/Makefile.mips projects/ngroups/sys/conf/NOTES projects/ngroups/sys/conf/files projects/ngroups/sys/conf/files.ia64 projects/ngroups/sys/conf/files.mips projects/ngroups/sys/conf/files.sparc64 projects/ngroups/sys/conf/kern.mk projects/ngroups/sys/conf/ldscript.mips projects/ngroups/sys/conf/options projects/ngroups/sys/conf/options.mips projects/ngroups/sys/dev/ae/if_ae.c projects/ngroups/sys/dev/ahci/ahci.c projects/ngroups/sys/dev/ata/ata-all.c projects/ngroups/sys/dev/ata/chipsets/ata-ati.c projects/ngroups/sys/dev/cfe/cfe_api.c projects/ngroups/sys/dev/cxgb/common/cxgb_t3_hw.c projects/ngroups/sys/dev/ic/ns16550.h projects/ngroups/sys/dev/io/iodev.c projects/ngroups/sys/dev/iwn/if_iwn.c projects/ngroups/sys/dev/iwn/if_iwnvar.h projects/ngroups/sys/dev/mxge/eth_z8e.h projects/ngroups/sys/dev/mxge/ethp_z8e.h projects/ngroups/sys/dev/mxge/if_mxge.c projects/ngroups/sys/dev/mxge/rss_eth_z8e.h projects/ngroups/sys/dev/mxge/rss_ethp_z8e.h projects/ngroups/sys/dev/sound/pci/hda/hdac.c projects/ngroups/sys/dev/sound/pci/hda/hdac_private.h projects/ngroups/sys/dev/usb/serial/u3g.c projects/ngroups/sys/dev/usb/usbdevs projects/ngroups/sys/i386/conf/GENERIC projects/ngroups/sys/i386/i386/io.c projects/ngroups/sys/i386/i386/locore.s projects/ngroups/sys/i386/i386/pmap.c projects/ngroups/sys/i386/include/iodev.h projects/ngroups/sys/i386/xen/mp_machdep.c projects/ngroups/sys/i386/xen/xen_machdep.c projects/ngroups/sys/ia64/conf/DEFAULTS projects/ngroups/sys/ia64/conf/GENERIC projects/ngroups/sys/ia64/ia64/sys_machdep.c projects/ngroups/sys/ia64/include/sysarch.h projects/ngroups/sys/kern/kern_clock.c projects/ngroups/sys/kern/kern_environment.c projects/ngroups/sys/kern/kern_jail.c projects/ngroups/sys/kern/kern_umtx.c projects/ngroups/sys/kern/subr_sleepqueue.c projects/ngroups/sys/kern/subr_turnstile.c projects/ngroups/sys/kern/vfs_syscalls.c projects/ngroups/sys/mips/adm5120/adm5120_machdep.c projects/ngroups/sys/mips/adm5120/files.adm5120 projects/ngroups/sys/mips/adm5120/if_admsw.c projects/ngroups/sys/mips/adm5120/obio.c projects/ngroups/sys/mips/adm5120/uart_cpu_adm5120.c projects/ngroups/sys/mips/conf/MALTA projects/ngroups/sys/mips/conf/SENTRY5 projects/ngroups/sys/mips/idt/files.idt projects/ngroups/sys/mips/idt/idt_machdep.c projects/ngroups/sys/mips/idt/obio.c projects/ngroups/sys/mips/idt/uart_bus_rc32434.c projects/ngroups/sys/mips/idt/uart_cpu_rc32434.c projects/ngroups/sys/mips/include/_align.h projects/ngroups/sys/mips/include/_bus.h projects/ngroups/sys/mips/include/_types.h projects/ngroups/sys/mips/include/asm.h projects/ngroups/sys/mips/include/atomic.h projects/ngroups/sys/mips/include/bus.h projects/ngroups/sys/mips/include/cache.h projects/ngroups/sys/mips/include/cache_mipsNN.h projects/ngroups/sys/mips/include/cpu.h projects/ngroups/sys/mips/include/cpufunc.h projects/ngroups/sys/mips/include/cpuinfo.h projects/ngroups/sys/mips/include/cpuregs.h projects/ngroups/sys/mips/include/db_machdep.h projects/ngroups/sys/mips/include/elf.h projects/ngroups/sys/mips/include/endian.h projects/ngroups/sys/mips/include/float.h projects/ngroups/sys/mips/include/hwfunc.h projects/ngroups/sys/mips/include/intr_machdep.h projects/ngroups/sys/mips/include/kdb.h projects/ngroups/sys/mips/include/locore.h projects/ngroups/sys/mips/include/md_var.h projects/ngroups/sys/mips/include/param.h projects/ngroups/sys/mips/include/pcb.h projects/ngroups/sys/mips/include/pmap.h projects/ngroups/sys/mips/include/proc.h projects/ngroups/sys/mips/include/profile.h projects/ngroups/sys/mips/include/psl.h projects/ngroups/sys/mips/include/pte.h projects/ngroups/sys/mips/include/regdef.h projects/ngroups/sys/mips/include/regnum.h projects/ngroups/sys/mips/include/sysarch.h projects/ngroups/sys/mips/include/trap.h projects/ngroups/sys/mips/include/ucontext.h projects/ngroups/sys/mips/malta/files.malta projects/ngroups/sys/mips/malta/gt_pci.c projects/ngroups/sys/mips/malta/malta_machdep.c projects/ngroups/sys/mips/malta/maltareg.h projects/ngroups/sys/mips/malta/obio.c projects/ngroups/sys/mips/malta/std.malta projects/ngroups/sys/mips/malta/uart_bus_maltausart.c projects/ngroups/sys/mips/malta/uart_cpu_maltausart.c projects/ngroups/sys/mips/malta/yamon.h projects/ngroups/sys/mips/mips/busdma_machdep.c projects/ngroups/sys/mips/mips/cache.c projects/ngroups/sys/mips/mips/cache_mipsNN.c projects/ngroups/sys/mips/mips/copystr.S projects/ngroups/sys/mips/mips/cpu.c projects/ngroups/sys/mips/mips/db_trace.c projects/ngroups/sys/mips/mips/elf_machdep.c projects/ngroups/sys/mips/mips/exception.S projects/ngroups/sys/mips/mips/fp.S projects/ngroups/sys/mips/mips/gdb_machdep.c projects/ngroups/sys/mips/mips/genassym.c projects/ngroups/sys/mips/mips/in_cksum.c projects/ngroups/sys/mips/mips/intr_machdep.c projects/ngroups/sys/mips/mips/locore.S projects/ngroups/sys/mips/mips/machdep.c projects/ngroups/sys/mips/mips/mainbus.c projects/ngroups/sys/mips/mips/mem.c projects/ngroups/sys/mips/mips/nexus.c projects/ngroups/sys/mips/mips/pm_machdep.c projects/ngroups/sys/mips/mips/pmap.c projects/ngroups/sys/mips/mips/psraccess.S projects/ngroups/sys/mips/mips/support.S projects/ngroups/sys/mips/mips/swtch.S projects/ngroups/sys/mips/mips/tick.c projects/ngroups/sys/mips/mips/tlb.S projects/ngroups/sys/mips/mips/trap.c projects/ngroups/sys/mips/mips/vm_machdep.c projects/ngroups/sys/mips/sentry5/files.sentry5 projects/ngroups/sys/mips/sentry5/obio.c projects/ngroups/sys/mips/sentry5/s5_machdep.c projects/ngroups/sys/mips/sentry5/uart_bus_sbusart.c projects/ngroups/sys/mips/sentry5/uart_cpu_sbusart.c projects/ngroups/sys/modules/Makefile projects/ngroups/sys/net/if_epair.c projects/ngroups/sys/netgraph/ng_ether.c projects/ngroups/sys/nfsclient/nfs_vfsops.c projects/ngroups/sys/nfsclient/nfs_vnops.c projects/ngroups/sys/nfsserver/nfs.h projects/ngroups/sys/nfsserver/nfs_fha.c projects/ngroups/sys/nfsserver/nfs_srvkrpc.c projects/ngroups/sys/opencrypto/cryptosoft.c projects/ngroups/sys/pc98/conf/GENERIC projects/ngroups/sys/powerpc/conf/GENERIC projects/ngroups/sys/sparc64/conf/GENERIC projects/ngroups/sys/sparc64/pci/fire.c projects/ngroups/sys/sun4v/conf/GENERIC projects/ngroups/sys/sys/proc.h projects/ngroups/sys/sys/sleepqueue.h projects/ngroups/sys/sys/syscallsubr.h projects/ngroups/sys/sys/systm.h projects/ngroups/sys/ufs/ffs/ffs_alloc.c projects/ngroups/sys/ufs/ffs/fs.h projects/ngroups/sys/ufs/ufs/ufs_lookup.c projects/ngroups/tools/build/mk/OptionalObsoleteFiles.inc projects/ngroups/usr.bin/awk/Makefile projects/ngroups/usr.bin/lastcomm/lastcomm.c projects/ngroups/usr.bin/make/job.c projects/ngroups/usr.bin/netstat/if.c projects/ngroups/usr.bin/netstat/main.c projects/ngroups/usr.bin/netstat/netstat.1 projects/ngroups/usr.bin/netstat/netstat.h projects/ngroups/usr.sbin/faithd/faithd.8 projects/ngroups/usr.sbin/traceroute/findsaddr-udp.c projects/ngroups/usr.sbin/usbconfig/Makefile projects/ngroups/usr.sbin/usbconfig/usbconfig.c Directory Properties: projects/ngroups/ (props changed) projects/ngroups/cddl/contrib/opensolaris/ (props changed) projects/ngroups/contrib/ee/ (props changed) projects/ngroups/contrib/expat/ (props changed) projects/ngroups/contrib/less/ (props changed) projects/ngroups/contrib/one-true-awk/ (props changed) projects/ngroups/contrib/tcsh/ (props changed) projects/ngroups/etc/rc.d/static_arp (props changed) projects/ngroups/sys/cddl/contrib/opensolaris/ (props changed) projects/ngroups/sys/cddl/contrib/opensolaris/uts/common/rpc/ (props changed) projects/ngroups/sys/contrib/dev/acpica/ (props changed) projects/ngroups/sys/dev/xen/xenpci/ (props changed) Modified: projects/ngroups/Makefile ============================================================================== --- projects/ngroups/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -321,8 +321,9 @@ universe_${target}: @echo ">> ${target} completed on `LC_ALL=C date`" .endfor universe_kernels: universe_kernconfs -BUILD_ARCH!= uname -p -TARGET?= ${BUILD_ARCH} +.if !defined(TARGET) +TARGET!= uname -m +.endif KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \ find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \ ! -name DEFAULTS ! -name NOTES Modified: projects/ngroups/UPDATING ============================================================================== --- projects/ngroups/UPDATING Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/UPDATING Tue Jan 12 07:55:02 2010 (r202144) @@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20100108: + Introduce the kernel thread "deadlock resolver" (which can be enabled + via the DEADLKRES option, see NOTES for more details) and the + sleepq_type() function for sleepqueues. + 20091202: The rc.firewall and rc.firewall6 were unified, and rc.firewall6 and rc.d/ip6fw were removed. Modified: projects/ngroups/contrib/gcc/config/mips/freebsd.h ============================================================================== --- projects/ngroups/contrib/gcc/config/mips/freebsd.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/gcc/config/mips/freebsd.h Tue Jan 12 07:55:02 2010 (r202144) @@ -97,6 +97,9 @@ Boston, MA 02110-1301, USA. */ Needs to agree with . GCC defaults come from c-decl.c, c-common.c, and config//.h. */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_ABICALLS | MASK_SOFT_FLOAT) + #if TARGET_ENDIAN_DEFAULT != 0 #define TARGET_VERSION fprintf (stderr, " (FreeBSD/mips)"); #else Modified: projects/ngroups/contrib/one-true-awk/FIXES ============================================================================== --- projects/ngroups/contrib/one-true-awk/FIXES Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/FIXES Tue Jan 12 07:55:02 2010 (r202144) @@ -25,6 +25,23 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Nov 26, 2009: + fixed a long-standing issue with when FS takes effect. a + change to FS is now noticed immediately for subsequent splits. + + changed the name getline() to awkgetline() to avoid yet another + name conflict somewhere. + +Feb 11, 2009: + temporarily for now defined HAS_ISBLANK, since that seems to + be the best way through the thicket. isblank arrived in C99, + but seems to be arriving at different systems at different + times. + +Oct 8, 2008: + fixed typo in b.c that set tmpvec wrongly. no one had ever + run into the problem, apparently. thanks to alistair crooks. + Oct 23, 2007: minor fix in lib.c: increase inputFS to 100, change malloc for fields to n+1. Modified: projects/ngroups/contrib/one-true-awk/b.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/b.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/b.c Tue Jan 12 07:55:02 2010 (r202144) @@ -24,6 +24,9 @@ THIS SOFTWARE. /* lasciate ogne speranza, voi ch'intrate. */ +#include +__FBSDID("$FreeBSD$"); + #define DEBUG #include @@ -285,9 +288,21 @@ int quoted(char **pp) /* pick up next th return c; } +static int collate_range_cmp(int a, int b) +{ + static char s[2][2]; + + if ((uschar)a == (uschar)b) + return 0; + s[0][0] = a; + s[1][0] = b; + return (strcoll(s[0], s[1])); +} + char *cclenter(const char *argp) /* add a character class */ { int i, c, c2; + int j; uschar *p = (uschar *) argp; uschar *op, *bp; static uschar *buf = 0; @@ -306,15 +321,18 @@ char *cclenter(const char *argp) /* add c2 = *p++; if (c2 == '\\') c2 = quoted((char **) &p); - if (c > c2) { /* empty; ignore */ + if (collate_range_cmp(c, c2) > 0) { bp--; i--; continue; } - while (c < c2) { + for (j = 0; j < NCHARS; j++) { + if ((collate_range_cmp(c, j) > 0) || + collate_range_cmp(j, c2) > 0) + continue; if (!adjbuf((char **) &buf, &bufsz, bp-buf+2, 100, (char **) &bp, "cclenter1")) FATAL("out of space for character class [%.10s...] 2", p); - *bp++ = ++c; + *bp++ = j; i++; } continue; @@ -731,6 +749,7 @@ Node *unary(Node *np) * to nelson beebe for the suggestion; let's see if it works everywhere. */ +/* #define HAS_ISBLANK */ #ifndef HAS_ISBLANK int (isblank)(int c) @@ -876,7 +895,7 @@ int cgoto(fa *f, int s, int c) if (q[j] >= maxsetvec) { maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); - tmpset = (int *) realloc(setvec, maxsetvec * sizeof(int)); + tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); if (setvec == 0 || tmpset == 0) overflo("cgoto overflow"); } Modified: projects/ngroups/contrib/one-true-awk/lib.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/lib.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/lib.c Tue Jan 12 07:55:02 2010 (r202144) @@ -274,6 +274,7 @@ void fldbld(void) /* create fields from } fr = fields; i = 0; /* number of fields accumulated here */ + strcpy(inputFS, *FS); if (strlen(inputFS) > 1) { /* it's a regular expression */ i = refldbld(r, inputFS); } else if ((sep = *inputFS) == ' ') { /* default whitespace */ Modified: projects/ngroups/contrib/one-true-awk/main.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/main.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/main.c Tue Jan 12 07:55:02 2010 (r202144) @@ -22,7 +22,10 @@ ARISING OUT OF OR IN CONNECTION WITH THE THIS SOFTWARE. ****************************************************************/ -const char *version = "version 20070501"; +#include +__FBSDID("$FreeBSD$"); + +const char *version = "version 20091126 (FreeBSD)"; #define DEBUG #include @@ -58,6 +61,7 @@ int main(int argc, char *argv[]) const char *fs = NULL; setlocale(LC_CTYPE, ""); + setlocale(LC_COLLATE, ""); setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */ cmdname = argv[0]; if (argc == 1) { @@ -86,13 +90,18 @@ int main(int argc, char *argv[]) safe = 1; break; case 'f': /* next argument is program filename */ - argc--; - argv++; - if (argc <= 1) - FATAL("no program filename"); - if (npfile >= MAX_PFILE - 1) - FATAL("too many -f options"); - pfile[npfile++] = argv[1]; + if (argv[1][2] != 0) { /* arg is -fsomething */ + if (npfile >= MAX_PFILE - 1) + FATAL("too many -f options"); + pfile[npfile++] = &argv[1][2]; + } else { /* arg is -f something */ + argc--; argv++; + if (argc <= 1) + FATAL("no program filename"); + if (npfile >= MAX_PFILE - 1) + FATAL("too many -f options"); + pfile[npfile++] = argv[1]; + } break; case 'F': /* set field separator */ if (argv[1][2] != 0) { /* arg is -Fsomething */ @@ -111,8 +120,14 @@ int main(int argc, char *argv[]) WARNING("field separator FS is empty"); break; case 'v': /* -v a=1 to be done NOW. one -v for each */ - if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) - setclvar(argv[1]); + if (argv[1][2] != 0) { /* arg is -vsomething */ + if (argv[1][2] != 0) + setclvar(&argv[1][2]); + } else { /* arg is -v something */ + argc--; argv++; + if (argc > 1 && isclvar(argv[1])) + setclvar(argv[1]); + } break; case 'd': dbg = atoi(&argv[1][2]); Modified: projects/ngroups/contrib/one-true-awk/makefile ============================================================================== --- projects/ngroups/contrib/one-true-awk/makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -31,7 +31,6 @@ CC = gcc -fprofile-arcs -ftest-coverage CC = gcc -Wall -g CC = cc CC = gcc -O4 -CC = gcc -Wall -g YACC = bison -y Modified: projects/ngroups/contrib/one-true-awk/maketab.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/maketab.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/maketab.c Tue Jan 12 07:55:02 2010 (r202144) @@ -102,7 +102,7 @@ struct xx { CALL, "call", "call" }, { ARG, "arg", "arg" }, { VARNF, "getnf", "NF" }, - { GETLINE, "getline", "getline" }, + { GETLINE, "awkgetline", "getline" }, { 0, "", "" }, }; Modified: projects/ngroups/contrib/one-true-awk/proctab.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/proctab.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/proctab.c Tue Jan 12 07:55:02 2010 (r202144) @@ -180,7 +180,7 @@ Cell *(*proctab[93])(Node **, int) = { nullproc, /* NUMBER */ nullproc, /* STRING */ nullproc, /* REGEXPR */ - getline, /* GETLINE */ + awkgetline, /* GETLINE */ substr, /* SUBSTR */ split, /* SPLIT */ jump, /* RETURN */ Modified: projects/ngroups/contrib/one-true-awk/proto.h ============================================================================== --- projects/ngroups/contrib/one-true-awk/proto.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/proto.h Tue Jan 12 07:55:02 2010 (r202144) @@ -149,7 +149,7 @@ extern Cell *call(Node **, int); extern Cell *copycell(Cell *); extern Cell *arg(Node **, int); extern Cell *jump(Node **, int); -extern Cell *getline(Node **, int); +extern Cell *awkgetline(Node **, int); extern Cell *getnf(Node **, int); extern Cell *array(Node **, int); extern Cell *awkdelete(Node **, int); Modified: projects/ngroups/contrib/one-true-awk/run.c ============================================================================== --- projects/ngroups/contrib/one-true-awk/run.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/one-true-awk/run.c Tue Jan 12 07:55:02 2010 (r202144) @@ -22,6 +22,9 @@ ARISING OUT OF OR IN CONNECTION WITH THE THIS SOFTWARE. ****************************************************************/ +#include +__FBSDID("$FreeBSD$"); + #define DEBUG #include #include @@ -388,7 +391,7 @@ Cell *jump(Node **a, int n) /* break, co return 0; /* not reached */ } -Cell *getline(Node **a, int n) /* get next line from specific input */ +Cell *awkgetline(Node **a, int n) /* get next line from specific input */ { /* a[0] is variable, a[1] is operator, a[2] is filename */ Cell *r, *x; extern Cell **fldtab; @@ -653,7 +656,7 @@ Cell *relop(Node **a, int n) /* a[0 < a[ j = x->fval - y->fval; i = j<0? -1: (j>0? 1: 0); } else { - i = strcmp(getsval(x), getsval(y)); + i = strcoll(getsval(x), getsval(y)); } tempfree(x); tempfree(y); @@ -1159,11 +1162,11 @@ Cell *cat(Node **a, int q) /* a[0] cat a x->sval, y->sval); strcpy(s, x->sval); strcpy(s+n1, y->sval); + tempfree(x); tempfree(y); z = gettemp(); z->sval = s; z->tval = STR; - tempfree(x); return(z); } Modified: projects/ngroups/contrib/opie/libopie/getutmpentry.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/getutmpentry.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/getutmpentry.c Tue Jan 12 07:55:02 2010 (r202144) @@ -15,13 +15,14 @@ you didn't get a copy, you may request o #include "opie_cfg.h" #include #include -#include #if DOUTMPX #include #define setutent setutxent #define getutline(x) getutxline(x) #define utmp utmpx +#else +#include #endif /* DOUTMPX */ #if HAVE_STRING_H Modified: projects/ngroups/contrib/opie/libopie/insecure.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/insecure.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/insecure.c Tue Jan 12 07:55:02 2010 (r202144) @@ -39,11 +39,12 @@ $FreeBSD$ #include #include -#include #if DOUTMPX #include #define utmp utmpx #define endutent endutxent +#else +#include #endif /* DOUTMPX */ #if HAVE_SYS_UTSNAME_H Modified: projects/ngroups/contrib/opie/libopie/login.c ============================================================================== --- projects/ngroups/contrib/opie/libopie/login.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/contrib/opie/libopie/login.c Tue Jan 12 07:55:02 2010 (r202144) @@ -21,13 +21,14 @@ you didn't get a copy, you may request o #include "opie_cfg.h" #include #include -#include #if DOUTMPX #include #define pututline(x) pututxline(x) #define endutent endutxent #define utmp utmpx +#else +#include #endif /* DOUTMPX */ #if HAVE_STRING_H Modified: projects/ngroups/etc/rc.firewall ============================================================================== --- projects/ngroups/etc/rc.firewall Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/etc/rc.firewall Tue Jan 12 07:55:02 2010 (r202144) @@ -220,6 +220,8 @@ case ${firewall_type} in # Allow any link-local multicast traffic ${fwcmd} add pass all from fe80::/10 to ff02::/16 ${fwcmd} add pass all from ${net6} to ff02::/16 + # Allow DHCPv6 + ${fwcmd} add pass udp from fe80::/10 to me6 546 fi # Allow TCP through if setup succeeded Modified: projects/ngroups/etc/termcap.small ============================================================================== --- projects/ngroups/etc/termcap.small Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/etc/termcap.small Tue Jan 12 07:55:02 2010 (r202144) @@ -294,9 +294,9 @@ pc3|ibmpc3|IBM PC 386BSD Console:\ # $XTermId: termcap,v 1.78 2009/11/09 00:24:26 tom Exp $ # xterm-new|modern xterm:\ - :*6=\EOF:@7=\EOF:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\ + :@7=\EOF:@8=\EOM:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ - :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kH=\EOF:kI=\E[2~:\ + :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:\ :tc=xterm-basic: # Modified: projects/ngroups/games/fortune/datfiles/freebsd-tips ============================================================================== --- projects/ngroups/games/fortune/datfiles/freebsd-tips Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/games/fortune/datfiles/freebsd-tips Tue Jan 12 07:55:02 2010 (r202144) @@ -50,18 +50,6 @@ If you are in the C shell and have just be able to run it unless you first type "rehash". -- Dru % -If you are running xterm, the default TERM variable will be 'xterm'. If you -set this environment variable to 'xterm-color' instead, a lot of programs will -use colors. You can do this by - - TERM=xterm-color; export TERM - -in Bourne-derived shells, and - - setenv TERM xterm-color - -in csh-derived shells. -% If you do not want to get beeps in X11 (X Windows), you can turn them off with xset b off Modified: projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile ============================================================================== --- projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/kerberos5/usr.bin/kdestroy/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -2,7 +2,7 @@ PROG= kdestroy CFLAGS+=-I${KRB5DIR}/lib/roken -DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509) ${LIBROKEN} ${LIBVERS} \ +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} LDADD= -lkafs5 -lkrb5 -lhx509 -lroken ${LIBVERS} \ -lasn1 -lcrypto -lcrypt -lcom_err Modified: projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile ============================================================================== --- projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/kerberos5/usr.bin/kpasswd/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -2,7 +2,7 @@ PROG= kpasswd CFLAGS+=-I${KRB5DIR}/lib/roken -DPADD= ${LIBKRB5} ${LIBHX509 ${LIBROKEN} ${LIBVERS} \ +DPADD= ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} LDADD= -lkrb5 -lhx509 -lroken ${LIBVERS} \ -lasn1 -lcrypto -lcrypt -lcom_err Modified: projects/ngroups/lib/libc/Makefile ============================================================================== --- projects/ngroups/lib/libc/Makefile Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/Makefile Tue Jan 12 07:55:02 2010 (r202144) @@ -64,7 +64,7 @@ NOASM= .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" -.if ${MACHINE_ARCH} == "arm" +.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips" .include "${.CURDIR}/softfloat/Makefile.inc" .endif .if ${MK_NIS} != "no" Modified: projects/ngroups/lib/libc/gen/sem_init.3 ============================================================================== --- projects/ngroups/lib/libc/gen/sem_init.3 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/gen/sem_init.3 Tue Jan 12 07:55:02 2010 (r202144) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2010 +.Dd January 9, 2010 .Dt SEM_INIT 3 .Os .Sh NAME @@ -46,9 +46,19 @@ function initializes the unnamed semapho .Fa sem to have the value .Fa value . +.Pp A non-zero value for .Fa pshared -specifies a shared semaphore that can be used by multiple processes. +specifies a shared semaphore that can be used by multiple processes, +the semaphore should be located in shared memory region (see +.Xr mmap 2 , +.Xr shm_open 2 , +and +.Xr shmget 2 ) , +any process having read and write access to address +.Fa sem +can perform semaphore operations on +.Fa sem . .Pp Following a successful call to .Fn sem_init , Modified: projects/ngroups/lib/libc/gen/sem_open.3 ============================================================================== --- projects/ngroups/lib/libc/gen/sem_open.3 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/gen/sem_open.3 Tue Jan 12 07:55:02 2010 (r202144) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 15, 2003 +.Dd January 9, 2010 .Dt SEM_OPEN 3 .Os .Sh NAME @@ -58,6 +58,12 @@ The returned semaphore may be used in su and .Fn sem_close . .Pp +This implementation places strict requirements on the value of +.Fa name : +it must begin with a slash +.Pq Ql / +and contain no other slash characters. +.Pp The following bits may be set in the .Fa oflag argument: @@ -217,11 +223,3 @@ functions conform to .Sh HISTORY Support for named semaphores first appeared in .Fx 5.0 . -.Sh BUGS -This implementation places strict requirements on the value of -.Fa name : -it must begin with a slash -.Pq Ql / , -contain no other slash characters, -and be less than 14 characters in length -not including the terminating null character. Modified: projects/ngroups/lib/libc/mips/Symbol.map ============================================================================== --- projects/ngroups/lib/libc/mips/Symbol.map Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/mips/Symbol.map Tue Jan 12 07:55:02 2010 (r202144) @@ -56,9 +56,27 @@ FBSDprivate_1.0 { __siglongjmp; __sys_vfork; _vfork; - end; /* XXX - Should this be _end (see sys/brk.S)? */ - curbrk; + _end; + __curbrk; minbrk; _brk; _sbrk; + + /* softfloat */ + __addsf3; + __adddf3; + __subsf3; + __subdf3; + __mulsf3; + __muldf3; + __divsf3; + __divdf3; + __floatsisf; + __floatsidf; + __fixsfsi; + __fixdfsi; + __fixunssfsi; + __fixunsdfsi; + __extendsfdf2; + __truncdfsf2; }; Modified: projects/ngroups/lib/libc/mips/sys/brk.S ============================================================================== --- projects/ngroups/lib/libc/mips/sys/brk.S Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/mips/sys/brk.S Tue Jan 12 07:55:02 2010 (r202144) @@ -42,15 +42,12 @@ __FBSDID("$FreeBSD$"); #endif /* LIBC_SCCS and not lint */ .globl _C_LABEL(minbrk) - .globl _C_LABEL(curbrk) + .globl _C_LABEL(__curbrk) .globl _C_LABEL(_end) .data _C_LABEL(minbrk): .word _C_LABEL(_end) -_C_LABEL(curbrk): - .word _C_LABEL(_end) - .text LEAF(__sys_brk) WEAK_ALIAS(brk, __sys_brk) @@ -67,7 +64,7 @@ LEAF(__sys_brk) li v0, SYS_break syscall bne a3, zero, 2f - sw a0, _C_LABEL(curbrk) + sw a0, _C_LABEL(__curbrk) move v0, zero j ra 2: Modified: projects/ngroups/lib/libc/stdio/fread.c ============================================================================== --- projects/ngroups/lib/libc/stdio/fread.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/stdio/fread.c Tue Jan 12 07:55:02 2010 (r202144) @@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fread.c 8.2 __FBSDID("$FreeBSD$"); #include "namespace.h" +#include +#include #include #include #include "un-namespace.h" @@ -69,8 +71,27 @@ __fread(void * __restrict buf, size_t si /* * ANSI and SUSv2 require a return value of 0 if size or count are 0. */ - if ((resid = count * size) == 0) + if ((count == 0) || (size == 0)) return (0); + + /* + * Check for integer overflow. As an optimization, first check that + * at least one of {count, size} is at least 2^16, since if both + * values are less than that, their product can't possible overflow + * (size_t is always at least 32 bits on FreeBSD). + */ + if (((count | size) > 0xFFFF) && + (count > SIZE_MAX / size)) { + errno = EINVAL; + fp->_flags |= __SERR; + return (0); + } + + /* + * Compute the (now required to not overflow) number of bytes to + * read and actually do the work. + */ + resid = count * size; ORIENT(fp, -1); if (fp->_r < 0) fp->_r = 0; Modified: projects/ngroups/lib/libc/stdio/fwrite.c ============================================================================== --- projects/ngroups/lib/libc/stdio/fwrite.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/stdio/fwrite.c Tue Jan 12 07:55:02 2010 (r202144) @@ -37,6 +37,8 @@ static char sccsid[] = "@(#)fwrite.c 8.1 __FBSDID("$FreeBSD$"); #include "namespace.h" +#include +#include #include #include "un-namespace.h" #include "local.h" @@ -60,10 +62,24 @@ fwrite(buf, size, count, fp) /* * ANSI and SUSv2 require a return value of 0 if size or count are 0. */ - n = count * size; - if (n == 0) + if ((count == 0) || (size == 0)) return (0); + /* + * Check for integer overflow. As an optimization, first check that + * at least one of {count, size} is at least 2^16, since if both + * values are less than that, their product can't possible overflow + * (size_t is always at least 32 bits on FreeBSD). + */ + if (((count | size) > 0xFFFF) && + (count > SIZE_MAX / size)) { + errno = EINVAL; + fp->_flags |= __SERR; + return (0); + } + + n = count * size; + iov.iov_base = (void *)buf; uio.uio_resid = iov.iov_len = n; uio.uio_iov = &iov; Modified: projects/ngroups/lib/libc/sys/cpuset.2 ============================================================================== --- projects/ngroups/lib/libc/sys/cpuset.2 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/sys/cpuset.2 Tue Jan 12 07:55:02 2010 (r202144) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 29, 2008 +.Dd January 8, 2010 .Dt CPUSET 2 .Os .Sh NAME @@ -216,7 +216,9 @@ for allocation. .Xr cpuset 1 , .Xr cpuset_getaffinity 2 , .Xr cpuset_setaffinity 2 , -.Xr CPU_SET 3 +.Xr CPU_SET 3 , +.Xr pthread_affinity_np 3 , +.Xr pthread_attr_affinity_np 3 .Sh HISTORY The .Nm Modified: projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 ============================================================================== --- projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libc/sys/cpuset_getaffinity.2 Tue Jan 12 07:55:02 2010 (r202144) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 29, 2008 +.Dd January 8, 2010 .Dt CPUSET 2 .Os .Sh NAME @@ -147,7 +147,9 @@ operation. .Xr cpuset 2 , .Xr cpuset_getid 2 , .Xr cpuset_setid 2 , -.Xr CPU_SET 3 +.Xr CPU_SET 3 , +.Xr pthread_affinity_np 3 , +.Xr pthread_attr_affinity_np 3 .Sh HISTORY The .Nm Modified: projects/ngroups/lib/libstand/dosfs.c ============================================================================== --- projects/ngroups/lib/libstand/dosfs.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libstand/dosfs.c Tue Jan 12 07:55:02 2010 (r202144) @@ -47,6 +47,7 @@ static int dos_close(struct open_file *f static int dos_read(struct open_file *fd, void *buf, size_t size, size_t *resid); static off_t dos_seek(struct open_file *fd, off_t offset, int whence); static int dos_stat(struct open_file *fd, struct stat *sb); +static int dos_readdir(struct open_file *fd, struct dirent *d); struct fs_ops dosfs_fsops = { "dosfs", @@ -56,7 +57,7 @@ struct fs_ops dosfs_fsops = { null_write, dos_seek, dos_stat, - null_readdir + dos_readdir }; #define SECSIZ 512 /* sector size */ @@ -354,6 +355,72 @@ dos_stat(struct open_file *fd, struct st return (0); } +static int +dos_readdir(struct open_file *fd, struct dirent *d) +{ + DOS_FILE *f = (DOS_FILE *)fd->f_fsdata; + u_char fn[261]; + DOS_DIR dd; + size_t res; + u_int chk, i, x, xdn; + int err; + + x = chk = 0; + while (1) { + xdn = x; + x = 0; + err = dos_read(fd, &dd, sizeof(dd), &res); + if (err) + return (err); + if (res == sizeof(dd)) + return (ENOENT); + if (dd.de.name[0] == 0) + return (ENOENT); + + /* Skip deleted entries */ + if (dd.de.name[0] == 0xe5) + continue; + + /* Skip volume labels */ + if (dd.de.attr & FA_LABEL) + continue; + + if ((dd.de.attr & FA_MASK) == FA_XDE) { + if (dd.xde.seq & 0x40) + chk = dd.xde.chk; + else if (dd.xde.seq != xdn - 1 || dd.xde.chk != chk) + continue; + x = dd.xde.seq & ~0x40; + if (x < 1 || x > 20) { + x = 0; + continue; + } + cp_xdnm(fn, &dd.xde); + } else { + if (xdn == 1) { + x = 0; + for (i = 0; i < 11; i++) { + x = ((x & 1) << 7) | (x >> 1); + x += dd.de.name[i]; + x &= 0xff; + } + if (x == chk) + break; + } else { + cp_sfn(fn, &dd.de); + break; + } + x = 0; + } + } + + d->d_fileno = dd.de.clus[1] << 8 + dd.de.clus[0]; + d->d_reclen = sizeof(*d); + d->d_type = (dd.de.attr & FA_DIR) ? DT_DIR : DT_REG; + memcpy(d->d_name, fn, sizeof(d->d_name)); + return(0); +} + /* * Parse DOS boot sector */ Modified: projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h ============================================================================== --- projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libthr/arch/mips/include/pthread_md.h Tue Jan 12 07:55:02 2010 (r202144) @@ -60,7 +60,8 @@ void _tcb_dtor(struct tcb *); static __inline void _tcb_set(struct tcb *tcb) { - mips_tcb_set(tcb); + + sysarch(MIPS_SET_TLS, tcb); } /* @@ -69,7 +70,10 @@ _tcb_set(struct tcb *tcb) static __inline struct tcb * _tcb_get(void) { - return (mips_tcb_get()); + void *tcb; + + sysarch(MIPS_GET_TLS, &tcb); + return tcb; } extern struct pthread *_thr_initial; Modified: projects/ngroups/lib/libusb/libusb20.c ============================================================================== --- projects/ngroups/lib/libusb/libusb20.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/lib/libusb/libusb20.c Tue Jan 12 07:55:02 2010 (r202144) @@ -130,8 +130,19 @@ libusb20_tr_close(struct libusb20_transf if (xfer->ppBuffer) { free(xfer->ppBuffer); } - /* clear some fields */ + /* reset variable fields in case the transfer is opened again */ + xfer->priv_sc0 = 0; + xfer->priv_sc1 = 0; xfer->is_opened = 0; + xfer->is_pending = 0; + xfer->is_cancel = 0; + xfer->is_draining = 0; + xfer->is_restart = 0; + xfer->status = 0; + xfer->flags = 0; + xfer->nFrames = 0; + xfer->aFrames = 0; + xfer->timeout = 0; xfer->maxFrames = 0; xfer->maxTotalLength = 0; xfer->maxPacketLen = 0; Modified: projects/ngroups/sbin/fsck_ffs/pass2.c ============================================================================== --- projects/ngroups/sbin/fsck_ffs/pass2.c Tue Jan 12 07:49:34 2010 (r202143) +++ projects/ngroups/sbin/fsck_ffs/pass2.c Tue Jan 12 07:55:02 2010 (r202144) @@ -36,12 +36,14 @@ static const char sccsid[] = "@(#)pass2. __FBSDID("$FreeBSD$"); #include +#include #include #include #include #include +#include #include #include @@ -49,6 +51,8 @@ __FBSDID("$FreeBSD$"); #define MINDIRSIZE (sizeof (struct dirtemplate)) +static int fix_extraneous(struct inoinfo *, struct inodesc *); +static int deleteentry(struct inodesc *); static int blksort(const void *, const void *); static int pass2check(struct inodesc *); @@ -212,9 +216,48 @@ pass2(void) inoinfo(inp->i_parent)->ino_linkcnt--; continue; } - fileerror(inp->i_parent, inp->i_number, - "BAD INODE NUMBER FOR '..'"); - if (reply("FIX") == 0) + /* + * Here we have: + * inp->i_number is directory with bad ".." in it. + * inp->i_dotdot is current value of "..". + * inp->i_parent is directory to which ".." should point. + */ + getpathname(pathbuf, inp->i_parent, inp->i_number); + printf("BAD INODE NUMBER FOR '..' in DIR I=%d (%s)\n", + inp->i_number, pathbuf); + getpathname(pathbuf, inp->i_dotdot, inp->i_dotdot); + printf("CURRENTLY POINTS TO I=%d (%s), ", inp->i_dotdot, + pathbuf); + getpathname(pathbuf, inp->i_parent, inp->i_parent); + printf("SHOULD POINT TO I=%d (%s)", inp->i_parent, pathbuf); + if (cursnapshot != 0) { + /* + * We need to: + * setcwd(inp->i_number); + * setdotdot(inp->i_dotdot, inp->i_parent); + */ + cmd.value = inp->i_number; + if (sysctlbyname("vfs.ffs.setcwd", 0, 0, + &cmd, sizeof cmd) == -1) { + /* kernel lacks support for these functions */ + printf(" (IGNORED)\n"); + continue; + } + cmd.value = inp->i_dotdot; /* verify same value */ + cmd.size = inp->i_parent; /* new parent */ + if (sysctlbyname("vfs.ffs.setdotdot", 0, 0, + &cmd, sizeof cmd) == -1) { + printf(" (FIX FAILED: %s)\n", strerror(errno)); + continue; + } + printf(" (FIXED)\n"); + inoinfo(inp->i_parent)->ino_linkcnt--; + inp->i_dotdot = inp->i_parent; + continue; + } + if (preen) + printf(" (FIXED)\n"); + else if (reply("FIX") == 0) continue; inoinfo(inp->i_dotdot)->ino_linkcnt++; inoinfo(inp->i_parent)->ino_linkcnt--; @@ -236,8 +279,6 @@ pass2check(struct inodesc *idesc) union dinode *dp; const char *errmsg; struct direct proto; - char namebuf[MAXPATHLEN + 1]; - char pathbuf[MAXPATHLEN + 1]; /* * check for "." @@ -416,27 +457,12 @@ again: case DFOUND: inp = getinoinfo(dirp->d_ino); - if (inp->i_parent != 0 && idesc->id_entryno > 2) { - getpathname(pathbuf, idesc->id_number, - idesc->id_number); - getpathname(namebuf, dirp->d_ino, dirp->d_ino); - pwarn("%s%s%s %s %s\n", pathbuf, - (strcmp(pathbuf, "/") == 0 ? "" : "/"), - dirp->d_name, - "IS AN EXTRANEOUS HARD LINK TO DIRECTORY", - namebuf); - if (cursnapshot != 0) - break; - if (preen) { - printf(" (REMOVED)\n"); - n = 1; - break; - } - if ((n = reply("REMOVE")) == 1) + if (idesc->id_entryno > 2) { + if (inp->i_parent == 0) + inp->i_parent = idesc->id_number; + else if ((n = fix_extraneous(inp, idesc)) == 1) break; } - if (idesc->id_entryno > 2) - inp->i_parent = idesc->id_number; /* FALLTHROUGH */ case FSTATE: @@ -462,6 +488,143 @@ again: return (ret|KEEPON|ALTERED); } +static int +fix_extraneous(struct inoinfo *inp, struct inodesc *idesc) +{ + char *cp; + struct inodesc dotdesc; + char oldname[MAXPATHLEN + 1]; + char newname[MAXPATHLEN + 1]; + + /* + * If we have not yet found "..", look it up now so we know + * which inode the directory itself believes is its parent. + */ + if (inp->i_dotdot == 0) { + memset(&dotdesc, 0, sizeof(struct inodesc)); + dotdesc.id_type = DATA; + dotdesc.id_number = idesc->id_dirp->d_ino; + dotdesc.id_func = findino; + dotdesc.id_name = strdup(".."); + if ((ckinode(ginode(dotdesc.id_number), &dotdesc) & FOUND)) + inp->i_dotdot = dotdesc.id_parent; + } + /* + * We have the previously found old name (inp->i_parent) and the + * just found new name (idesc->id_number). We have five cases: + * 1) ".." is missing - can remove either name, choose to delete + * new one and let fsck create ".." pointing to old name. + * 2) Both new and old are in same directory, choose to delete + * the new name and let fsck fix ".." if it is wrong. + * 3) ".." does not point to the new name, so delete it and let + * fsck fix ".." to point to the old one if it is wrong. + * 4) ".." points to the old name only, so delete the new one. + * 5) ".." points to the new name only, so delete the old one. + * + * For cases 1-4 we eliminate the new name; + * for case 5 we eliminate the old name. + */ + if (inp->i_dotdot == 0 || /* Case 1 */ + idesc->id_number == inp->i_parent || /* Case 2 */ + inp->i_dotdot != idesc->id_number || /* Case 3 */ + inp->i_dotdot == inp->i_parent) { /* Case 4 */ + getpathname(newname, idesc->id_number, idesc->id_number); + if (strcmp(newname, "/") != 0) + strcat (newname, "/"); + strcat(newname, idesc->id_dirp->d_name); + getpathname(oldname, inp->i_number, inp->i_number); + pwarn("%s IS AN EXTRANEOUS HARD LINK TO DIRECTORY %s", + newname, oldname); + if (cursnapshot != 0) { + /* + * We need to + * setcwd(idesc->id_number); + * unlink(idesc->id_dirp->d_name); + */ + cmd.value = idesc->id_number; + if (sysctlbyname("vfs.ffs.setcwd", 0, 0, + &cmd, sizeof cmd) == -1) { + printf(" (IGNORED)\n"); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jan 12 16:32:59 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90CC3106568D; Tue, 12 Jan 2010 16:32:59 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E2648FC1F; Tue, 12 Jan 2010 16:32:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CGWxt4039304; Tue, 12 Jan 2010 16:32:59 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CGWxfI039302; Tue, 12 Jan 2010 16:32:59 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001121632.o0CGWxfI039302@svn.freebsd.org> From: Craig Rodrigues Date: Tue, 12 Jan 2010 16:32:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202154 - projects/jbuild/usr.bin/jbuild/filemon X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 16:32:59 -0000 Author: rodrigc Date: Tue Jan 12 16:32:59 2010 New Revision: 202154 URL: http://svn.freebsd.org/changeset/base/202154 Log: Add link(), symlink(), and linkat() calls to filemon. Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c ============================================================================== --- projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Tue Jan 12 15:15:55 2010 (r202153) +++ projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Tue Jan 12 16:32:59 2010 (r202154) @@ -270,6 +270,111 @@ filemon_wrapper_rename(struct thread *td } static int +filemon_wrapper_link(struct thread *td, struct link_args *uap) +{ + int ret; + size_t done; + size_t len; + struct filemon *filemon; + + if ((ret = link(td, uap)) == 0) { + /* Grab a read lock on the filemon inuse list. */ + filemon_lock_read(); + + if ((filemon = filemon_pid_check(curproc)) != NULL) { + /* Lock the found filemon structure. */ + filemon_filemon_lock(filemon); + + copyinstr(uap->path, filemon->fname1, sizeof(filemon->fname1), &done); + copyinstr(uap->link, filemon->fname2, sizeof(filemon->fname2), &done); + + len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n", + curproc->p_pid, filemon->fname1, filemon->fname2); + + filemon_output(filemon, filemon->msgbufr, len); + + /* Unlock the found filemon structure. */ + filemon_filemon_unlock(filemon); + } + + /* Release the read lock. */ + filemon_unlock_read(); + } + + return(ret); +} + +static int +filemon_wrapper_symlink(struct thread *td, struct symlink_args *uap) +{ + int ret; + size_t done; + size_t len; + struct filemon *filemon; + + if ((ret = symlink(td, uap)) == 0) { + /* Grab a read lock on the filemon inuse list. */ + filemon_lock_read(); + + if ((filemon = filemon_pid_check(curproc)) != NULL) { + /* Lock the found filemon structure. */ + filemon_filemon_lock(filemon); + + copyinstr(uap->path, filemon->fname1, sizeof(filemon->fname1), &done); + copyinstr(uap->link, filemon->fname2, sizeof(filemon->fname2), &done); + + len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n", + curproc->p_pid, filemon->fname1, filemon->fname2); + + filemon_output(filemon, filemon->msgbufr, len); + + /* Unlock the found filemon structure. */ + filemon_filemon_unlock(filemon); + } + + /* Release the read lock. */ + filemon_unlock_read(); + } + + return(ret); +} + +static int +filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap) +{ + int ret; + size_t done; + size_t len; + struct filemon *filemon; + + if ((ret = linkat(td, uap)) == 0) { + /* Grab a read lock on the filemon inuse list. */ + filemon_lock_read(); + + if ((filemon = filemon_pid_check(curproc)) != NULL) { + /* Lock the found filemon structure. */ + filemon_filemon_lock(filemon); + + copyinstr(uap->path1, filemon->fname1, sizeof(filemon->fname1), &done); + copyinstr(uap->path2, filemon->fname2, sizeof(filemon->fname2), &done); + + len = snprintf(filemon->msgbufr, sizeof(filemon->msgbufr), "L %d '%s' '%s'\n", + curproc->p_pid, filemon->fname1, filemon->fname2); + + filemon_output(filemon, filemon->msgbufr, len); + + /* Unlock the found filemon structure. */ + filemon_filemon_unlock(filemon); + } + + /* Release the read lock. */ + filemon_unlock_read(); + } + + return(ret); +} + +static int filemon_wrapper_stat(struct thread *td, struct stat_args *uap) { int ret; @@ -458,6 +563,9 @@ filemon_wrapper_install(void) sv_table[SYS_stat].sy_call = (sy_call_t *) filemon_wrapper_stat; sv_table[SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork; + sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; + sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; + sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; #ifdef COMPAT_IA32 sv_table = ia32_freebsd_sysvec.sv_table; @@ -471,6 +579,9 @@ filemon_wrapper_install(void) sv_table[FREEBSD32_SYS_freebsd32_stat].sy_call = (sy_call_t *) filemon_wrapper_freebsd32_stat; sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork; + sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; + sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; + sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; #endif @@ -496,6 +607,9 @@ filemon_wrapper_deinstall(void) sv_table[SYS_stat].sy_call = (sy_call_t *) stat; sv_table[SYS_unlink].sy_call = (sy_call_t *) unlink; sv_table[SYS_vfork].sy_call = (sy_call_t *) vfork; + sv_table[SYS_link].sy_call = (sy_call_t *) link; + sv_table[SYS_symlink].sy_call = (sy_call_t *) symlink; + sv_table[SYS_linkat].sy_call = (sy_call_t *) linkat; #ifdef COMPAT_IA32 sv_table = ia32_freebsd_sysvec.sv_table; @@ -509,6 +623,9 @@ filemon_wrapper_deinstall(void) sv_table[FREEBSD32_SYS_freebsd32_stat].sy_call = (sy_call_t *) freebsd32_stat; sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) unlink; sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) vfork; + sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) link; + sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) symlink; + sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) linkat; #endif } From owner-svn-src-projects@FreeBSD.ORG Tue Jan 12 16:33:56 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1866B106566B; Tue, 12 Jan 2010 16:33:56 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1F2B8FC1D; Tue, 12 Jan 2010 16:33:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CGXtKQ039557; Tue, 12 Jan 2010 16:33:55 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CGXtdc039555; Tue, 12 Jan 2010 16:33:55 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001121633.o0CGXtdc039555@svn.freebsd.org> From: Craig Rodrigues Date: Tue, 12 Jan 2010 16:33:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202155 - projects/jbuild/usr.bin/jbuild X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 16:33:56 -0000 Author: rodrigc Date: Tue Jan 12 16:33:55 2010 New Revision: 202155 URL: http://svn.freebsd.org/changeset/base/202155 Log: Bump version. Modified: projects/jbuild/usr.bin/jbuild/jbuild_version Modified: projects/jbuild/usr.bin/jbuild/jbuild_version ============================================================================== --- projects/jbuild/usr.bin/jbuild/jbuild_version Tue Jan 12 16:32:59 2010 (r202154) +++ projects/jbuild/usr.bin/jbuild/jbuild_version Tue Jan 12 16:33:55 2010 (r202155) @@ -1,5 +1,5 @@ # $FreeBSD$ -JBUILD_VERSION = 17 +JBUILD_VERSION = 18 CFLAGS += -DJBUILD_VERSION=\"${JBUILD_VERSION}\" From owner-svn-src-projects@FreeBSD.ORG Tue Jan 12 19:59:54 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 965F11065672; Tue, 12 Jan 2010 19:59:54 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6C24D8FC08; Tue, 12 Jan 2010 19:59:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0CJxs2A085622; Tue, 12 Jan 2010 19:59:54 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0CJxsxc085620; Tue, 12 Jan 2010 19:59:54 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001121959.o0CJxsxc085620@svn.freebsd.org> From: Craig Rodrigues Date: Tue, 12 Jan 2010 19:59:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202168 - projects/jbuild/usr.bin/jbuild/filemon X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2010 19:59:54 -0000 Author: rodrigc Date: Tue Jan 12 19:59:54 2010 New Revision: 202168 URL: http://svn.freebsd.org/changeset/base/202168 Log: linkat() is only available for FreeBSD_version 800032 and higher. Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Modified: projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c ============================================================================== --- projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Tue Jan 12 19:55:07 2010 (r202167) +++ projects/jbuild/usr.bin/jbuild/filemon/filemon_wrapper.c Tue Jan 12 19:59:54 2010 (r202168) @@ -339,6 +339,11 @@ filemon_wrapper_symlink(struct thread *t return(ret); } +#if __FreeBSD_version > 800032 +#define FILEMON_HAS_LINKAT +#endif + +#ifdef FILEMON_HAS_LINKAT static int filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap) { @@ -373,7 +378,7 @@ filemon_wrapper_linkat(struct thread *td return(ret); } - +#endif static int filemon_wrapper_stat(struct thread *td, struct stat_args *uap) { @@ -565,7 +570,9 @@ filemon_wrapper_install(void) sv_table[SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork; sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; +#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; +#endif #ifdef COMPAT_IA32 sv_table = ia32_freebsd_sysvec.sv_table; @@ -581,8 +588,10 @@ filemon_wrapper_install(void) sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) filemon_wrapper_vfork; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; +#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; #endif +#endif } @@ -609,7 +618,9 @@ filemon_wrapper_deinstall(void) sv_table[SYS_vfork].sy_call = (sy_call_t *) vfork; sv_table[SYS_link].sy_call = (sy_call_t *) link; sv_table[SYS_symlink].sy_call = (sy_call_t *) symlink; +#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *) linkat; +#endif #ifdef COMPAT_IA32 sv_table = ia32_freebsd_sysvec.sv_table; @@ -625,7 +636,9 @@ filemon_wrapper_deinstall(void) sv_table[FREEBSD32_SYS_vfork].sy_call = (sy_call_t *) vfork; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) symlink; +#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) linkat; #endif +#endif } From owner-svn-src-projects@FreeBSD.ORG Wed Jan 13 06:47:28 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C191A10656C3; Wed, 13 Jan 2010 06:47:28 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1D3A38FC2A; Wed, 13 Jan 2010 06:47:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0D6lSQ9028717; Wed, 13 Jan 2010 06:47:28 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0D6lRZj028714; Wed, 13 Jan 2010 06:47:27 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <201001130647.o0D6lRZj028714@svn.freebsd.org> From: Craig Rodrigues Date: Wed, 13 Jan 2010 06:47:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r202182 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2010 06:47:28 -0000 Author: rodrigc Date: Wed Jan 13 06:47:27 2010 New Revision: 202182 URL: http://svn.freebsd.org/changeset/base/202182 Log: Change precedence order of searching for root directory. Modified: projects/jbuild/usr.bin/make/main.c Modified: projects/jbuild/usr.bin/make/main.c ============================================================================== --- projects/jbuild/usr.bin/make/main.c Wed Jan 13 03:16:31 2010 (r202181) +++ projects/jbuild/usr.bin/make/main.c Wed Jan 13 06:47:27 2010 (r202182) @@ -927,8 +927,8 @@ find_srctop(char *srctop) { const char *syspaths[] = { "build/mk2", - "build/mk", "bld", + "build/mk", NULL, }; const char **psp;