PERFORCE change 139325 for review

Warner Losh imp at FreeBSD.org
Fri Apr 4 07:09:16 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=139325

Change 139325 by imp at imp_paco-paco on 2008/04/04 07:08:57

	IFC @139323

Affected files ...

.. //depot/projects/arm/src/bin/ls/ls.1#4 integrate
.. //depot/projects/arm/src/bin/ls/ls.c#2 integrate
.. //depot/projects/arm/src/bin/ls/ls.h#2 integrate
.. //depot/projects/arm/src/bin/ls/print.c#3 integrate
.. //depot/projects/arm/src/bin/ls/util.c#2 integrate
.. //depot/projects/arm/src/etc/rc.d/zfs#5 integrate
.. //depot/projects/arm/src/games/fortune/datfiles/fortunes#19 integrate
.. //depot/projects/arm/src/lib/libc/gen/err.c#3 integrate
.. //depot/projects/arm/src/lib/libc/gen/msgctl.3#3 integrate
.. //depot/projects/arm/src/lib/libc/include/namespace.h#4 integrate
.. //depot/projects/arm/src/lib/libc/include/un-namespace.h#4 integrate
.. //depot/projects/arm/src/lib/libc/sys/aio_cancel.2#2 integrate
.. //depot/projects/arm/src/lib/libc/sys/aio_suspend.2#2 integrate
.. //depot/projects/arm/src/lib/libthr/arch/amd64/Makefile.inc#3 integrate
.. //depot/projects/arm/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S#1 branch
.. //depot/projects/arm/src/lib/libthr/arch/amd64/include/pthread_md.h#3 integrate
.. //depot/projects/arm/src/lib/libthr/arch/i386/Makefile.inc#3 integrate
.. //depot/projects/arm/src/lib/libthr/arch/i386/i386/_umtx_op_err.S#1 branch
.. //depot/projects/arm/src/lib/libthr/arch/i386/include/pthread_md.h#3 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_affinity.c#3 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_cond.c#6 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_private.h#13 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_rtld.c#5 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#10 integrate
.. //depot/projects/arm/src/lib/msun/src/s_fma.c#2 integrate
.. //depot/projects/arm/src/lib/msun/src/s_fmal.c#3 integrate
.. //depot/projects/arm/src/sbin/fsck_ffs/main.c#6 integrate
.. //depot/projects/arm/src/sbin/restore/dirs.c#3 integrate
.. //depot/projects/arm/src/sbin/restore/interactive.c#2 integrate
.. //depot/projects/arm/src/share/mk/sys.mk#7 integrate
.. //depot/projects/arm/src/sys/arm/arm/bus_space_generic.c#1 branch
.. //depot/projects/arm/src/sys/arm/arm/machdep.c#11 integrate
.. //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#47 integrate
.. //depot/projects/arm/src/sys/arm/include/machdep.h#3 integrate
.. //depot/projects/arm/src/sys/arm/sa11x0/assabet_machdep.c#11 integrate
.. //depot/projects/arm/src/sys/arm/sa11x0/files.sa11x0#3 integrate
.. //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_io.c#7 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#8 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/files.ep80219#2 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/files.i80219#2 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/files.i80321#3 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/files.iq31244#2 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#18 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/obio_space.c#4 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/obio_space.c#3 integrate
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#15 integrate
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#9 integrate
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#12 integrate
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#5 integrate
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#6 integrate
.. //depot/projects/arm/src/sys/conf/Makefile.arm#21 integrate
.. //depot/projects/arm/src/sys/conf/NOTES#62 integrate
.. //depot/projects/arm/src/sys/conf/files#88 integrate
.. //depot/projects/arm/src/sys/dev/aac/aac_disk.c#4 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_80003es2lan.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82540.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82541.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82542.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82543.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82571.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_82571.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_api.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_api.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_defines.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_hw.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_ich8lan.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_ich8lan.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_mac.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_mac.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_manage.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_nvm.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_nvm.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_osdep.c#1 branch
.. //depot/projects/arm/src/sys/dev/em/e1000_osdep.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_phy.c#5 integrate
.. //depot/projects/arm/src/sys/dev/em/e1000_phy.h#5 integrate
.. //depot/projects/arm/src/sys/dev/em/if_em.c#45 integrate
.. //depot/projects/arm/src/sys/dev/em/if_em.h#20 integrate
.. //depot/projects/arm/src/sys/dev/igb/e1000_mac.c#2 integrate
.. //depot/projects/arm/src/sys/dev/igb/e1000_osdep.c#1 branch
.. //depot/projects/arm/src/sys/dev/igb/if_igb.c#2 integrate
.. //depot/projects/arm/src/sys/dev/mpt/mpt.c#29 integrate
.. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#23 integrate
.. //depot/projects/arm/src/sys/kern/kern_clock.c#19 integrate
.. //depot/projects/arm/src/sys/kern/kern_conf.c#15 integrate
.. //depot/projects/arm/src/sys/kern/kern_cpuset.c#5 integrate
.. //depot/projects/arm/src/sys/kern/kern_event.c#17 integrate
.. //depot/projects/arm/src/sys/kern/kern_intr.c#19 integrate
.. //depot/projects/arm/src/sys/kern/kern_timeout.c#11 integrate
.. //depot/projects/arm/src/sys/kern/kern_umtx.c#21 integrate
.. //depot/projects/arm/src/sys/kern/sched_ule.c#33 integrate
.. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#21 integrate
.. //depot/projects/arm/src/sys/kern/vfs_subr.c#45 integrate
.. //depot/projects/arm/src/sys/modules/em/Makefile#7 integrate
.. //depot/projects/arm/src/sys/modules/igb/Makefile#3 integrate
.. //depot/projects/arm/src/sys/powerpc/include/asm.h#2 integrate
.. //depot/projects/arm/src/sys/powerpc/psim/openpic_iobus.c#5 integrate
.. //depot/projects/arm/src/sys/sys/callout.h#6 integrate
.. //depot/projects/arm/src/sys/sys/cpuset.h#5 integrate
.. //depot/projects/arm/src/tools/regression/lib/msun/Makefile#4 integrate
.. //depot/projects/arm/src/tools/regression/lib/msun/test-fma.c#1 branch
.. //depot/projects/arm/src/tools/regression/lib/msun/test-fma.t#1 branch
.. //depot/projects/arm/src/tools/tools/mctest/Makefile#1 branch
.. //depot/projects/arm/src/tools/tools/mctest/mctest.1#1 branch
.. //depot/projects/arm/src/tools/tools/mctest/mctest.cc#2 integrate
.. //depot/projects/arm/src/tools/tools/mctest/mctest.h#2 integrate
.. //depot/projects/arm/src/usr.bin/kdump/kdump.1#3 integrate
.. //depot/projects/arm/src/usr.bin/kdump/kdump.c#8 integrate
.. //depot/projects/arm/src/usr.bin/ktrace/ktrace.1#4 integrate
.. //depot/projects/arm/src/usr.bin/ktrace/ktrace.c#4 integrate

