Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 May 2008 02:20:50 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 141262 for review
Message-ID:  <200805070220.m472KoAk060006@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=141262

Change 141262 by sam@sam_ebb on 2008/05/07 02:20:26

	IFC @ 141260

Affected files ...

.. //depot/projects/vap/etc/etc.mips/ttys#1 branch
.. //depot/projects/vap/etc/rc.d/hostid#4 integrate
.. //depot/projects/vap/etc/rc.subr#4 integrate
.. //depot/projects/vap/gnu/lib/libstdc++/config.h#3 integrate
.. //depot/projects/vap/gnu/usr.bin/binutils/objdump/Makefile#3 integrate
.. //depot/projects/vap/gnu/usr.bin/sort/config.h#3 integrate
.. //depot/projects/vap/include/stdio.h#6 integrate
.. //depot/projects/vap/lib/libc/Versions.def#4 integrate
.. //depot/projects/vap/lib/libc/gen/readdir.c#4 integrate
.. //depot/projects/vap/lib/libc/gen/telldir.c#4 integrate
.. //depot/projects/vap/lib/libc/gen/telldir.h#3 integrate
.. //depot/projects/vap/lib/libc/stdio/Symbol.map#4 integrate
.. //depot/projects/vap/lib/libc/stdio/clrerr.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/feof.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/ferror.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/fileno.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/getc.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/getchar.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/local.h#5 integrate
.. //depot/projects/vap/lib/libc/stdio/putc.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/putchar.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/stdio.c#4 integrate
.. //depot/projects/vap/lib/libc/stdio/xprintf.c#5 integrate
.. //depot/projects/vap/lib/libdisk/disk.c#4 integrate
.. //depot/projects/vap/lib/libdisk/libdisk.h#3 integrate
.. //depot/projects/vap/lib/libdisk/write_mips_disk.c#1 branch
.. //depot/projects/vap/lib/libftpio/ftpio.c#4 integrate
.. //depot/projects/vap/lib/libthr/thread/thr_exit.c#8 integrate
.. //depot/projects/vap/lib/msun/mips/Symbol.map#2 integrate
.. //depot/projects/vap/libexec/rtld-elf/rtld.c#4 integrate
.. //depot/projects/vap/libexec/rtld-elf/rtld_lock.c#3 integrate
.. //depot/projects/vap/libexec/rtld-elf/rtld_lock.h#3 integrate
.. //depot/projects/vap/sys/arm/at91/uart_dev_at91usart.c#4 integrate
.. //depot/projects/vap/sys/conf/NOTES#18 integrate
.. //depot/projects/vap/sys/conf/files#38 integrate
.. //depot/projects/vap/sys/contrib/rdma/core_priv.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_addr.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_cache.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_cm.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_fmr_pool.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_mad.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_marshall.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_pack.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_sa.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_smi.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_umem.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_user_cm.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_user_mad.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_user_sa.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_user_verbs.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/ib_verbs.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/iw_cm.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/krping/getopt.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/krping/getopt.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/krping/krping.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/krping/krping.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/krping/krping_dev.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_addr.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_cache.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_cm.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_cm_ib.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_cma.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_device.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_iwcm.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_user_cm.h#1 branch
.. //depot/projects/vap/sys/contrib/rdma/rdma_verbs.c#1 branch
.. //depot/projects/vap/sys/contrib/rdma/types.h#1 branch
.. //depot/projects/vap/sys/dev/ath/if_ath.c#72 integrate
.. //depot/projects/vap/sys/dev/ath/if_athvar.h#24 integrate
.. //depot/projects/vap/sys/dev/bge/if_bge.c#14 integrate
.. //depot/projects/vap/sys/dev/bge/if_bgereg.h#10 integrate
.. //depot/projects/vap/sys/dev/cxgb/cxgb_config.h#4 integrate
.. //depot/projects/vap/sys/dev/cxgb/cxgb_main.c#9 integrate
.. //depot/projects/vap/sys/dev/cxgb/cxgb_offload.c#6 integrate
.. //depot/projects/vap/sys/dev/cxgb/cxgb_osdep.h#5 integrate
.. //depot/projects/vap/sys/dev/cxgb/t3cdev.h#3 integrate
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#1 branch
.. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#7 integrate
.. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#8 integrate
.. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#4 integrate
.. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 integrate
.. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#3 integrate
.. //depot/projects/vap/sys/dev/dcons/dcons_os.c#6 integrate
.. //depot/projects/vap/sys/dev/mpt/mpt.h#6 integrate
.. //depot/projects/vap/sys/dev/mpt/mpt_user.c#1 branch
.. //depot/projects/vap/sys/dev/ofw/ofw_console.c#7 integrate
.. //depot/projects/vap/sys/dev/sio/sio.c#7 integrate
.. //depot/projects/vap/sys/dev/uart/uart_core.c#7 integrate
.. //depot/projects/vap/sys/kern/kern_cpu.c#6 integrate
.. //depot/projects/vap/sys/kern/subr_blist.c#3 integrate
.. //depot/projects/vap/sys/kern/subr_kdb.c#7 integrate
.. //depot/projects/vap/sys/kern/vfs_subr.c#17 integrate
.. //depot/projects/vap/sys/modules/cxgb/Makefile#5 integrate
.. //depot/projects/vap/sys/modules/cxgb/iw_cxgb/Makefile#1 branch
.. //depot/projects/vap/sys/modules/esp/Makefile#5 integrate
.. //depot/projects/vap/sys/modules/hfa/Makefile#3 integrate
.. //depot/projects/vap/sys/modules/hme/Makefile#3 integrate
.. //depot/projects/vap/sys/modules/isp/Makefile#5 integrate
.. //depot/projects/vap/sys/modules/ispfw/Makefile#5 integrate
.. //depot/projects/vap/sys/modules/le/Makefile#3 integrate
.. //depot/projects/vap/sys/modules/mpt/Makefile#5 integrate
.. //depot/projects/vap/sys/modules/rdma/Makefile#1 branch
.. //depot/projects/vap/sys/modules/rdma/addr/Makefile#1 branch
.. //depot/projects/vap/sys/modules/rdma/cma/Makefile#1 branch
.. //depot/projects/vap/sys/modules/rdma/core/Makefile#1 branch
.. //depot/projects/vap/sys/modules/rdma/iwcm/Makefile#1 branch
.. //depot/projects/vap/sys/modules/rdma/krping/Makefile#1 branch
.. //depot/projects/vap/sys/modules/scc/Makefile#4 integrate
.. //depot/projects/vap/sys/modules/sound/driver/Makefile#5 integrate
.. //depot/projects/vap/sys/netinet/tcp.h#7 integrate
.. //depot/projects/vap/sys/netinet/tcp_usrreq.c#9 integrate
.. //depot/projects/vap/sys/pc98/cbus/sio.c#5 integrate
.. //depot/projects/vap/sys/security/audit/audit.h#5 integrate
.. //depot/projects/vap/sys/sun4v/sun4v/hvcons.c#4 integrate
.. //depot/projects/vap/sys/sys/blist.h#3 integrate
.. //depot/projects/vap/sys/sys/kdb.h#5 integrate
.. //depot/projects/vap/sys/sys/mpt_ioctl.h#1 branch
.. //depot/projects/vap/sys/vm/swap_pager.c#7 integrate
.. //depot/projects/vap/usr.bin/env/env.1#4 integrate
.. //depot/projects/vap/usr.sbin/pkg_install/Makefile.inc#3 integrate
.. //depot/projects/vap/usr.sbin/pkg_install/add/perform.c#5 integrate
.. //depot/projects/vap/usr.sbin/pkg_install/delete/perform.c#4 integrate
.. //depot/projects/vap/usr.sbin/pkg_install/lib/lib.h#4 integrate
.. //depot/projects/vap/usr.sbin/pkg_install/lib/match.c#4 integrate
.. //depot/projects/vap/usr.sbin/sade/disks.c#3 integrate
.. //depot/projects/vap/usr.sbin/sade/label.c#3 integrate

