PERFORCE change 105875 for review

Warner Losh imp at FreeBSD.org
Sat Sep 9 06:05:50 UTC 2006


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

Change 105875 by imp at imp_paco-paco on 2006/09/09 06:04:54

	IFC @105873

Affected files ...

.. //depot/projects/arm/src/Makefile#5 integrate
.. //depot/projects/arm/src/Makefile.inc1#15 integrate
.. //depot/projects/arm/src/etc/defaults/rc.conf#5 integrate
.. //depot/projects/arm/src/etc/rc.d/Makefile#4 integrate
.. //depot/projects/arm/src/etc/rc.d/bthidd#1 branch
.. //depot/projects/arm/src/lib/libc/stdlib/malloc.c#7 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_mutex.c#4 integrate
.. //depot/projects/arm/src/lib/libutil/pw_util.c#3 integrate
.. //depot/projects/arm/src/libexec/rtld-elf/rtld.c#4 integrate
.. //depot/projects/arm/src/release/Makefile#3 integrate
.. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#12 integrate
.. //depot/projects/arm/src/release/scripts/kernels-install.sh#3 integrate
.. //depot/projects/arm/src/sbin/geom/class/nop/geom_nop.c#2 integrate
.. //depot/projects/arm/src/sbin/geom/class/nop/gnop.8#2 integrate
.. //depot/projects/arm/src/sbin/ifconfig/ifconfig.c#3 integrate
.. //depot/projects/arm/src/sbin/mount/mount.8#2 integrate
.. //depot/projects/arm/src/share/man/man7/security.7#2 integrate
.. //depot/projects/arm/src/share/man/man9/printf.9#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_proto.h#15 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscall.h#15 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscalls.c#15 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_sysent.c#15 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/syscalls.master#16 integrate
.. //depot/projects/arm/src/sys/dev/bge/if_bge.c#22 integrate
.. //depot/projects/arm/src/sys/dev/bge/if_bgereg.h#16 integrate
.. //depot/projects/arm/src/sys/dev/drm/drmP.h#5 integrate
.. //depot/projects/arm/src/sys/dev/drm/drm_drv.c#5 integrate
.. //depot/projects/arm/src/sys/dev/drm/drm_pciids.h#6 integrate
.. //depot/projects/arm/src/sys/dev/drm/i915_dma.c#4 integrate
.. //depot/projects/arm/src/sys/dev/drm/i915_drm.h#4 integrate
.. //depot/projects/arm/src/sys/dev/drm/i915_drv.h#4 integrate
.. //depot/projects/arm/src/sys/dev/drm/i915_irq.c#4 integrate
.. //depot/projects/arm/src/sys/dev/drm/mach64_drm.h#3 integrate
.. //depot/projects/arm/src/sys/dev/drm/radeon_cp.c#5 integrate
.. //depot/projects/arm/src/sys/dev/drm/radeon_drm.h#5 integrate
.. //depot/projects/arm/src/sys/dev/drm/radeon_drv.h#5 integrate
.. //depot/projects/arm/src/sys/dev/drm/radeon_state.c#8 integrate
.. //depot/projects/arm/src/sys/dev/fdc/fdc.c#7 integrate
.. //depot/projects/arm/src/sys/dev/ic/nec765.h#3 integrate
.. //depot/projects/arm/src/sys/dev/mpt/mpt.c#18 integrate
.. //depot/projects/arm/src/sys/dev/mpt/mpt.h#18 integrate
.. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#23 integrate
.. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#16 integrate
.. //depot/projects/arm/src/sys/dev/re/if_re.c#16 integrate
.. //depot/projects/arm/src/sys/geom/gate/g_gate.c#5 integrate
.. //depot/projects/arm/src/sys/geom/gate/g_gate.h#5 integrate
.. //depot/projects/arm/src/sys/geom/nop/g_nop.c#6 integrate
.. //depot/projects/arm/src/sys/geom/nop/g_nop.h#3 integrate
.. //depot/projects/arm/src/sys/modules/Makefile#30 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_subr.c#12 integrate
.. //depot/projects/arm/src/sys/pc98/cbus/fdc.c#5 integrate
.. //depot/projects/arm/src/sys/sys/param.h#17 integrate
.. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.holiday#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/Makefile#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/Makefile#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/bthid_config.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/bthidd.8#1 branch
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/bthidd.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/bthidd.conf.sample#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/bthidd.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/client.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/hid.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/kbd.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/kbd.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/lexer.l#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/parser.y#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/server.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/bluetooth/bthidd/session.c#2 integrate

Differences ...

==== //depot/projects/arm/src/Makefile#5 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile,v 1.334 2006/06/22 16:52:53 imp Exp $
+# $FreeBSD: src/Makefile,v 1.335 2006/09/08 10:13:15 ru Exp $
 #
 # The user-driven targets are:
 #