Differences ...

==== //depot/projects/arm/src/bin/ls/ls.1#4 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)ls.1	8.7 (Berkeley) 7/29/94
-.\" $FreeBSD: src/bin/ls/ls.1,v 1.100 2006/10/12 10:08:52 ru Exp $
+.\" $FreeBSD: src/bin/ls/ls.1,v 1.102 2008/04/04 05:55:42 ru Exp $
 .\"
-.Dd October 12, 2006
+.Dd April 4, 2008
 .Dt LS 1
 .Os
 .Sh NAME
@@ -41,6 +41,7 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1
+.Op Fl D Ar format
 .Op Ar
 .Sh DESCRIPTION
 For each operand that names a
@@ -88,6 +89,21 @@
 is the numeric value of the character in octal.
 .It Fl C
 Force multi-column output; this is the default when output is to a terminal.
+.It Fl D Ar format
+When printing in the long
+.Pq Fl l
+format, use
+.Ar format
+to format the date and time output.
+The argument
+.Ar format
+is a string used by
+.Xr strftime 3 .
+Depending on the choice of format string, this may result in a
+different number of columns in the output.
+This option overrides the
+.Fl T
+option.
 .It Fl F
 Display a slash
 .Pq Ql /
@@ -146,12 +162,13 @@
 Sort by size (largest file first) before sorting the operands in
 lexicographical order.
 .It Fl T
-When used with the
-.Fl l
-(lowercase letter
-.Dq ell )
-option, display complete time information for the file, including
+When printing in the long
+.Pq Fl l
+format, display complete time information for the file, including
 month, day, hour, minute, second, and year.