Differences ...

==== //depot/projects/vap/etc/rc.d/hostid#4 (text+ko) ====

@@ -24,7 +24,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.d/hostid,v 1.8 2008/01/24 07:04:12 ru Exp $
+# $FreeBSD: src/etc/rc.d/hostid,v 1.9 2008/05/06 10:40:20 mtm Exp $
 #
 
 # PROVIDE: hostid
@@ -45,7 +45,7 @@
 {
 	uuid=$1
 	# Generate hostid based on hostuuid - take first four bytes from md5(uuid).
-	id=`echo -n $uuid | md5`
+	id=`echo -n $uuid | /sbin/md5`
 	id="0x${id%????????????????????????}"
 	# Set both kern.hostuuid and kern.hostid.
 	echo "Setting hostuuid: ${uuid}."

==== //depot/projects/vap/etc/rc.subr#4 (text+ko) ====

@@ -1,5 +1,5 @@
 # $NetBSD: rc.subr,v 1.67 2006/10/07 11:25:15 elad Exp $
-# $FreeBSD: src/etc/rc.subr,v 1.80 2008/01/26 11:22:11 mtm Exp $
+# $FreeBSD: src/etc/rc.subr,v 1.83 2008/05/05 15:52:54 maxim Exp $
 #
 # Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -171,11 +171,15 @@
 {
 	local always
 
-	if [ -n "$1" ] && checkyesno $1; then
+	case $1 in
+		#	"yes", "true", "on", or "1"
+        [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
 		always=true
-	else
+		;;
+	*)
 		always=false
-	fi
+		;;
+	esac
 	if [ "$autoboot" = yes -o "$always" = true ]; then
 		echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!"
 		kill -TERM ${RC_PID}

==== //depot/projects/vap/gnu/lib/libstdc++/config.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/gnu/lib/libstdc++/config.h,v 1.15 2007/05/19 04:25:56 kan Exp $ */
+/* $FreeBSD: src/gnu/lib/libstdc++/config.h,v 1.16 2008/05/03 21:24:28 gonzo Exp $ */
 #ifndef __ISO_C_VISIBLE
 #include <sys/cdefs.h>
 #endif
@@ -371,7 +371,7 @@
 /* #undef HAVE_TANL */
 
 /* Define to 1 if the target supports thread-local storage. */
-#if !defined(__sparc64__) && !defined(__arm__)
+#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__)
 #define HAVE_TLS 1
 #endif
 

==== //depot/projects/vap/gnu/usr.bin/binutils/objdump/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/objdump/Makefile,v 1.14 2004/06/16 07:09:42 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/objdump/Makefile,v 1.15 2008/05/04 04:13:35 marcel Exp $
 
 .include "../Makefile.inc0"
 
@@ -6,7 +6,7 @@
 
 PROG=	objdump
 SRCS=	objdump.c prdbg.c
-WARNS?=	2
+WARNS?=	1
 CFLAGS+= -D_GNU_SOURCE
 CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils
 CFLAGS+= -I${SRCDIR}/binutils

==== //depot/projects/vap/gnu/usr.bin/sort/config.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/gnu/usr.bin/sort/config.h,v 1.8 2004/08/12 06:40:31 tjr Exp $ */
+/* $FreeBSD: src/gnu/usr.bin/sort/config.h,v 1.10 2008/05/05 16:12:28 jhb Exp $ */
 /* config.h.  Generated by configure.  */
 /* config.hin.  Generated from configure.ac by autoheader.  */
 
@@ -1240,7 +1240,7 @@
 #define PACKAGE_VERSION "5.3.0-20040812-FreeBSD"
 
 /* the number of pending output bytes on stream `fp' */
-#define PENDING_OUTPUT_N_BYTES fp->_p - fp->_bf._base
+#define PENDING_OUTPUT_N_BYTES __fgetpendout(fp)
 
 /* Define if <inttypes.h> exists and defines unusable PRI* macros. */
 /* #undef PRI_MACROS_BROKEN */

==== //depot/projects/vap/include/stdio.h#6 (text+ko) ====

@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)stdio.h	8.5 (Berkeley) 4/29/95
- * $FreeBSD: src/include/stdio.h,v 1.68 2008/05/03 20:09:44 marcel Exp $
+ * $FreeBSD: src/include/stdio.h,v 1.72 2008/05/05 16:14:02 jhb Exp $
  */
 
 #ifndef	_STDIO_H_
@@ -60,8 +60,84 @@
 
 #define	_FSTDIO			/* Define for new stdio with functions. */
 
-struct __sFILE;
-typedef	struct __sFILE FILE;
+/*
+ * NB: to fit things in six character monocase externals, the stdio
+ * code uses the prefix `__s' for stdio objects, typically followed
+ * by a three-character attempt at a mnemonic.
+ */
+
+/* stdio buffers */
+struct __sbuf {
+	unsigned char *_base;
+	int	_size;
+};
+
+/*
+ * stdio state variables.
+ *
+ * The following always hold:
+ *
+ *	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
+ *		_lbfsize is -_bf._size, else _lbfsize is 0
+ *	if _flags&__SRD, _w is 0
+ *	if _flags&__SWR, _r is 0
+ *
+ * This ensures that the getc and putc macros (or inline functions) never
+ * try to write or read from a file that is in `read' or `write' mode.
+ * (Moreover, they can, and do, automatically switch from read mode to
+ * write mode, and back, on "r+" and "w+" files.)
+ *
+ * _lbfsize is used only to make the inline line-buffered output stream
+ * code as compact as possible.
+ *
+ * _ub, _up, and _ur are used when ungetc() pushes back more characters
+ * than fit in the current _bf, or when ungetc() pushes back a character
+ * that does not match the previous one in _bf.  When this happens,
+ * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
+ * _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
+ *
+ * Certain members of __sFILE are accessed directly via macros or
+ * inline functions.  To preserve ABI compat, these members must not
+ * be disturbed.  These members are marked below with (*).
+ */
+typedef	struct __sFILE {
+	unsigned char *_p;	/* (*) current position in (some) buffer */
+	int	_r;		/* (*) read space left for getc() */
+	int	_w;		/* (*) write space left for putc() */
+	short	_flags;		/* (*) flags, below; this FILE is free if 0 */
+	short	_file;		/* (*) fileno, if Unix descriptor, else -1 */
+	struct	__sbuf _bf;	/* the buffer (at least 1 byte, if !NULL) */
+	int	_lbfsize;	/* (*) 0 or -_bf._size, for inline putc */
+
+	/* operations */
+	void	*_cookie;	/* (*) cookie passed to io functions */
+	int	(*_close)(void *);
+	int	(*_read)(void *, char *, int);
+	fpos_t	(*_seek)(void *, fpos_t, int);
+	int	(*_write)(void *, const char *, int);
+
+	/* separate buffer for long sequences of ungetc() */
+	struct	__sbuf _ub;	/* ungetc buffer */
+	unsigned char	*_up;	/* saved _p when _p is doing ungetc data */
+	int	_ur;		/* saved _r when _r is counting ungetc data */
+
+	/* tricks to meet minimum requirements even when malloc() fails */
+	unsigned char _ubuf[3];	/* guarantee an ungetc() buffer */
+	unsigned char _nbuf[1];	/* guarantee a getc() buffer */
+
+	/* separate buffer for fgetln() when line crosses buffer boundary */
+	struct	__sbuf _lb;	/* buffer for fgetln() */
+
+	/* Unix stdio files get aligned to block boundaries on fseek() */
+	int	_blksize;	/* stat.st_blksize (may be != _bf._size) */
+	fpos_t	_offset;	/* current lseek offset */
+
+	struct pthread_mutex *_fl_mutex;	/* used for MT-safety */
+	struct pthread *_fl_owner;	/* current owner */
+	int	_fl_count;	/* recursive lock count */
+	int	_orientation;	/* orientation for fwide() */
+	__mbstate_t _mbstate;	/* multibyte conversion state */
+} FILE;
 
 #ifndef _STDSTREAM_DECLARED
 __BEGIN_DECLS
@@ -72,11 +148,32 @@
 #define	_STDSTREAM_DECLARED
 #endif
 
+#define	__SLBF	0x0001		/* line buffered */
+#define	__SNBF	0x0002		/* unbuffered */
+#define	__SRD	0x0004		/* OK to read */
+#define	__SWR	0x0008		/* OK to write */
+	/* RD and WR are never simultaneously asserted */
+#define	__SRW	0x0010		/* open for reading & writing */
+#define	__SEOF	0x0020		/* found EOF */
+#define	__SERR	0x0040		/* found error */
+#define	__SMBF	0x0080		/* _buf is from malloc */
+#define	__SAPP	0x0100		/* fdopen()ed in append mode */
+#define	__SSTR	0x0200		/* this is an sprintf/snprintf string */
+#define	__SOPT	0x0400		/* do fseek() optimization */
+#define	__SNPT	0x0800		/* do not do fseek() optimization */
+#define	__SOFF	0x1000		/* set iff _offset is in fact correct */
+#define	__SMOD	0x2000		/* true => fgetln modified _p text */
+#define	__SALC	0x4000		/* allocate string space dynamically */
+#define	__SIGN	0x8000		/* ignore this file in _fwalk */
+
 /*
  * The following three definitions are for ANSI C, which took them
  * from System V, which brilliantly took internal interface macros and
  * made them official arguments to setvbuf(), without renaming them.
  * Hence, these ugly _IOxxx names are *supposed* to appear in user code.
+ *
+ * Although numbered as their counterparts above, the implementation
+ * does not rely on this.
  */
 #define	_IOFBF	0		/* setvbuf should set fully buffered */
 #define	_IOLBF	1		/* setvbuf should set line buffered */
@@ -204,8 +301,8 @@
 void	 funlockfile(FILE *);
 
 /*
- * See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12
- * B.8.2.7 for the rationale behind the *_unlocked() functions.
+ * These are normally used through macros as defined below, but POSIX
+ * requires functions as well.
  */
 int	 getc_unlocked(FILE *);
 int	 getchar_unlocked(void);
@@ -249,9 +346,6 @@
 int	 vasprintf(char **, const char *, __va_list)
 	    __printflike(2, 0);
 
-void	*__fgetcookie(FILE *);
-void	__fsetfileno(FILE *, int);
-
 /*
  * The system error table contains messages for the first sys_nerr
  * positive errno values.  Use strerror() or strerror_r() from <string.h>
@@ -292,5 +386,76 @@
 #endif
 #endif /* __BSD_VISIBLE */
 
+/*
+ * Functions internal to the implementation.
+ */
+int	__srget(FILE *);
+int	__swbuf(int, FILE *);
+
+/*
+ * The __sfoo macros are here so that we can
+ * define function versions in the C library.
+ */
+#define	__sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
+#if defined(__GNUC__) && defined(__STDC__)
+static __inline int __sputc(int _c, FILE *_p) {
+	if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
+		return (*_p->_p++ = _c);
+	else
+		return (__swbuf(_c, _p));
+}
+#else
+/*
+ * This has been tuned to generate reasonable code on the vax using pcc.
+ */
+#define	__sputc(c, p) \
+	(--(p)->_w < 0 ? \
+		(p)->_w >= (p)->_lbfsize ? \
+			(*(p)->_p = (c)), *(p)->_p != '\n' ? \
+				(int)*(p)->_p++ : \
+				__swbuf('\n', p) : \
+			__swbuf((int)(c), p) : \
+		(*(p)->_p = (c), (int)*(p)->_p++))
+#endif
+
+#define	__sfeof(p)	(((p)->_flags & __SEOF) != 0)
+#define	__sferror(p)	(((p)->_flags & __SERR) != 0)
+#define	__sclearerr(p)	((void)((p)->_flags &= ~(__SERR|__SEOF)))
+#define	__sfileno(p)	((p)->_file)
+
+extern int __isthreaded;
+
+#define	feof(p)		(!__isthreaded ? __sfeof(p) : (feof)(p))
+#define	ferror(p)	(!__isthreaded ? __sferror(p) : (ferror)(p))
+#define	clearerr(p)	(!__isthreaded ? __sclearerr(p) : (clearerr)(p))
+
+#if __POSIX_VISIBLE
+#define	fileno(p)	(!__isthreaded ? __sfileno(p) : (fileno)(p))
+#endif
+
+#define	getc(fp)	(!__isthreaded ? __sgetc(fp) : (getc)(fp))
+#define	putc(x, fp)	(!__isthreaded ? __sputc(x, fp) : (putc)(x, fp))
+
+#define	getchar()	getc(stdin)
+#define	putchar(x)	putc(x, stdout)
+
+#if __BSD_VISIBLE
+/*
+ * See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12
+ * B.8.2.7 for the rationale behind the *_unlocked() macros.
+ */
+#define	feof_unlocked(p)	__sfeof(p)
+#define	ferror_unlocked(p)	__sferror(p)
+#define	clearerr_unlocked(p)	__sclearerr(p)
+#define	fileno_unlocked(p)	__sfileno(p)
+#endif
+#if __POSIX_VISIBLE >= 199506
+#define	getc_unlocked(fp)	__sgetc(fp)
+#define	putc_unlocked(x, fp)	__sputc(x, fp)
+
+#define	getchar_unlocked()	getc_unlocked(stdin)
+#define	putchar_unlocked(x)	putc_unlocked(x, stdout)
+#endif
+
 __END_DECLS
 #endif /* !_STDIO_H_ */

==== //depot/projects/vap/lib/libc/Versions.def#4 (text) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libc/Versions.def,v 1.4 2007/12/14 20:49:06 deischen Exp $
+# $FreeBSD: src/lib/libc/Versions.def,v 1.7 2008/05/06 01:41:55 deischen Exp $
 
 # This is our first version; it depends on no other.
 # This version was first added to 7.0-current.
@@ -13,5 +13,7 @@
 # strictly for use only by other FreeBSD applications and libraries
 # are listed here.  We use a separate namespace so we can write
 # simple ABI-checking tools.
+#
+# Please do NOT increment the version of this namespace.
 FBSDprivate_1.0 {
-} FBSD_1.0;
+};