@@ -58,8 +58,8 @@
 #
 # See src/UPDATING `COMMON ITEMS' for more complete information.
 #
-# If TARGET_ARCH=arch (e.g. ia64, sparc64, ...) is specified you can
-# cross build world for other architectures using the buildworld target,
+# If TARGET=machine (e.g. ia64, sparc64, ...) is specified you can
+# cross build world for other machine types using the buildworld target,
 # and once the world is built you can cross build a kernel using the
 # buildkernel target.
 #
@@ -268,36 +268,32 @@
 	@echo "--------------------------------------------------------------"
 	@echo ">>> make universe started on ${STARTTIME}"
 	@echo "--------------------------------------------------------------"
-.for target in i386 i386:pc98 sparc64 ia64 amd64
-.for arch in ${target:C/:.*$//}
-.for mach in ${target:C/^.*://}
-KERNCONFS!=	cd ${.CURDIR}/sys/${mach}/conf && \
+.for target in amd64 i386 ia64 pc98 sparc64
+KERNCONFS!=	cd ${.CURDIR}/sys/${target}/conf && \
 		find [A-Z]*[A-Z] -type f -maxdepth 0 \
 		! -name DEFAULTS ! -name LINT
 KERNCONFS:=	${KERNCONFS:S/^NOTES$/LINT/}
-universe: universe_${mach}
-.ORDER: universe_prologue universe_${mach} universe_epilogue
-universe_${mach}:
-	@echo ">> ${mach} started on `LC_ALL=C date`"
+universe: universe_${target}
+.ORDER: universe_prologue universe_${target} universe_epilogue
+universe_${target}:
+	@echo ">> ${target} started on `LC_ALL=C date`"
 	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildworld \
-	    TARGET_ARCH=${arch} TARGET=${mach} \
+	    TARGET=${target} \
 	    __MAKE_CONF=/dev/null \
-	    > _.${mach}.buildworld 2>&1
-	@echo ">> ${mach} buildworld completed on `LC_ALL=C date`"
-.if exists(${.CURDIR}/sys/${mach}/conf/NOTES)
-	-cd ${.CURDIR}/sys/${mach}/conf && ${MAKE} LINT \
-	    > ${.CURDIR}/_.${mach}.makeLINT 2>&1
+	    > _.${target}.buildworld 2>&1
+	@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
+.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
+	-cd ${.CURDIR}/sys/${target}/conf && ${MAKE} LINT \
+	    > ${.CURDIR}/_.${target}.makeLINT 2>&1
 .endif
 .for kernel in ${KERNCONFS}
 	-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
-	    TARGET_ARCH=${arch} TARGET=${mach} \
+	    TARGET=${target} \
 	    KERNCONF=${kernel} \
 	    __MAKE_CONF=/dev/null \
-	    > _.${mach}.${kernel} 2>&1
+	    > _.${target}.${kernel} 2>&1
 .endfor
-	@echo ">> ${mach} completed on `LC_ALL=C date`"
-.endfor
-.endfor
+	@echo ">> ${target} completed on `LC_ALL=C date`"
 .endfor
 universe: universe_epilogue
 universe_epilogue:

==== //depot/projects/arm/src/Makefile.inc1#15 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.558 2006/09/07 20:27:56 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.559 2006/09/08 10:09:02 ru Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -207,6 +207,7 @@
 # build-tools stage
 TMAKE=		MAKEOBJDIRPREFIX=${OBJTREE} \
 		${BMAKEENV} ${MAKE} -f Makefile.inc1 \
+		TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
 		DESTDIR= \
 		BOOTSTRAPPING=${OSRELDATE} -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS
 

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

@@ -15,7 +15,7 @@
 # For a more detailed explanation of all the rc.conf variables, please
 # refer to the rc.conf(5) manual page.
 #
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.294 2006/08/17 20:13:24 brian Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.295 2006/09/07 22:25:07 emax Exp $
 
 ##############################################################
 ###  Important initial Boot-time options  ####################
@@ -336,6 +336,10 @@
 sdpd_groupname="nobody"		# set spdp(8) user/group to run as after
 sdpd_username="nobody"		# it initializes
 
+bthidd_enable="NO"		# Enable bthidd(8) (or NO)
+bthidd_config="/etc/bluetooth/bthidd.conf" # bthidd(8) configuration file
+bthidd_hids="/var/db/bthidd.hids" # bthidd(8) known HID devices file
+
 ### Miscellaneous network options: ###
 icmp_bmcastecho="NO"	# respond to broadcast ping packets
 

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

@@ -1,12 +1,12 @@
 # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $
-# $FreeBSD: src/etc/rc.d/Makefile,v 1.75 2006/08/22 11:12:09 flz Exp $
+# $FreeBSD: src/etc/rc.d/Makefile,v 1.76 2006/09/07 22:25:08 emax Exp $
 
 .include <bsd.own.mk>
 
 FILES=	DAEMON LOGIN NETWORKING SERVERS \
 	abi accounting addswap adjkerntz amd \
 	apm apmd archdep atm1 atm2 atm3 auditd \
-	bgfsck bluetooth bootparams bridge bsnmpd \
+	bgfsck bluetooth bootparams bridge bsnmpd bthidd \
 	ccd cleanvar cleartmp cron \
 	devd devfs dhclient \
 	dmesg dumpon \

==== //depot/projects/arm/src/lib/libc/stdlib/malloc.c#7 (text+ko) ====

@@ -185,7 +185,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.136 2006/09/01 19:14:14 marcel Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.137 2006/09/08 17:52:15 jasone Exp $");
 
 #include "libc_private.h"
 #ifdef MALLOC_DEBUG
@@ -699,6 +699,12 @@
 /*
  * Try to use brk for chunk-size allocations, due to address space constraints.
  */
+/*
+ * Protects sbrk() calls.  This must be separate from chunks_mtx, since
+ * base_chunk_alloc() also uses sbrk(), but cannot lock chunks_mtx (doing so
+ * could cause recursive lock acquisition).
+ */
+static malloc_mutex_t	brk_mtx;
 /* Result of first sbrk(0) call. */
 static void		*brk_base;
 /* Current end of brk, or ((void *)-1) if brk is exhausted. */
@@ -816,6 +822,7 @@
 static void	wrtmessage(const char *p1, const char *p2, const char *p3,
 		const char *p4);
 static void	malloc_printf(const char *format, ...);
+static bool	base_chunk_alloc(size_t minsize);
 static void	*base_alloc(size_t size);
 static chunk_node_t *base_chunk_node_alloc(void);
 static void	base_chunk_node_dealloc(chunk_node_t *node);
@@ -967,6 +974,69 @@
 
 /******************************************************************************/
 
+static bool
+base_chunk_alloc(size_t minsize)
+{
+
+	assert(minsize <= chunk_size);
+
+#ifdef USE_BRK
+	/*
+	 * Do special brk allocation here, since the base chunk doesn't really
+	 * need to be chunk-aligned.
+	 */
+	if (brk_prev != (void *)-1) {
+		void *brk_cur;
+		intptr_t incr;
+
+		malloc_mutex_lock(&brk_mtx);
+		do {
+			/* Get the current end of brk. */
+			brk_cur = sbrk(0);
+
+			/*
+			 * Calculate how much padding is necessary to
+			 * chunk-align the end of brk.  Don't worry about
+			 * brk_cur not being chunk-aligned though.
+			 */
+			incr = (intptr_t)chunk_size
+			    - (intptr_t)CHUNK_ADDR2OFFSET(brk_cur);
+			if (incr < minsize)
+				incr += chunk_size;
+
+			brk_prev = sbrk(incr);
+			if (brk_prev == brk_cur) {
+				/* Success. */
+				malloc_mutex_unlock(&brk_mtx);
+				base_chunk = brk_cur;
+				base_next_addr = base_chunk;
+				base_past_addr = (void *)((uintptr_t)base_chunk +
+				    incr);
+#ifdef MALLOC_STATS
+				base_total += incr;
+#endif
+				return (false);
+			}
+		} while (brk_prev != (void *)-1);
+		malloc_mutex_unlock(&brk_mtx);
+	}
+#endif
+
+	/*
+	 * Don't worry about chunk alignment here, since base_chunk doesn't really
+	 * need to be aligned.
+	 */
+	base_chunk = pages_map(NULL, chunk_size);
+	if (base_chunk == NULL)
+		return (true);
+	base_next_addr = base_chunk;
+	base_past_addr = (void *)((uintptr_t)base_chunk + chunk_size);
+#ifdef MALLOC_STATS
+	base_total += chunk_size;
+#endif
+	return (false);
+}
+
 static void *
 base_alloc(size_t size)
 {
@@ -980,21 +1050,10 @@
 
 	/* Make sure there's enough space for the allocation. */
 	if ((uintptr_t)base_next_addr + csize > (uintptr_t)base_past_addr) {
-		void *tchunk;
-
-		assert(csize <= chunk_size);
-
-		tchunk = chunk_alloc(chunk_size);
-		if (tchunk == NULL) {
+		if (base_chunk_alloc(csize)) {
 			ret = NULL;
 			goto RETURN;
 		}
-		base_chunk = tchunk;
-		base_next_addr = (void *)base_chunk;
-		base_past_addr = (void *)((uintptr_t)base_chunk + chunk_size);
-#ifdef MALLOC_STATS
-		base_total += chunk_size;
-#endif
 	}
 
 	/* Allocate. */
@@ -1234,6 +1293,7 @@
 		 * The loop is necessary to recover from races with other
 		 * threads that are using brk for something other than malloc.
 		 */
+		malloc_mutex_lock(&brk_mtx);
 		do {
 			/* Get the current end of brk. */
 			brk_cur = sbrk(0);
@@ -1254,10 +1314,12 @@
 			brk_prev = sbrk(incr);
 			if (brk_prev == brk_cur) {
 				/* Success. */
+				malloc_mutex_unlock(&brk_mtx);
 				brk_max = (void *)(intptr_t)ret + size;
 				goto RETURN;
 			}
 		} while (brk_prev != (void *)-1);
+		malloc_mutex_unlock(&brk_mtx);
 	}
 #endif
 
@@ -1327,6 +1389,7 @@
 	    && (uintptr_t)chunk < (uintptr_t)brk_max) {
 		void *brk_cur;
 
+		malloc_mutex_lock(&brk_mtx);
 		/* Get the current end of brk. */
 		brk_cur = sbrk(0);
 
@@ -1340,6 +1403,7 @@
 		if (brk_cur == brk_max
 		    && (void *)(uintptr_t)chunk + size == brk_max
 		    && sbrk(-(intptr_t)size) == brk_max) {
+			malloc_mutex_unlock(&brk_mtx);
 			if (brk_prev == brk_max) {
 				/* Success. */
 				brk_prev = (void *)(intptr_t)brk_max
@@ -1348,6 +1412,7 @@
 			}
 			goto RETURN;
 		} else
+			malloc_mutex_unlock(&brk_mtx);
 			madvise(chunk, size, MADV_FREE);
 	} else
 #endif
@@ -1567,7 +1632,7 @@
 	 *
 	 * becomes
 	 *
-	 *   (size_invs[(D >> QUANTUM_2POW_MIN) - 3] * D) >> SIZE_INV_SHIFT
+	 *   (X * size_invs[(D >> QUANTUM_2POW_MIN) - 3]) >> SIZE_INV_SHIFT
 	 */
 #define SIZE_INV_SHIFT 21
 #define SIZE_INV(s) (((1 << SIZE_INV_SHIFT) / (s << QUANTUM_2POW_MIN)) + 1)
@@ -1645,7 +1710,7 @@
 		 */
 		regind = diff / size;
 	};
-	assert(regind == diff / size);
+	assert(diff == regind * size);
 	assert(regind < bin->nregs);
 
 	elm = regind >> (SIZEOF_INT_2POW + 3);
@@ -2940,6 +3005,15 @@
 			malloc_printf("Allocated: %zu, space used: %zu\n",
 			    allocated, total);
 
+			/* Print base stats. */
+			{
+				malloc_mutex_lock(&base_mtx);
+				malloc_printf("\nbase:\n");
+				malloc_printf(" %13s\n", "total");
+				malloc_printf(" %13llu\n", base_total);
+				malloc_mutex_unlock(&base_mtx);
+			}
+
 			/* Print chunk stats. */
 			{
 				chunk_stats_t chunks_stats;
@@ -3240,6 +3314,7 @@
 	malloc_mutex_init(&chunks_mtx);
 	RB_INIT(&huge);
 #ifdef USE_BRK
+	malloc_mutex_init(&brk_mtx);
 	brk_base = sbrk(0);
 	brk_prev = brk_base;
 	brk_max = brk_base;
@@ -3257,49 +3332,11 @@
 #endif
 #ifdef USE_BRK
 	/*
-	 * Do special brk allocation here, since the base chunk doesn't really
-	 * need to be chunk-aligned.
+	 * Allocate a base chunk here, since it doesn't actually have to be
+	 * chunk-aligned.  Doing this before allocating any other chunks allows
+	 * the use of space that would otherwise be wasted.
 	 */
-	{
-		void *brk_cur;
-		intptr_t incr;
-
-		do {
-			/* Get the current end of brk. */
-			brk_cur = sbrk(0);
-
-			/*
-			 * Calculate how much padding is necessary to
-			 * chunk-align the end of brk.  Don't worry about
-			 * brk_cur not being chunk-aligned though.
-			 */
-			incr = (intptr_t)chunk_size
-			    - (intptr_t)CHUNK_ADDR2OFFSET(brk_cur);
-
-			brk_prev = sbrk(incr);
-			if (brk_prev == brk_cur) {
-				/* Success. */
-				break;
-			}
-		} while (brk_prev != (void *)-1);
-
-		base_chunk = brk_cur;
-		base_next_addr = base_chunk;
-		base_past_addr = (void *)((uintptr_t)base_chunk + incr);
-#ifdef MALLOC_STATS
-		base_total += incr;
-		stats_chunks.nchunks = 1;
-		stats_chunks.curchunks = 1;
-		stats_chunks.highchunks = 1;
-#endif
-	}
-#else
-	/*
-	 * The first base chunk will be allocated when needed by base_alloc().
-	 */
-	base_chunk = NULL;
-	base_next_addr = NULL;
-	base_past_addr = NULL;
+	base_chunk_alloc(0);
 #endif
 	base_chunk_nodes = NULL;
 	malloc_mutex_init(&base_mtx);

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

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.46 2006/08/28 04:52:50 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.47 2006/09/08 09:29:14 davidxu Exp $
  */
 
 #include "namespace.h"
@@ -355,8 +355,7 @@
 		ret = mutex_self_lock(m, abstime);
 	} else {
 		if (abstime == NULL) {
-			_thr_umutex_lock(&m->m_lock, id);
-			ret = 0;
+			ret = _thr_umutex_lock(&m->m_lock, id);
 		} else if (__predict_false(
 			   abstime->tv_sec < 0 || abstime->tv_nsec < 0 ||
 			   abstime->tv_nsec >= 1000000000)) {

==== //depot/projects/arm/src/lib/libutil/pw_util.c#3 (text+ko) ====

@@ -43,7 +43,7 @@
 static const char sccsid[] = "@(#)pw_util.c	8.3 (Berkeley) 4/2/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/lib/libutil/pw_util.c,v 1.36 2006/09/04 15:09:21 thomas Exp $";
+  "$FreeBSD: src/lib/libutil/pw_util.c,v 1.37 2006/09/08 08:14:32 thomas Exp $";
 #endif /* not lint */
 
 /*
@@ -488,7 +488,7 @@
 		fpw = pw_scan(r, PWSCAN_MASTER);
 
 		/*
-		 * fpw is either the struct password for the current line,
+		 * fpw is either the struct passwd for the current line,
 		 * or NULL if the line is malformed.
 		 */
 

==== //depot/projects/arm/src/libexec/rtld-elf/rtld.c#4 (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/libexec/rtld-elf/rtld.c,v 1.116 2006/09/01 06:13:16 marcel Exp $
+ * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.117 2006/09/08 14:59:54 kib Exp $
  */
 
 /*
@@ -123,7 +123,7 @@
 static void set_program_var(const char *, const void *);
 static const Elf_Sym *symlook_default(const char *, unsigned long,
   const Obj_Entry *, const Obj_Entry **, const Ver_Entry *, int);
-static const Elf_Sym *symlook_list(const char *, unsigned long, Objlist *,
+static const Elf_Sym *symlook_list(const char *, unsigned long, const Objlist *,
   const Obj_Entry **, const Ver_Entry *, int flags, DoneList *);
 static void trace_loaded_objects(Obj_Entry *obj);
 static void unlink_object(Obj_Entry *);
@@ -1851,21 +1851,18 @@
 	    return NULL;
 	}
 
+	DoneList donelist;
+	const Objlist *srch_list;
+	donelist_init(&donelist);
 	if (obj->mainprog) {
-	    DoneList donelist;
-
 	    /* Search main program and all libraries loaded by it. */
-	    donelist_init(&donelist);
-	    def = symlook_list(name, hash, &list_main, &defobj, ve, flags,
-	      &donelist);
+	    srch_list = &list_main;
 	} else {
-	    /*
-	     * XXX - This isn't correct.  The search should include the whole
-	     * DAG rooted at the given object.
-	     */
-	    def = symlook_obj(name, hash, obj, ve, flags);
-	    defobj = obj;
+	    /* Search the whole DAG rooted at the given object. */
+	    srch_list = &(obj->dagmembers);
 	}
+	def = symlook_list(name, hash, srch_list, &defobj, ve, flags,
+			   &donelist);
     }
 
     if (def != NULL) {
@@ -2336,7 +2333,7 @@
 }
 
 static const Elf_Sym *
-symlook_list(const char *name, unsigned long hash, Objlist *objlist,
+symlook_list(const char *name, unsigned long hash, const Objlist *objlist,
   const Obj_Entry **defobj_out, const Ver_Entry *ventry, int flags,
   DoneList *dlp)
 {

==== //depot/projects/arm/src/release/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/release/Makefile,v 1.912 2006/08/22 07:51:08 ru Exp $
+# $FreeBSD: src/release/Makefile,v 1.913 2006/09/08 19:54:36 ru Exp $
 #
 # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \
 #     [RELEASETAG=tag]
@@ -1098,7 +1098,7 @@
 	@rm -rf ${RD}/dists/${TD}/${TN}*
 	@mkdir -p ${RD}/dists/${TD}
 	@( cd ${SD} && \
-		tn=`echo ${TN} | tr 'A-Z' 'a-z' | cut -c1-8` && \
+		tn=`echo ${TN} | tr 'A-Z' 'a-z'` && \
 		echo rolling ${TD}/$$tn tarball &&\
 		tar --exclude CVS --exclude obj --exclude BOOTMFS -cf - ${ARG} | \
 		${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \

==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#12 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.972 2006/09/07 18:58:19 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.974 2006/09/07 23:49:26 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -210,7 +210,7 @@
 
     <para>A potential denial of service attack against &man.named.8;
       has been fixed.  For more details, see security advisory
-      <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:20.named.asc">FreeBSD-SA-06:20.named</ulink>. &merged;</para>
+      <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:20.bind.asc">FreeBSD-SA-06:20.bind</ulink>. &merged;</para>
 
   </sect2>
 
@@ -1609,8 +1609,8 @@
     <para><application>GCC</application> has been updated from 3.4.4
       to 3.4.6. &merged;</para>
 
-    <para><application>GNU Readline library</application>
-      has been updated from 5.0 to 5.1.</para>
+    <para><application>GNU Readline library</application> has been
+      updated from 5.0 to 5.1.</para>
 
     <para><application>GNU Troff</application>
       has been updated from version 1.19 to version 1.19.2.
@@ -1627,7 +1627,7 @@
 
     <para><application>lukemftpd</application> has been updated from a
       snapshot from NetBSD as of 9 August 2004 to a snapshot from
-      NetBSD as of 31 August 2006.</para>
+      NetBSD as of 31 August 2006. &merged;</para>
 
     <para><application>OpenSSH</application> has been updated from
       4.2p1 to 4.3p1.</para>

==== //depot/projects/arm/src/release/scripts/kernels-install.sh#3 (text) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/release/scripts/kernels-install.sh,v 1.3 2006/08/28 08:06:21 ru Exp $
+# $FreeBSD: src/release/scripts/kernels-install.sh,v 1.4 2006/09/08 19:54:37 ru Exp $
 #
 
 if [ "`id -u`" != "0" ]; then
@@ -35,8 +35,8 @@
 		echo "Saving existing $KERNEL as $sav"
 		mv $KERNEL $sav
 	fi
-	# translate per Makefile:doTARBALL XXX are we sure to have tr+cut?
-	tn=`echo ${CONFIG} | tr 'A-Z' 'a-z' | cut -c1-8`
+	# translate per Makefile:doTARBALL XXX are we sure to have tr?
+	tn=`echo ${CONFIG} | tr 'A-Z' 'a-z'`
 	cat $tn.?? | tar --unlink -xpzf - -C $BOOT
 else
 	echo "Installation of $CONFIG kernel distribution not done." 

==== //depot/projects/arm/src/sbin/geom/class/nop/geom_nop.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2004 Pawel Jakub Dawidek <pjd at FreeBSD.org>
+ * Copyright (c) 2004-2006 Pawel Jakub Dawidek <pjd at FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/class/nop/geom_nop.c,v 1.8 2006/02/01 12:11:36 pjd Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/class/nop/geom_nop.c,v 1.9 2006/09/08 09:21:21 pjd Exp $");
 
 #include <stdio.h>
 #include <stdint.h>
@@ -38,7 +38,9 @@
 uint32_t lib_version = G_LIB_VERSION;
 uint32_t version = G_NOP_VERSION;
 
-static intmax_t failprob = 0;
+static intmax_t error = -1;
+static intmax_t rfailprob = -1;
+static intmax_t wfailprob = -1;
 static intmax_t offset = 0;
 static intmax_t secsize = 0;
 static intmax_t size = 0;
@@ -46,20 +48,25 @@
 struct g_command class_commands[] = {
 	{ "create", G_FLAG_VERBOSE | G_FLAG_LOADKLD, NULL,
 	    {
-		{ 'f', "failprob", &failprob, G_TYPE_NUMBER },
+		{ 'e', "error", &error, G_TYPE_NUMBER },
 		{ 'o', "offset", &offset, G_TYPE_NUMBER },
+		{ 'r', "rfailprob", &rfailprob, G_TYPE_NUMBER },
 		{ 's', "size", &size, G_TYPE_NUMBER },
 		{ 'S', "secsize", &secsize, G_TYPE_NUMBER },
+		{ 'w', "wfailprob", &wfailprob, G_TYPE_NUMBER },
 		G_OPT_SENTINEL
 	    },
-	    "[-v] [-f failprob] [-o offset] [-s size] [-S secsize] dev ..."
+	    "[-v] [-e error] [-o offset] [-r rfailprob] [-s size] [-S secsize] "
+	    "[-w wfailprob] dev ..."
 	},
 	{ "configure", G_FLAG_VERBOSE, NULL,
 	    {
-		{ 'f', "failprob", &failprob, G_TYPE_NUMBER },
+		{ 'e', "error", &error, G_TYPE_NUMBER },
+		{ 'r', "rfailprob", &rfailprob, G_TYPE_NUMBER },
+		{ 'w', "wfailprob", &wfailprob, G_TYPE_NUMBER },
 		G_OPT_SENTINEL
 	    },
-	    "[-v] [-f failprob] prov ..."
+	    "[-v] [-e error] [-r rfailprob] [-w wfailprob] prov ..."
 	},
 	{ "destroy", G_FLAG_VERBOSE, NULL,
 	    {

==== //depot/projects/arm/src/sbin/geom/class/nop/gnop.8#2 (text+ko) ====

@@ -1,4 +1,4 @@
-.\" Copyright (c) 2004-2005 Pawel Jakub Dawidek <pjd at FreeBSD.org>
+.\" Copyright (c) 2004-2006 Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/geom/class/nop/gnop.8,v 1.19 2005/12/08 23:00:31 pjd Exp $
+.\" $FreeBSD: src/sbin/geom/class/nop/gnop.8,v 1.20 2006/09/08 09:21:21 pjd Exp $
 .\"
-.Dd May 21, 2004
+.Dd September 8, 2006
 .Dt GNOP 8
 .Os
 .Sh NAME
@@ -34,15 +34,19 @@
 .Nm
 .Cm create
 .Op Fl v
-.Op Fl f Ar failprob
+.Op Fl e Ar error
 .Op Fl o Ar offset
+.Op Fl r Ar rfailprob
 .Op Fl s Ar size
 .Op Fl S Ar secsize
+.Op Fl w Ar wfailprob
 .Ar dev ...
 .Nm
 .Cm configure
 .Op Fl v
-.Op Fl f Ar failprob
+.Op Fl e Ar error
+.Op Fl r Ar rfailprob
+.Op Fl w Ar wfailprob
 .Ar prov ...
 .Nm
 .Cm destroy
@@ -104,17 +108,21 @@
 .El
 .Pp
 Additional options:
-.Bl -tag -width ".Fl f Ar failprob"
+.Bl -tag -width ".Fl f Ar rfailprob"
+.It Fl e Ar error
+Specifies the error number to return on failure.
 .It Fl f
 Force the removal of the specified provider.
-.It Fl f Ar failprob
-Specifies failure probability in percentage.
 .It Fl o Ar offset
 Where to begin on the original provider.
+.It Fl r Ar rfailprob
+Specifies read failure probability in percent.
 .It Fl s Ar size
 Size of the transparent provider.
 .It Fl S Ar secsize
 Sector size of the transparent provider.
+.It Fl w Ar wfailprob
+Specifies write failure probability in percent.
 .It Fl v
 Be more verbose.
 .El

==== //depot/projects/arm/src/sbin/ifconfig/ifconfig.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.121 2006/09/06 22:07:14 andre Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.122 2006/09/08 13:29:38 andre Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -805,7 +805,7 @@
 
 #define	IFCAPBITS \
 "\020\1RXCSUM\2TXCSUM\3NETCONS\4VLAN_MTU\5VLAN_HWTAGGING\6JUMBO_MTU\7POLLING" \
-"\8TSO4\9TSO6\10VLAN_HWCSUM"
+"\10VLAN_HWCSUM\11TSO4\12TSO6"
 
 /*
  * Print the status of the interface.  If an address family was

==== //depot/projects/arm/src/sbin/mount/mount.8#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)mount.8	8.8 (Berkeley) 6/16/94
-.\" $FreeBSD: src/sbin/mount/mount.8,v 1.78 2006/07/12 16:05:51 des Exp $
+.\" $FreeBSD: src/sbin/mount/mount.8,v 1.79 2006/09/08 13:47:39 danger Exp $
 .\"
 .Dd July 12, 2006
 .Dt MOUNT 8
@@ -131,9 +131,12 @@
 to the file system should be done asynchronously.
 This is a
 .Em dangerous
-flag to set,
-and should not be used unless you are prepared to recreate the file
-system should your system crash.
+flag to set, since it does not guarantee that the file system structure
+on the disk will remain consistent.
+For this reason, the
+.Cm async
+flag should be used sparingly, and only when some data recovery
+mechanism is present.
 .It Cm current
 When used with the
 .Fl u

==== //depot/projects/arm/src/share/man/man7/security.7#2 (text+ko) ====

@@ -21,9 +21,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man7/security.7,v 1.47 2006/07/12 18:12:11 keramida Exp $
+.\" $FreeBSD: src/share/man/man7/security.7,v 1.48 2006/09/08 04:56:21 trhodes Exp $
 .\"
-.Dd November 29, 2004
+.Dd September 8, 2006
 .Dt SECURITY 7
 .Os
 .Sh NAME
@@ -54,19 +54,6 @@
 In a nutshell,
 what you want to do is to create as many layers of security as are convenient
 and then carefully monitor the system for intrusions.
-You do not want to
-overbuild your security or you will interfere with the detection side, and
-detection is one of the single most important aspects of any security
-mechanism.
-For example, it makes little sense to set the
-.Cm schg
-flags
-(see
-.Xr chflags 1 )
-on every system binary because while this may temporarily protect the
-binaries, it prevents an attacker who has broken in from making an
-easily detectable change that may result in your security mechanisms not
-detecting the attacker at all.
 .Pp
 System security also pertains to dealing with various forms of attacks,
 including attacks that attempt to crash or otherwise make a system unusable

==== //depot/projects/arm/src/share/man/man9/printf.9#2 (text+ko) ====

@@ -24,9 +24,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/printf.9,v 1.7 2005/07/31 03:30:45 keramida Exp $
+.\" $FreeBSD: src/share/man/man9/printf.9,v 1.8 2006/09/08 14:05:03 ru Exp $
 .\"
-.Dd August 10, 2004
+.Dd September 8, 2006
 .Dt PRINTF 9
 .Os
 .Sh NAME
@@ -90,7 +90,7 @@
 for example, \e10 gives octal and \e20 gives hexadecimal.
 The arguments are made up of a sequence of bit identifiers.
 Each bit identifier begins with an integer value which is the number of the
-bit this identifier describes.
+bit (starting from 1) this identifier describes.
 The rest of the identifier is a string of characters containing the name of
 the bit.
 The string is terminated by either the bit number at the start of the next
@@ -140,7 +140,11 @@
 .Fn uprintf
 functions return the number of characters displayed.
 .Sh EXAMPLES
-This example demonstrates the use of the \&%b and \&%D conversion specifiers.
+This example demonstrates the use of the
+.Cm \&%b
+and
+.Cm \&%D
+conversion specifiers.
 The function
 .Bd -literal -offset indent
 void

==== //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_proto.h#15 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.60 2006/09/03 16:24:36 rwatson Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.61 2006/09/09 01:22:13 davidxu Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp 
  */
 

==== //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscall.h#15 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.58 2006/09/03 16:24:36 rwatson Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.59 2006/09/09 01:22:13 davidxu Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp 
  */
 
@@ -310,5 +310,10 @@
 #define	FREEBSD32_SYS_thr_suspend	442
 #define	FREEBSD32_SYS_thr_wake	443
 #define	FREEBSD32_SYS_kldunloadf	444
+#define	FREEBSD32_SYS_sigqueue	456
 #define	FREEBSD32_SYS_abort2	463
+#define	FREEBSD32_SYS_thr_set_name	464
+#define	FREEBSD32_SYS_thr_setscheduler	466
+#define	FREEBSD32_SYS_thr_getscheduler	467
+#define	FREEBSD32_SYS_thr_setschedparam	468
 #define	FREEBSD32_SYS_MAXSYSCALL	471

==== //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscalls.c#15 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.49 2006/09/03 16:24:36 rwatson Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.50 2006/09/09 01:22:13 davidxu Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp 
  */
 
@@ -463,7 +463,7 @@
 	"#453",			/* 453 = auditctl */
 	"#454",			/* 454 = _umtx_op */
 	"#455",			/* 455 = thr_new */
-	"#456",			/* 456 = sigqueue */
+	"sigqueue",			/* 456 = sigqueue */
 	"#457",			/* 457 = kmq_open */
 	"#458",			/* 458 = kmq_setattr */
 	"#459",			/* 459 = kmq_timedreceive */
@@ -471,11 +471,11 @@
 	"#461",			/* 461 = kmq_notify */
 	"#462",			/* 462 = kmq_unlink */
 	"abort2",			/* 463 = abort2 */
-	"#464",			/* 464 = thr_set_name */
+	"thr_set_name",			/* 464 = thr_set_name */
 	"#465",			/* 465 = aio_fsync */
-	"#466",			/* 466 = thr_setscheduler */
-	"#467",			/* 467 = thr_getscheduler */
-	"#468",			/* 468 = thr_setschedparam */
+	"thr_setscheduler",			/* 466 = thr_setscheduler */
+	"thr_getscheduler",			/* 467 = thr_getscheduler */
+	"thr_setschedparam",			/* 468 = thr_setschedparam */
 	"#469",			/* 469 = __getpath_fromfd */
 	"#470",			/* 470 = __getpath_fromaddr */
 };

==== //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_sysent.c#15 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.59 2006/09/03 16:24:36 rwatson Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.60 2006/09/09 01:22:13 davidxu Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.73 2006/09/03 16:17:49 rwatson Exp 
  */
 
@@ -488,7 +488,7 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 453 = auditctl */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 454 = _umtx_op */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 455 = thr_new */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 456 = sigqueue */
+	{ AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0 },	/* 456 = sigqueue */

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


More information about the p4-projects mailing list