+The
+.Fl D
+option gives even more control over the output format.
 .It Fl U
 Use time when file was created for sorting or printing.
 .It Fl W
@@ -325,7 +342,12 @@
 modified, and the pathname.
 .Pp
 If the modification time of the file is more than 6 months
-in the past or future, then the year of the last modification
+in the past or future, and the
+.Fl D
+or
+.Fl T
+are not specified,
+then the year of the last modification
 is displayed in place of the hour and minute fields.
 .Pp
 If the owner or group names are not a known user or group name,
@@ -657,6 +679,7 @@
 .Xr getfacl 1 ,
 .Xr sort 1 ,
 .Xr xterm 1 ,
+.Xr strftime 3 ,
 .Xr termcap 5 ,
 .Xr maclabel 7 ,
 .Xr symlink 7 ,

==== //depot/projects/arm/src/bin/ls/ls.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.85 2006/03/24 17:09:03 jhb Exp $");
+__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.86 2008/04/04 03:57:46 grog Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -125,10 +125,11 @@
 static int f_singlecol;		/* use single column output */
        int f_size;		/* list size in short listing */
        int f_slash;		/* similar to f_type, but only for dirs */
-       int f_sortacross;	/* sort across rows, not down columns */ 
+       int f_sortacross;	/* sort across rows, not down columns */
        int f_statustime;	/* use time of last mode change */
 static int f_stream;		/* stream the output, separate with commas */
 static int f_timesort;		/* sort by time vice name */
+       char *f_timeformat;      /* user-specified time format */
 static int f_sizesort;
        int f_type;		/* add type character for non-regular files */
 static int f_whiteout;		/* show whiteout entries */