==== //depot/projects/vap/lib/libc/gen/readdir.c#4 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)readdir.c	8.3 (Berkeley) 9/29/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/readdir.c,v 1.14 2007/12/03 14:33:50 des Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/readdir.c,v 1.15 2008/05/05 14:05:23 kib Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -48,8 +48,9 @@
  * get next entry in a directory.
  */
 struct dirent *
-_readdir_unlocked(dirp)
+_readdir_unlocked(dirp, skip)
 	DIR *dirp;
+	int skip;
 {
 	struct dirent *dp;
 
@@ -72,7 +73,7 @@
 		    dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc)
 			return (NULL);
 		dirp->dd_loc += dp->d_reclen;
-		if (dp->d_ino == 0)
+		if (dp->d_ino == 0 && skip)
 			continue;
 		if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW))
 			continue;
@@ -88,11 +89,11 @@
 
 	if (__isthreaded) {
 		_pthread_mutex_lock(&dirp->dd_lock);
-		dp = _readdir_unlocked(dirp);
+		dp = _readdir_unlocked(dirp, 1);
 		_pthread_mutex_unlock(&dirp->dd_lock);
 	}
 	else
-		dp = _readdir_unlocked(dirp);
+		dp = _readdir_unlocked(dirp, 1);
 	return (dp);
 }
 