@@ -179,7 +180,7 @@
 
 	fts_options = FTS_PHYSICAL;
  	while ((ch = getopt(argc, argv,
-	    "1ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx")) != -1) {
+	    "1ABCD:FGHILPRSTUWZabcdfghiklmnopqrstuwx")) != -1) {
 		switch (ch) {
 		/*
 		 * The -1, -C, -x and -l options all override each other so
@@ -198,6 +199,9 @@
 		case 'C':
 			f_sortacross = f_longform = f_singlecol = 0;
 			break;
+                case 'D':
+                        f_timeformat = optarg;
+                        break;
 		case 'l':
 			f_longform = 1;
 			f_singlecol = 0;

==== //depot/projects/arm/src/bin/ls/ls.h#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)ls.h	8.1 (Berkeley) 5/31/93
- * $FreeBSD: src/bin/ls/ls.h,v 1.22 2006/03/24 16:38:02 jhb Exp $
+ * $FreeBSD: src/bin/ls/ls.h,v 1.23 2008/04/04 03:57:46 grog Exp $
  */
 
 #define NO_PRINT	1
@@ -50,8 +50,9 @@
 extern int f_sectime;		/* print the real time for all files */
 extern int f_size;		/* list size in short listing */
 extern int f_slash;		/* append a '/' if the file is a directory */
-extern int f_sortacross;	/* sort across rows, not down columns */ 
+extern int f_sortacross;	/* sort across rows, not down columns */
 extern int f_statustime;	/* use time of last mode change */
+extern char *f_timeformat;      /* user-specified time format */
 extern int f_notabs;		/* don't use tab-separated multi-col output */
 extern int f_type;		/* add type character for non-regular files */
 #ifdef COLORLS

==== //depot/projects/arm/src/bin/ls/print.c#3 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.76 2006/10/18 10:58:27 ru Exp $");
+__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.77 2008/04/04 03:57:46 grog Exp $");
 
 #include <sys/param.h>
 #include <sys/stat.h>
@@ -168,7 +168,7 @@
 			prevdev = sp->st_dev;
 		}
 		np = p->fts_pointer;
-		(void)printf("%s %*u %-*s  %-*s  ", buf, dp->s_nlink,
+		(void)printf("%s %*u %-*s  %-*s	 ", buf, dp->s_nlink,
 		    sp->st_nlink, dp->s_user, np->user, dp->s_group,
 		    np->group);
 		if (f_flags)
@@ -237,7 +237,7 @@
 	if (chcnt)
 		putchar('\n');
 }
-		
+
 void
 printcol(const DISPLAY *dp)
 {
@@ -378,17 +378,20 @@
 		now = time(NULL);
 
 #define	SIXMONTHS	((365 / 2) * 86400)
-	if (f_sectime)
+	if (f_timeformat)  /* user specified format */
+		format = f_timeformat;
+	else if (f_sectime)
 		/* mmm dd hh:mm:ss yyyy || dd mmm hh:mm:ss yyyy */
-		format = d_first ? "%e %b %T %Y " : "%b %e %T %Y ";
+		format = d_first ? "%e %b %T %Y" : "%b %e %T %Y";
 	else if (ftime + SIXMONTHS > now && ftime < now + SIXMONTHS)
 		/* mmm dd hh:mm || dd mmm hh:mm */
-		format = d_first ? "%e %b %R " : "%b %e %R ";
+		format = d_first ? "%e %b %R" : "%b %e %R";
 	else
 		/* mmm dd  yyyy || dd mmm  yyyy */
-		format = d_first ? "%e %b  %Y " : "%b %e  %Y ";
+		format = d_first ? "%e %b  %Y" : "%b %e	 %Y";
 	strftime(longstring, sizeof(longstring), format, localtime(&ftime));
 	fputs(longstring, stdout);
+	fputc(' ', stdout);
 }
 
 static int
@@ -625,7 +628,7 @@
 		snprintf(name, sizeof(name), "%s", p->fts_name);
 	else
 		snprintf(name, sizeof(name), "%s/%s",
-		    p->fts_parent->fts_accpath, p->fts_name);   
+		    p->fts_parent->fts_accpath, p->fts_name);
 	/*
 	 * We have no way to tell whether a symbolic link has an ACL since
 	 * pathconf() and acl_get_file() both follow them.  They also don't

==== //depot/projects/arm/src/bin/ls/util.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ls/util.c,v 1.40 2006/03/24 16:38:02 jhb Exp $");
+__FBSDID("$FreeBSD: src/bin/ls/util.c,v 1.41 2008/04/04 05:55:42 ru Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -222,9 +222,9 @@
 {
 	(void)fprintf(stderr,
 #ifdef COLORLS
-	"usage: ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1]"
+	"usage: ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1] [-D format]"
 #else
-	"usage: ls [-ABCFHILPRSTUWZabcdfghiklmnopqrstuwx1]"
+	"usage: ls [-ABCFHILPRSTUWZabcdfghiklmnopqrstuwx1] [-D format]"
 #endif
 		      " [file ...]\n");
 	exit(1);

==== //depot/projects/arm/src/etc/rc.d/zfs#5 (text+ko) ====

@@ -1,11 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/zfs,v 1.6 2008/03/19 14:44:55 pjd Exp $
+# $FreeBSD: src/etc/rc.d/zfs,v 1.7 2008/04/02 19:29:16 dougb Exp $
 #
 
 # PROVIDE: zfs
 # REQUIRE: mountcritlocal
-# BEFORE:  mountcritremote
 
 . /etc/rc.subr
 

==== //depot/projects/arm/src/games/fortune/datfiles/fortunes#19 (text+ko) ====

@@ -1,5 +1,5 @@
 This fortune brought to you by:
-$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.259 2008/03/31 10:28:09 ganbold Exp $
+$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.260 2008/04/03 10:22:56 yar Exp $
 %
 =======================================================================
 ||								     ||
@@ -46075,6 +46075,12 @@
 The greatest griefs are those we cause ourselves.
 		-- Sophocles
 %
+The greatest joy a man can know is to conquer his enemies and drive them
+before him.  To ride their horses and take away their possessions.  To see
+the faces of those who were dear to them bedewed with tears, and to clasp
+their wives and daughters to his arms.
+		-- Chinggis (Genghis) Khan
+%
 The greatest love is a mother's, then a dog's, then a sweetheart's.
 		-- Polish proverb
 %

==== //depot/projects/arm/src/lib/libc/gen/err.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)err.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/err.c,v 1.14 2007/01/09 00:27:53 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/err.c,v 1.15 2008/04/03 20:36:44 imp Exp $");
 
 #include "namespace.h"
 #include <err.h>
@@ -97,11 +97,7 @@
 }
 
 void
-verrc(eval, code, fmt, ap)
-	int eval;
-	int code;
-	const char *fmt;
-	va_list ap;
+verrc(int eval, int code, const char *fmt, va_list ap)
 {
 	if (err_file == 0)
 		err_set_file((FILE *)0);
@@ -126,10 +122,7 @@
 }
 
 void
-verrx(eval, fmt, ap)
-	int eval;
-	const char *fmt;
-	va_list ap;
+verrx(int eval, const char *fmt, va_list ap)
 {
 	if (err_file == 0)
 		err_set_file((FILE *)0);
@@ -154,9 +147,7 @@
 }
 
 void
-vwarn(fmt, ap)
-	const char *fmt;
-	va_list ap;
+vwarn(const char *fmt, va_list ap)
 {
 	vwarnc(errno, fmt, ap);
 }
@@ -171,10 +162,7 @@
 }
 
 void
-vwarnc(code, fmt, ap)
-	int code;
-	const char *fmt;
-	va_list ap;
+vwarnc(int code, const char *fmt, va_list ap)
 {
 	if (err_file == 0)
 		err_set_file((FILE *)0);
@@ -196,9 +184,7 @@
 }
 
 void
-vwarnx(fmt, ap)
-	const char *fmt;
-	va_list ap;
+vwarnx(const char *fmt, va_list ap)
 {
 	if (err_file == 0)
 		err_set_file((FILE *)0);

==== //depot/projects/arm/src/lib/libc/gen/msgctl.3#3 (text+ko) ====

@@ -29,9 +29,9 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.20 2006/08/09 18:05:44 maxim Exp $
+.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $
 .\"/
-.Dd November 24, 1997
+.Dd April 3, 2008
 .Dt MSGCTL 3
 .Os
 .Sh NAME
@@ -65,9 +65,9 @@
 	struct	ipc_perm msg_perm;	/* msg queue permission bits */
 	struct	msg *msg_first;	/* first message in the queue */
 	struct	msg *msg_last;	/* last message in the queue */
-	u_long	msg_cbytes;	/* number of bytes in use on the queue */
-	u_long	msg_qnum;	/* number of msgs in the queue */
-	u_long	msg_qbytes;	/* max # of bytes on the queue */
+	msglen_t msg_cbytes;	/* number of bytes in use on the queue */
+	msgqnum_t msg_qnum;	/* number of msgs in the queue */
+	msglen_t msg_qbytes;	/* max # of bytes on the queue */
 	pid_t	msg_lspid;	/* pid of last msgsnd() */
 	pid_t	msg_lrpid;	/* pid of last msgrcv() */
 	time_t	msg_stime;	/* time of last msgsnd() */
@@ -89,13 +89,13 @@
 and looks like this:
 .Bd -literal
 struct ipc_perm {
-	ushort	cuid;	/* creator user id */
-	ushort	cgid;	/* creator group id */
-	ushort	uid;	/* user id */
-	ushort	gid;	/* group id */
-	ushort	mode;	/* r/w permission */
-	ushort	seq;	/* sequence # (to generate unique msg/sem/shm id) */
-	key_t	key;	/* user specified msg/sem/shm key */
+	unsigned short	cuid;	/* creator user id */
+	unsigned short	cgid;	/* creator group id */
+	unsigned short	uid;	/* user id */
+	unsigned short	gid;	/* group id */
+	unsigned short	mode;	/* r/w permission */
+	unsigned short	seq;	/* sequence # (to generate unique ipcid) */
+	key_t		key;	/* user specified msg/sem/shm key */
 };
 .Ed
 .Pp

==== //depot/projects/arm/src/lib/libc/include/namespace.h#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libc/include/namespace.h,v 1.22 2008/03/25 15:33:00 ru Exp $
+ * $FreeBSD: src/lib/libc/include/namespace.h,v 1.23 2008/04/02 08:53:18 davidxu Exp $
  */
 
 #ifndef _NAMESPACE_H_
@@ -132,6 +132,7 @@
 #define		pthread_detach			_pthread_detach
 #define		pthread_equal			_pthread_equal
 #define		pthread_exit			_pthread_exit
+#define		pthread_getaffinity_np		_pthread_getaffinity_np
 #define		pthread_getconcurrency		_pthread_getconcurrency
 #define		pthread_getcpuclockid		_pthread_getcpuclockid
 #define		pthread_getprio			_pthread_getprio
@@ -182,6 +183,7 @@
 #define		pthread_rwlockattr_setpshared	_pthread_rwlockattr_setpshared
 #define		pthread_self			_pthread_self
 #define		pthread_set_name_np		_pthread_set_name_np
+#define		pthread_setaffinity_np		_pthread_setaffinity_np
 #define		pthread_setcancelstate		_pthread_setcancelstate
 #define		pthread_setcanceltype		_pthread_setcanceltype
 #define		pthread_setconcurrency		_pthread_setconcurrency