@@ -109,11 +110,11 @@
 	errno = 0;
 	if (__isthreaded) {
 		_pthread_mutex_lock(&dirp->dd_lock);
-		if ((dp = _readdir_unlocked(dirp)) != NULL)
+		if ((dp = _readdir_unlocked(dirp, 1)) != NULL)
 			memcpy(entry, dp, _GENERIC_DIRSIZ(dp));
 		_pthread_mutex_unlock(&dirp->dd_lock);
 	}
-	else if ((dp = _readdir_unlocked(dirp)) != NULL)
+	else if ((dp = _readdir_unlocked(dirp, 1)) != NULL)
 		memcpy(entry, dp, _GENERIC_DIRSIZ(dp));
 
 	if (errno != 0) {

==== //depot/projects/vap/lib/libc/gen/telldir.c#4 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)telldir.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/telldir.c,v 1.10 2007/12/03 14:33:51 des Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/telldir.c,v 1.11 2008/05/05 14:05:23 kib Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -98,7 +98,7 @@
 	dirp->dd_seek = lp->loc_seek;
 	dirp->dd_loc = 0;
 	while (dirp->dd_loc < lp->loc_loc) {
-		dp = _readdir_unlocked(dirp);
+		dp = _readdir_unlocked(dirp, 0);
 		if (dp == NULL)
 			break;
 	}

==== //depot/projects/vap/lib/libc/gen/telldir.h#3 (text+ko) ====

@@ -29,7 +29,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libc/gen/telldir.h,v 1.2 2001/01/24 12:59:24 deischen Exp $
+ * $FreeBSD: src/lib/libc/gen/telldir.h,v 1.3 2008/05/05 14:05:23 kib Exp $
  */
 
 #ifndef _TELLDIR_H_
@@ -59,7 +59,7 @@
 	long	td_loccnt;	/* index of entry for sequential readdir's */
 };
 