==== //depot/projects/arm/src/lib/libc/include/un-namespace.h#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libc/include/un-namespace.h,v 1.19 2008/03/25 13:28:12 ru Exp $
+ * $FreeBSD: src/lib/libc/include/un-namespace.h,v 1.20 2008/04/02 08:53:18 davidxu Exp $
  */
 
 #ifndef _UN_NAMESPACE_H_
@@ -113,6 +113,7 @@
 #undef		pthread_detach
 #undef		pthread_equal
 #undef		pthread_exit
+#undef		pthread_getaffinity_np
 #undef		pthread_getconcurrency
 #undef		pthread_getcpuclockid
 #undef		pthread_getprio
@@ -163,6 +164,7 @@
 #undef		pthread_rwlockattr_setpshared
 #undef		pthread_self
 #undef		pthread_set_name_np
+#undef		pthread_setaffinity_np
 #undef		pthread_setcancelstate
 #undef		pthread_setcanceltype
 #undef		pthread_setconcurrency

==== //depot/projects/arm/src/lib/libc/sys/aio_cancel.2#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.22 2003/01/13 10:37:11 tjr Exp $
+.\" $FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.23 2008/04/03 02:41:54 kevlo Exp $
 .\"
 .Dd January 19, 2000
 .Dt AIO_CANCEL 2
@@ -35,7 +35,7 @@
 .Sh SYNOPSIS
 .In aio.h
 .Ft int
-.Fn aio_cancel "int fildes" "struct aiocb * iocb"
+.Fn aio_cancel "int fildes" "struct aiocb *iocb"
 .Sh DESCRIPTION
 The
 .Fn aio_cancel

==== //depot/projects/arm/src/lib/libc/sys/aio_suspend.2#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.22 2004/12/23 23:45:25 keramida Exp $
+.\" $FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.23 2008/04/03 02:41:54 kevlo Exp $
 .\"
 .Dd June 2, 1999
 .Dt AIO_SUSPEND 2
@@ -35,7 +35,7 @@
 .Sh SYNOPSIS
 .In aio.h
 .Ft int
-.Fn aio_suspend "const struct aiocb * const iocbs[]" "int niocb" "const struct timespec * timeout"
+.Fn aio_suspend "const struct aiocb *const iocbs[]" "int niocb" "const struct timespec *timeout"
 .Sh DESCRIPTION
 The
 .Fn aio_suspend

==== //depot/projects/arm/src/lib/libthr/arch/amd64/Makefile.inc#3 (text+ko) ====

@@ -1,5 +1,5 @@
-#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.3 2008/02/13 05:25:42 obrien Exp $
+#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.4 2008/04/02 07:41:23 davidxu Exp $
 
 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
 
-SRCS+=	pthread_md.c
+SRCS+=	pthread_md.c _umtx_op_err.S

==== //depot/projects/arm/src/lib/libthr/arch/amd64/include/pthread_md.h#3 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/arch/amd64/include/pthread_md.h,v 1.4 2006/12/15 11:52:00 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/arch/amd64/include/pthread_md.h,v 1.5 2008/04/02 07:41:24 davidxu Exp $
  */
 
 /*
@@ -97,4 +97,7 @@
 {
 	return (TCB_GET64(tcb_thread));
 }
+
+#define	HAS__UMTX_OP_ERR	1
+
 #endif

==== //depot/projects/arm/src/lib/libthr/arch/i386/Makefile.inc#3 (text+ko) ====

@@ -1,5 +1,5 @@
-# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.3 2008/02/13 05:25:43 obrien Exp $
+# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.4 2008/04/02 07:41:24 davidxu Exp $
 
 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
 
-SRCS+=	pthread_md.c
+SRCS+=	pthread_md.c _umtx_op_err.S

==== //depot/projects/arm/src/lib/libthr/arch/i386/include/pthread_md.h#3 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.8 2006/12/15 11:52:00 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.9 2008/04/02 07:41:24 davidxu Exp $
  */
 
 /*
@@ -102,4 +102,7 @@
 {
 	return (TCB_GET32(tcb_thread));
 }
+
+#define HAS__UMTX_OP_ERR	1
+
 #endif

==== //depot/projects/arm/src/lib/libthr/thread/thr_affinity.c#3 (text+ko) ====

@@ -23,12 +23,12 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_affinity.c,v 1.2 2008/03/19 06:38:21 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_affinity.c,v 1.3 2008/04/02 11:41:12 davidxu Exp $
  *
  */
 
 #include "namespace.h"