-struct dirent	*_readdir_unlocked(DIR *);
+struct dirent	*_readdir_unlocked(DIR *, int);
 void 		_reclaim_telldir(DIR *);
 void 		_seekdir(DIR *, long);
 

==== //depot/projects/vap/lib/libc/stdio/Symbol.map#4 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/stdio/Symbol.map,v 1.6 2007/12/18 23:49:05 das Exp $
+ * $FreeBSD: src/lib/libc/stdio/Symbol.map,v 1.8 2008/05/05 16:14:02 jhb Exp $
  */
 
 FBSD_1.0 {
@@ -149,3 +149,9 @@
 	__printf_arginfo_vis;
 	__printf_render_vis;
 };
+
+FBSDprivate_1.1 {
+	__fgetcookie;
+	__fgetpendout;
+	__fsetfileno;
+};

==== //depot/projects/vap/lib/libc/stdio/clrerr.c#4 (text+ko) ====

@@ -34,15 +34,15 @@
 static char sccsid[] = "@(#)clrerr.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/clrerr.c,v 1.11 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/clrerr.c,v 1.12 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
 #include "un-namespace.h"
-#include "local.h"
 #include "libc_private.h"
 
-#define	__sclearerr(p)	((void)((p)->_flags &= ~(__SERR|__SEOF)))
+#undef clearerr
+#undef clearerr_unlocked
 
 void
 clearerr(fp)