-#include <pthread.h>
+#include <pthread_np.h>
 #include <sys/param.h>
 #include <sys/cpuset.h>
 #include "un-namespace.h"

==== //depot/projects/arm/src/lib/libthr/thread/thr_cond.c#6 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.24 2008/03/31 02:55:49 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.25 2008/04/02 08:33:42 davidxu Exp $
  */
 
 #include "namespace.h"
@@ -290,56 +290,3 @@
 
 	return (cond_signal_common(cond, 1));
 }
-
-int
-_pthread_cond_wait_unlocked(pthread_cond_t *cond, pthread_mutex_t *mutex,
-	const struct timespec *abstime)
-{
-	struct pthread	*curthread = _get_curthread();
-	struct timespec ts, ts2, *tsp;
-	pthread_cond_t  cv;
-	int		ret;
-
-	cv = *cond;
-	THR_UMUTEX_LOCK(curthread, &cv->c_lock);
-	_pthread_mutex_unlock(mutex);
-
-	if (abstime != NULL) {
-		clock_gettime(cv->c_clockid, &ts);
-		TIMESPEC_SUB(&ts2, abstime, &ts);
-		tsp = &ts2;
-	} else
-		tsp = NULL;
-
-	ret = _thr_ucond_wait(&cv->c_kerncv, &cv->c_lock, tsp, 0);
-	if (ret == EINTR)
-		ret = 0;
-	return (ret);
-}
-
-int
-_pthread_cond_broadcast_unlock(pthread_cond_t *cond, pthread_mutex_t *mutex, int broadcast)
-{
-	struct pthread	*curthread = _get_curthread();
-	pthread_cond_t	cv;
-	int		ret = 0;
-
-	/*
-	 * If the condition variable is statically initialized, perform dynamic
-	 * initialization.
-	 */
-	if (__predict_false(*cond == NULL &&
-	    (ret = init_static(curthread, cond)) != 0))
-		return (ret);
-
-	cv = *cond;
-	THR_UMUTEX_LOCK(curthread, &cv->c_lock);
-	_pthread_mutex_unlock(mutex);
-	if (!broadcast)
-		ret = _thr_ucond_signal(&cv->c_kerncv);
-	else
-		ret = _thr_ucond_broadcast(&cv->c_kerncv);
-	THR_UMUTEX_UNLOCK(curthread, &cv->c_lock);
-	return (ret);
-}
-

==== //depot/projects/arm/src/lib/libthr/thread/thr_private.h#13 (text+ko) ====

@@ -26,7 +26,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.87 2008/04/02 04:32:31 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.92 2008/04/03 02:47:35 davidxu Exp $
  */
 
 #ifndef _THR_PRIVATE_H
@@ -460,8 +460,10 @@
 	(thrd)->critical_count++
 
 #define	THR_CRITICAL_LEAVE(thrd)			\
-	(thrd)->critical_count--;			\
-	_thr_ast(thrd);
+	do {						\
+		(thrd)->critical_count--;		\
+		_thr_ast(thrd);				\
+	} while (0)
 
 #define THR_UMUTEX_TRYLOCK(thrd, lck)			\
 	_thr_umutex_trylock((lck), TID(thrd))
@@ -668,10 +670,6 @@
 void	_thread_bp_create(void);
 void	_thread_bp_death(void);
 int	_sched_yield(void);
-int	_pthread_getaffinity_np(pthread_t, size_t, cpuset_t *);
-int	_pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *);
-int	_pthread_cond_wait_unlocked(pthread_cond_t *, pthread_mutex_t *, const struct timespec *) __hidden;
-int	_pthread_cond_broadcast_unlock(pthread_cond_t *, pthread_mutex_t *, int broadcast);
 
 /* #include <fcntl.h> */
 #ifdef  _SYS_FCNTL_H_
@@ -709,6 +707,8 @@
 void	__sys_exit(int);
 #endif
 