==== //depot/projects/vap/lib/libc/stdio/feof.c#4 (text+ko) ====

@@ -34,15 +34,15 @@
 static char sccsid[] = "@(#)feof.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/feof.c,v 1.11 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/feof.c,v 1.12 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
 #include "un-namespace.h"
-#include "local.h"
 #include "libc_private.h"
 
-#define	__sfeof(p)	(((p)->_flags & __SEOF) != 0)
+#undef feof
+#undef feof_unlocked
 
 int
 feof(FILE *fp)

==== //depot/projects/vap/lib/libc/stdio/ferror.c#4 (text+ko) ====

@@ -34,14 +34,16 @@
 static char sccsid[] = "@(#)ferror.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/ferror.c,v 1.11 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/ferror.c,v 1.12 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
 #include "un-namespace.h"
-#include "local.h"
 #include "libc_private.h"
 
+#undef ferror
+#undef ferror_unlocked
+
 int
 ferror(FILE *fp)
 {

==== //depot/projects/vap/lib/libc/stdio/fileno.c#4 (text+ko) ====

@@ -34,15 +34,15 @@
 static char sccsid[] = "@(#)fileno.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fileno.c,v 1.12 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fileno.c,v 1.13 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
 #include "un-namespace.h"
-#include "local.h"
 #include "libc_private.h"
 
-#define	__sfileno(p)	((p)->_file)
+#undef fileno
+#undef fileno_unlocked
 
 int
 fileno(FILE *fp)

==== //depot/projects/vap/lib/libc/stdio/getc.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)getc.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/getc.c,v 1.15 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/getc.c,v 1.16 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
@@ -42,6 +42,9 @@
 #include "libc_private.h"
 #include "local.h"
 
+#undef getc
+#undef getc_unlocked
+
 int
 getc(FILE *fp)
 {

==== //depot/projects/vap/lib/libc/stdio/getchar.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)getchar.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/getchar.c,v 1.14 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/getchar.c,v 1.15 2008/05/05 16:03:52 jhb Exp $");
 
 /*
  * A subroutine version of the macro getchar.
@@ -45,6 +45,9 @@
 #include "local.h"
 #include "libc_private.h"
 
+#undef getchar
+#undef getchar_unlocked
+
 int
 getchar()
 {

==== //depot/projects/vap/lib/libc/stdio/local.h#5 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)local.h	8.3 (Berkeley) 7/3/94
- * $FreeBSD: src/lib/libc/stdio/local.h,v 1.32 2008/05/02 15:25:07 jhb Exp $
+ * $FreeBSD: src/lib/libc/stdio/local.h,v 1.33 2008/05/05 16:03:52 jhb Exp $
  */
 
 #include <sys/types.h>	/* for off_t */
@@ -39,105 +39,9 @@
 #include <wchar.h>
 
 /*
- * Information local to this implementation of stdio, in particular,
- * macros, private functions, private variables, and the definition of
- * FILE.
- *
- * NB: to fit things in six character monocase externals, the stdio
- * code uses the prefix `__s' for stdio objects, typically followed
- * by a three-character attempt at a mnemonic.
- */
-
-/* stdio buffers */
-struct __sbuf {
-	unsigned char *_base;
-	int	_size;
-};
-
-/*
- * stdio state variables.
- *
- * The following always hold:
- *
- *	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
- *		_lbfsize is -_bf._size, else _lbfsize is 0
- *	if _flags&__SRD, _w is 0
- *	if _flags&__SWR, _r is 0
- *
- * This ensures that the getc and putc macros (or inline functions) never
- * try to write or read from a file that is in `read' or `write' mode.
- * (Moreover, they can, and do, automatically switch from read mode to
- * write mode, and back, on "r+" and "w+" files.)
- *
- * _lbfsize is used only to make the inline line-buffered output stream
- * code as compact as possible.
- *
- * _ub, _up, and _ur are used when ungetc() pushes back more characters
- * than fit in the current _bf, or when ungetc() pushes back a character
- * that does not match the previous one in _bf.  When this happens,
- * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
- * _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
- *
- * Certain members of __sFILE are accessed directly via macros or
- * inline functions.  To preserve ABI compat, these members must not
- * be disturbed.  These members are marked below with (*).
+ * Information local to this implementation of stdio,
+ * in particular, macros and private variables.
  */
-struct __sFILE {
-	unsigned char *_p;	/* (*) current position in (some) buffer */
-	int	_r;		/* (*) read space left for getc() */
-	int	_w;		/* (*) write space left for putc() */
-	short	_flags;		/* (*) flags, below; this FILE is free if 0 */
-	short	_file;		/* (*) fileno, if Unix descriptor, else -1 */
-	struct	__sbuf _bf;	/* the buffer (at least 1 byte, if !NULL) */
-	int	_lbfsize;	/* (*) 0 or -_bf._size, for inline putc */
-
-	/* operations */
-	void	*_cookie;	/* cookie passed to io functions */
-	int	(*_close)(void *);
-	int	(*_read)(void *, char *, int);
-	fpos_t	(*_seek)(void *, fpos_t, int);
-	int	(*_write)(void *, const char *, int);
-
-	/* separate buffer for long sequences of ungetc() */
-	struct	__sbuf _ub;	/* ungetc buffer */
-	unsigned char	*_up;	/* saved _p when _p is doing ungetc data */
-	int	_ur;		/* saved _r when _r is counting ungetc data */
-
-	/* tricks to meet minimum requirements even when malloc() fails */
-	unsigned char _ubuf[3];	/* guarantee an ungetc() buffer */
-	unsigned char _nbuf[1];	/* guarantee a getc() buffer */
-
-	/* separate buffer for fgetln() when line crosses buffer boundary */
-	struct	__sbuf _lb;	/* buffer for fgetln() */
-
-	/* Unix stdio files get aligned to block boundaries on fseek() */
-	int	_blksize;	/* stat.st_blksize (may be != _bf._size) */
-	fpos_t	_offset;	/* current lseek offset */
-
-	pthread_mutex_t _fl_mutex;	/* used for MT-safety */
-	pthread_t _fl_owner;	/* current owner */
-	int	_fl_count;	/* recursive lock count */
-	int	_orientation;	/* orientation for fwide() */
-	mbstate_t _mbstate;	/* multibyte conversion state */
-};
-
-#define	__SLBF	0x0001		/* line buffered */
-#define	__SNBF	0x0002		/* unbuffered */
-#define	__SRD	0x0004		/* OK to read */
-#define	__SWR	0x0008		/* OK to write */
-	/* RD and WR are never simultaneously asserted */
-#define	__SRW	0x0010		/* open for reading & writing */
-#define	__SEOF	0x0020		/* found EOF */
-#define	__SERR	0x0040		/* found error */
-#define	__SMBF	0x0080		/* _buf is from malloc */
-#define	__SAPP	0x0100		/* fdopen()ed in append mode */
-#define	__SSTR	0x0200		/* this is an sprintf/snprintf string */
-#define	__SOPT	0x0400		/* do fseek() optimization */
-#define	__SNPT	0x0800		/* do not do fseek() optimization */
-#define	__SOFF	0x1000		/* set iff _offset is in fact correct */
-#define	__SMOD	0x2000		/* true => fgetln modified _p text */
-#define	__SALC	0x4000		/* allocate string space dynamically */
-#define	__SIGN	0x8000		/* ignore this file in _fwalk */
 
 extern int	_sread(FILE *, char *, int);
 extern int	_swrite(FILE *, char const *, int);
@@ -153,8 +57,6 @@
 extern int	__slbexpand(FILE *, size_t);
 extern int	__srefill(FILE *);
 extern int	__sread(void *, char *, int);
-extern int	__srget(FILE *);
-extern int	__swbuf(int, FILE *);
 extern int	__swrite(void *, char const *, int);
 extern fpos_t	__sseek(void *, fpos_t, int);
 extern int	__sclose(void *);
@@ -179,38 +81,6 @@
 
 
 /*
- * Get and store individual characters from a file stream.
- */
-#define	__sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
-#if defined(__GNUC__) && defined(__STDC__)
-static __inline int
-__sputc(int _c, FILE *_p)
-{
-	if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
-		return (*_p->_p++ = _c);
-	else
-		return (__swbuf(_c, _p));
-}
-#else
-/*
- * This has been tuned to generate reasonable code on the vax using pcc.
- */
-#define	__sputc(c, p) \
-	(--(p)->_w < 0 ? \
-		(p)->_w >= (p)->_lbfsize ? \
-			(*(p)->_p = (c)), *(p)->_p != '\n' ? \
-				(int)*(p)->_p++ : \
-				__swbuf('\n', p) : \
-			__swbuf((int)(c), p) : \
-		(*(p)->_p = (c), (int)*(p)->_p++))
-#endif
-
-/*
- * Return true if the file stream has encountered an error.
- */
-#define	__sferror(p)	(((p)->_flags & __SERR) != 0)
-
-/*
  * Prepare the given FILE for writing, and return 0 iff it
  * can be written now.  Otherwise, return EOF and set errno.
  */

==== //depot/projects/vap/lib/libc/stdio/putc.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)putc.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/putc.c,v 1.15 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/putc.c,v 1.16 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
@@ -42,6 +42,9 @@
 #include "local.h"
 #include "libc_private.h"
 
+#undef putc
+#undef putc_unlocked
+
 int
 putc(c, fp)
 	int c;

==== //depot/projects/vap/lib/libc/stdio/putchar.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)putchar.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/putchar.c,v 1.15 2008/05/02 15:25:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/putchar.c,v 1.16 2008/05/05 16:03:52 jhb Exp $");
 
 #include "namespace.h"
 #include <stdio.h>
@@ -42,6 +42,9 @@
 #include "local.h"
 #include "libc_private.h"
 
+#undef putchar
+#undef putchar_unlocked
+
 /*
  * A subroutine version of the macro putchar
  */

==== //depot/projects/vap/lib/libc/stdio/stdio.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)stdio.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/stdio.c,v 1.26 2008/05/03 20:09:44 marcel Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/stdio.c,v 1.28 2008/05/05 16:14:02 jhb Exp $");
 
 #include "namespace.h"
 #include <errno.h>
@@ -46,20 +46,6 @@
 #include "un-namespace.h"
 #include "local.h"
 
-void *
-__fgetcookie(FILE *fp)
-{
-
-	return (fp->_cookie);
-}
-
-void
-__fsetfileno(FILE *fp, int fd)
-{
-
-	fp->_file = fd;
-}
-
 /*
  * Small standard I/O/seek/close functions.

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805070220.m472KoAk060006>