+int	_umtx_op_err(void *, int op, u_long, void *, void *) __hidden;
+
 static inline int
 _thr_isthreaded(void)
 {

==== //depot/projects/arm/src/lib/libthr/thread/thr_rtld.c#5 (text) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.6 2008/03/21 02:31:55 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.7 2008/04/02 07:41:24 davidxu Exp $
  *
  */
 
@@ -219,7 +219,7 @@
 	curthread = _get_curthread();
 
 	/* force to resolve _umtx_op PLT */
-	_umtx_op((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0);
+	_umtx_op_err((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0);
 	
 	/* force to resolve errno() PLT */
 	__error();

==== //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#10 (text+ko) ====

@@ -23,13 +23,22 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_umtx.c,v 1.14 2008/04/02 04:32:31 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_umtx.c,v 1.15 2008/04/02 07:41:24 davidxu Exp $
  *
  */
 
 #include "thr_private.h"
 #include "thr_umtx.h"
 
+#ifndef HAS__UMTX_OP_ERR
+int _umtx_op_err(void *obj, int op, u_long val, void *uaddr, void *uaddr2)
+{
+	if (_umtx_op(obj, op, val, uaddr, uaddr2) == -1)
+		return (errno);
+	return (0);
+}
+#endif
+
 void
 _thr_umutex_init(struct umutex *mtx)
 {
@@ -41,9 +50,7 @@
 int
 __thr_umutex_lock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0) != -1)
-		return 0;
-	return (errno);
+	return _umtx_op_err(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0);
 }
 
 int
@@ -53,35 +60,27 @@
 	if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 &&
 		timeout->tv_nsec <= 0)))
 		return (ETIMEDOUT);
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0,
-		__DECONST(void *, timeout)) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(mtx, UMTX_OP_MUTEX_LOCK, 0, 0,
+		__DECONST(void *, timeout));
 }
 
 int
 __thr_umutex_unlock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0);
 }
 
 int
 __thr_umutex_trylock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0);
 }
 
 int
 __thr_umutex_set_ceiling(struct umutex *mtx, uint32_t ceiling,
 	uint32_t *oldceiling)
 {
-	if (_umtx_op(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0);
 }
 
 int
@@ -90,10 +89,8 @@
 	if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 &&
 		timeout->tv_nsec <= 0)))
 		return (ETIMEDOUT);
-	if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0,
-		__DECONST(void*, timeout)) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0,
+		__DECONST(void*, timeout));
 }
 
 int
@@ -102,19 +99,15 @@
 	if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 &&
 		timeout->tv_nsec <= 0)))
 		return (ETIMEDOUT);
-	if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT_UINT, id, 0,
-		__DECONST(void*, timeout)) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT_UINT, id, 0,
+		__DECONST(void*, timeout));
 }
 
 int
 _thr_umtx_wake(volatile void *mtx, int nr_wakeup)
 {
-	if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE,
-		nr_wakeup, 0, 0) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE,
+		nr_wakeup, 0, 0);
 }
 
 void
@@ -132,12 +125,9 @@
 		__thr_umutex_unlock(m);
                 return (ETIMEDOUT);
 	}
-	if (_umtx_op(cv, UMTX_OP_CV_WAIT,
+	return _umtx_op_err(cv, UMTX_OP_CV_WAIT,
 		     check_unparking ? UMTX_CHECK_UNPARKING : 0, 
-		     m, __DECONST(void*, timeout)) != -1) {
-		return (0);
-	}
-	return (errno);
+		     m, __DECONST(void*, timeout));
 }
  
 int
@@ -145,9 +135,7 @@
 {
 	if (!cv->c_has_waiters)
 		return (0);
-	if (_umtx_op(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL);
 }
 
 int
@@ -155,31 +143,23 @@
 {
 	if (!cv->c_has_waiters)
 		return (0);
-	if (_umtx_op(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL);
 }
 
 int
 __thr_rwlock_rdlock(struct urwlock *rwlock, int flags, struct timespec *tsp)
 {
-	if (_umtx_op(rwlock, UMTX_OP_RW_RDLOCK, flags, NULL, tsp) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(rwlock, UMTX_OP_RW_RDLOCK, flags, NULL, tsp);
 }
 
 int
 __thr_rwlock_wrlock(struct urwlock *rwlock, struct timespec *tsp)
 {
-	if (_umtx_op(rwlock, UMTX_OP_RW_WRLOCK, 0, NULL, tsp) != -1)
-		return (0);
-	return (errno);
+	return _umtx_op_err(rwlock, UMTX_OP_RW_WRLOCK, 0, NULL, tsp);

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


More information about the p4-projects mailing list