PERFORCE change 130239 for review

Kip Macy kmacy at FreeBSD.org
Tue Dec 4 21:18:46 PST 2007


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

Change 130239 by kmacy at entropy_kmacy_xen31 on 2007/12/05 05:18:09

	IFC #130230

Affected files ...

.. //depot/projects/xen31/Makefile.inc1#3 integrate
.. //depot/projects/xen31/contrib/bind9/lib/isc/arm/include/isc/atomic.h#2 integrate
.. //depot/projects/xen31/lib/csu/common/crtbrand.c#2 integrate
.. //depot/projects/xen31/lib/libarchive/archive_read_support_format_zip.c#2 integrate
.. //depot/projects/xen31/lib/libc/amd64/Makefile.inc#2 integrate
.. //depot/projects/xen31/lib/libc/gdtoa/_ldtoa.c#3 integrate
.. //depot/projects/xen31/lib/libc/gdtoa/machdep_ldisQ.c#2 integrate
.. //depot/projects/xen31/lib/libc/gdtoa/machdep_ldisx.c#2 integrate
.. //depot/projects/xen31/lib/libc/gen/closedir.c#3 integrate
.. //depot/projects/xen31/lib/libc/gen/readdir.c#2 integrate
.. //depot/projects/xen31/lib/libc/gen/seekdir.c#2 integrate
.. //depot/projects/xen31/lib/libc/gen/telldir.c#2 integrate
.. //depot/projects/xen31/lib/libc/i386/Makefile.inc#2 integrate
.. //depot/projects/xen31/lib/libc/ia64/Makefile.inc#2 integrate
.. //depot/projects/xen31/lib/libc/nameser/ns_parse.c#2 integrate
.. //depot/projects/xen31/lib/libc/resolv/res_data.c#2 integrate
.. //depot/projects/xen31/lib/libc/resolv/res_init.c#2 integrate
.. //depot/projects/xen31/lib/libc/sparc64/Makefile.inc#2 integrate
.. //depot/projects/xen31/lib/libpmc/pmc.3#3 integrate
.. //depot/projects/xen31/lib/libpmc/pmclog.c#2 integrate
.. //depot/projects/xen31/lib/libpmc/pmclog.h#2 integrate
.. //depot/projects/xen31/release/Makefile#4 integrate
.. //depot/projects/xen31/share/misc/iso3166#3 integrate
.. //depot/projects/xen31/share/zoneinfo/asia#3 integrate
.. //depot/projects/xen31/share/zoneinfo/northamerica#3 integrate
.. //depot/projects/xen31/share/zoneinfo/southamerica#2 integrate
.. //depot/projects/xen31/share/zoneinfo/zone.tab#2 integrate
.. //depot/projects/xen31/sys/amd64/amd64/pmap.c#5 integrate
.. //depot/projects/xen31/sys/amd64/amd64/trap.c#3 integrate
.. //depot/projects/xen31/sys/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/xen31/sys/compat/ndis/subr_ndis.c#3 integrate
.. //depot/projects/xen31/sys/compat/ndis/subr_ntoskrnl.c#3 integrate
.. //depot/projects/xen31/sys/conf/NOTES#5 integrate
.. //depot/projects/xen31/sys/conf/files.pc98#4 integrate
.. //depot/projects/xen31/sys/dev/if_ndis/if_ndis.c#3 integrate
.. //depot/projects/xen31/sys/dev/if_ndis/if_ndis_pci.c#2 integrate
.. //depot/projects/xen31/sys/dev/if_ndis/if_ndisvar.h#2 integrate
.. //depot/projects/xen31/sys/dev/ipw/if_ipw.c#2 integrate
.. //depot/projects/xen31/sys/dev/re/if_re.c#4 integrate
.. //depot/projects/xen31/sys/dev/snp/snp.c#2 integrate
.. //depot/projects/xen31/sys/dev/sound/pcm/channel.c#2 integrate
.. //depot/projects/xen31/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate
.. //depot/projects/xen31/sys/i386/i386/pmap.c#5 integrate
.. //depot/projects/xen31/sys/i386/i386/trap.c#3 integrate
.. //depot/projects/xen31/sys/kern/imgact_elf.c#4 integrate
.. //depot/projects/xen31/sys/kern/init_main.c#5 integrate
.. //depot/projects/xen31/sys/kern/kern_conf.c#2 integrate
.. //depot/projects/xen31/sys/kern/kern_exec.c#5 integrate
.. //depot/projects/xen31/sys/kern/kern_mbuf.c#4 integrate
.. //depot/projects/xen31/sys/kern/kern_mib.c#2 integrate
.. //depot/projects/xen31/sys/kern/subr_stack.c#3 integrate
.. //depot/projects/xen31/sys/kern/vfs_mount.c#4 integrate
.. //depot/projects/xen31/sys/net/if_lagg.c#3 integrate
.. //depot/projects/xen31/sys/netinet/if_ether.c#3 integrate
.. //depot/projects/xen31/sys/netinet/sctp.h#2 integrate
.. //depot/projects/xen31/sys/netinet/sctp_output.c#3 integrate
.. //depot/projects/xen31/sys/netinet/sctp_structs.h#2 integrate
.. //depot/projects/xen31/sys/netinet/sctp_usrreq.c#3 integrate
.. //depot/projects/xen31/sys/netinet/sctputil.c#3 integrate
.. //depot/projects/xen31/sys/netinet/tcp_syncache.c#6 integrate
.. //depot/projects/xen31/sys/pc98/include/stack.h#1 branch
.. //depot/projects/xen31/sys/security/audit/audit.c#4 integrate
.. //depot/projects/xen31/sys/sys/param.h#6 integrate
.. //depot/projects/xen31/sys/sys/pmc.h#2 integrate
.. //depot/projects/xen31/sys/sys/pmclog.h#2 integrate
.. //depot/projects/xen31/sys/sys/proc.h#5 integrate
.. //depot/projects/xen31/sys/sys/systm.h#2 integrate
.. //depot/projects/xen31/tools/regression/lib/libc/stdio/test-printfloat.c#2 integrate
.. //depot/projects/xen31/tools/regression/lib/libc/stdio/test-scanfloat.c#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athdebug/athdebug.c#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athstats/athstats.c#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athstats/athstats.h#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athstats/main.c#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athstats/statfoo.c#2 integrate
.. //depot/projects/xen31/tools/tools/ath/athstats/statfoo.h#2 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanstats/main.c#3 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanstats/statfoo.c#3 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanstats/statfoo.h#2 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanstats/wlanstats.c#3 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanstats/wlanstats.h#2 integrate
.. //depot/projects/xen31/tools/tools/net80211/wlanwatch/wlanwatch.c#2 integrate
.. //depot/projects/xen31/usr.bin/procstat/procstat_kstack.c#2 integrate
.. //depot/projects/xen31/usr.bin/procstat/procstat_threads.c#2 integrate
.. //depot/projects/xen31/usr.sbin/pmcstat/pmcstat_log.c#2 integrate
.. //depot/projects/xen31/usr.sbin/zic/zic.c#2 integrate

Differences ...

==== //depot/projects/xen31/Makefile.inc1#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.590 2007/10/31 09:26:42 yar Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.591 2007/12/04 12:55:27 yar Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -591,17 +591,25 @@
 #
 distributeworld installworld: installcheck
 	mkdir -p ${INSTALLTMP}
-	for prog in ${ITOOLS}; do \
+	progs=$$(for prog in ${ITOOLS}; do \
 		if progpath=`which $$prog`; then \
-			progs="$$progs $$progpath"; \
+			echo $$progpath; \
 		else \
 			echo "Required tool $$prog not found in PATH." >&2; \
 			exit 1; \
 		fi; \
-	done; \
-	cp $$progs ${INSTALLTMP}; \
-	cp `ldd -f "%p\n" -f "%p\n" $$progs 2>/dev/null | \
-	    sort -u` ${INSTALLTMP}
+	    done); \
+	libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \
+	    while read line; do \
+		set -- $$line; \
+		if [ "$$2 $$3" != "not found" ]; then \
+			echo $$2; \
+		else \
+			echo "Required library $$1 not found." >&2; \
+			exit 1; \
+		fi; \
+	    done); \
+	cp $$libs $$progs ${INSTALLTMP}
 	cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale
 	${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \
 	    ${IMAKEENV} rm -rf ${INSTALLTMP}

==== //depot/projects/xen31/contrib/bind9/lib/isc/arm/include/isc/atomic.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/contrib/bind9/lib/isc/arm/include/isc/atomic.h,v 1.1.1.1 2007/06/05 22:15:38 dougb Exp $
+ * $FreeBSD: src/contrib/bind9/lib/isc/arm/include/isc/atomic.h,v 1.1.1.2 2007/12/03 08:26:34 dougb Exp $
  */
 
 #ifndef ISC_ATOMIC_H
@@ -49,7 +49,29 @@
 static inline isc_int32_t
 isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val)
 {
-	return atomic_cmpset_int(p, cmpval, val);
+	register int done, ras_start;
+
+	__asm __volatile("1:\n"
+	    "adr	%1, 1b\n"
+	    "mov	%0, #0xe0000004\n"
+	    "str	%1, [%0]\n"
+	    "mov	%0, #0xe0000008\n"
+	    "adr	%1, 2f\n"
+	    "str	%1, [%0]\n"
+	    "ldr	%1, [%2]\n"
+	    "cmp	%1, %3\n"
+	    "streq	%4, [%2]\n"
+	    "2:\n"
+	    "mov	%3, #0\n"
+	    "mov	%0, #0xe0000004\n"
+	    "str	%3, [%0]\n"
+	    "mov	%3, #0xffffffff\n"
+	    "mov	%0, #0xe0000008\n"
+	    "str	%3, [%0]\n"
+	    : "=r" (ras_start), "=r" (done)
+	    ,"+r" (p), "+r" (cmpval), "+r" (val) : : "memory");
+	return (done);
+
 }
 #else /* !FreeBSD */
 

==== //depot/projects/xen31/lib/csu/common/crtbrand.c#2 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/csu/common/crtbrand.c,v 1.4 2003/10/17 15:43:13 peter Exp $");
+__FBSDID("$FreeBSD: src/lib/csu/common/crtbrand.c,v 1.6 2007/12/04 12:18:43 kib Exp $");
 
 #include <sys/param.h>
 
@@ -43,7 +43,7 @@
     int32_t	type;
     char	name[sizeof ABI_VENDOR];
     int32_t	desc;
-} abitag __attribute__ ((section (ABI_SECTION), aligned(4))) __unused = {
+} abitag __attribute__ ((section (ABI_SECTION), aligned(4))) __used = {
     sizeof ABI_VENDOR,
     sizeof(int32_t),
     ABI_NOTETYPE,

==== //depot/projects/xen31/lib/libarchive/archive_read_support_format_zip.c#2 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.15 2007/10/12 04:08:28 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.16 2007/12/04 06:32:12 kientzle Exp $");
 
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
@@ -336,7 +336,8 @@
 	zip->entry_offset = 0;
 
 	/* If there's no body, force read_data() to return EOF immediately. */
-	if (zip->entry_bytes_remaining < 1)
+	if (0 == (zip->flags & ZIP_LENGTH_AT_END)
+	    && zip->entry_bytes_remaining < 1)
 		zip->end_of_entry = 1;
 
 	/* Set up a more descriptive format name. */

==== //depot/projects/xen31/lib/libc/amd64/Makefile.inc#2 (text+ko) ====

@@ -1,9 +1,9 @@
-# $FreeBSD: src/lib/libc/amd64/Makefile.inc,v 1.5 2006/03/16 14:22:19 ru Exp $
+# $FreeBSD: src/lib/libc/amd64/Makefile.inc,v 1.6 2007/12/03 07:17:32 das Exp $
 #
 # Machine dependent definitions for the amd64 architecture.
 #
 
 # Long double is 80 bits
-GDTOASRCS+=strtopx.c
+GDTOASRCS+=strtorx.c
 MDSRCS+=machdep_ldisx.c
 SYM_MAPS+=${.CURDIR}/amd64/Symbol.map

==== //depot/projects/xen31/lib/libc/gdtoa/_ldtoa.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gdtoa/_ldtoa.c,v 1.3 2007/11/21 01:10:42 jb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gdtoa/_ldtoa.c,v 1.4 2007/12/03 07:17:32 das Exp $");
 
 #include <float.h>
 #include <inttypes.h>
@@ -46,11 +46,11 @@
 __ldtoa(long double *ld, int mode, int ndigits, int *decpt, int *sign,
     char **rve)
 {
-	static FPI fpi = {
+	FPI fpi = {
 		LDBL_MANT_DIG,			/* nbits */
 		LDBL_MIN_EXP - LDBL_MANT_DIG,	/* emin */
 		LDBL_MAX_EXP - LDBL_MANT_DIG,	/* emax */
-		FPI_Round_near,	       		/* rounding */
+		FLT_ROUNDS,	       		/* rounding */
 #ifdef Sudden_Underflow	/* unused, but correct anyway */
 		1
 #else
@@ -64,7 +64,15 @@
 	void *vbits = bits;
 
 	u.e = *ld;
+
+	/*
+	 * gdtoa doesn't know anything about the sign of the number, so
+	 * if the number is negative, we need to swap rounding modes of
+	 * 2 (upwards) and 3 (downwards).
+	 */
 	*sign = u.bits.sign;
+	fpi.rounding ^= (fpi.rounding >> 1) & u.bits.sign;
+
 	be = u.bits.exp - (LDBL_MAX_EXP - 1) - (LDBL_MANT_DIG - 1);
 	LDBL_TO_ARRAY32(u, bits);
 

==== //depot/projects/xen31/lib/libc/gdtoa/machdep_ldisQ.c#2 (text+ko) ====

@@ -31,7 +31,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gdtoa/machdep_ldisQ.c,v 1.2 2003/04/09 05:58:43 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gdtoa/machdep_ldisQ.c,v 1.3 2007/12/03 07:17:32 das Exp $");
+
+#include <float.h>
 
 #include "gdtoaimp.h"
 
@@ -40,6 +42,6 @@
 {
 	long double result;
 
-	strtopQ(s, sp, &result);
+	strtorQ(s, sp, FLT_ROUNDS, &result);
 	return result;
 }

==== //depot/projects/xen31/lib/libc/gdtoa/machdep_ldisx.c#2 (text+ko) ====

@@ -31,7 +31,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gdtoa/machdep_ldisx.c,v 1.2 2003/04/09 05:58:43 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gdtoa/machdep_ldisx.c,v 1.3 2007/12/03 07:17:32 das Exp $");
+
+#include <float.h>
 
 #include "gdtoaimp.h"
 
@@ -40,6 +42,6 @@
 {
 	long double result;
 
-	strtopx(s, sp, &result);
+	strtorx(s, sp, FLT_ROUNDS, &result);
 	return result;
 }

==== //depot/projects/xen31/lib/libc/gen/closedir.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)closedir.c	8.1 (Berkeley) 6/10/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/closedir.c,v 1.12 2007/11/19 21:57:28 cognet Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/closedir.c,v 1.13 2007/12/03 14:33:50 des Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -54,7 +54,7 @@
 	int fd;
 
 	if (__isthreaded)
-		_pthread_mutex_lock((void *)&dirp->dd_lock);
+		_pthread_mutex_lock(&dirp->dd_lock);
 	_seekdir(dirp, dirp->dd_rewind);	/* free seekdir storage */
 	fd = dirp->dd_fd;
 	dirp->dd_fd = -1;
@@ -62,8 +62,8 @@
 	free((void *)dirp->dd_buf);
 	_reclaim_telldir(dirp);
 	if (__isthreaded) {
-		_pthread_mutex_unlock((void *)&dirp->dd_lock);
-		_pthread_mutex_destroy((void *)&dirp->dd_lock);
+		_pthread_mutex_unlock(&dirp->dd_lock);
+		_pthread_mutex_destroy(&dirp->dd_lock);
 	}
 	free((void *)dirp);
 	return(_close(fd));

==== //depot/projects/xen31/lib/libc/gen/readdir.c#2 (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.13 2007/01/09 00:27:55 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/readdir.c,v 1.14 2007/12/03 14:33:50 des Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -87,9 +87,9 @@
 	struct dirent	*dp;
 
 	if (__isthreaded) {
-		_pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_lock(&dirp->dd_lock);
 		dp = _readdir_unlocked(dirp);
-		_pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_unlock(&dirp->dd_lock);
 	}
 	else
 		dp = _readdir_unlocked(dirp);
@@ -108,10 +108,10 @@
 	saved_errno = errno;
 	errno = 0;
 	if (__isthreaded) {
-		_pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_lock(&dirp->dd_lock);
 		if ((dp = _readdir_unlocked(dirp)) != NULL)
 			memcpy(entry, dp, _GENERIC_DIRSIZ(dp));
-		_pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_unlock(&dirp->dd_lock);
 	}
 	else if ((dp = _readdir_unlocked(dirp)) != NULL)
 		memcpy(entry, dp, _GENERIC_DIRSIZ(dp));

==== //depot/projects/xen31/lib/libc/gen/seekdir.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)seekdir.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/seekdir.c,v 1.6 2007/01/09 00:27:55 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/seekdir.c,v 1.7 2007/12/03 14:33:51 des Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -52,8 +52,8 @@
 	long loc;
 {
 	if (__isthreaded)
-		_pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_lock(&dirp->dd_lock);
 	_seekdir(dirp, loc);
 	if (__isthreaded)
-		_pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_unlock(&dirp->dd_lock);
 }

==== //depot/projects/xen31/lib/libc/gen/telldir.c#2 (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.9 2007/01/09 00:27:55 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/telldir.c,v 1.10 2007/12/03 14:33:51 des Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -64,13 +64,13 @@
 	if ((lp = (struct ddloc *)malloc(sizeof(struct ddloc))) == NULL)
 		return (-1);
 	if (__isthreaded)
-		_pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_lock(&dirp->dd_lock);
 	lp->loc_index = dirp->dd_td->td_loccnt++;
 	lp->loc_seek = dirp->dd_seek;
 	lp->loc_loc = dirp->dd_loc;
 	LIST_INSERT_HEAD(&dirp->dd_td->td_locq, lp, loc_lqe);
 	if (__isthreaded)
-		_pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock);
+		_pthread_mutex_unlock(&dirp->dd_lock);
 	return (lp->loc_index);
 }
 

==== //depot/projects/xen31/lib/libc/i386/Makefile.inc#2 (text+ko) ====

@@ -1,6 +1,6 @@
-# $FreeBSD: src/lib/libc/i386/Makefile.inc,v 1.2 2006/03/13 01:14:57 deischen Exp $
+# $FreeBSD: src/lib/libc/i386/Makefile.inc,v 1.3 2007/12/03 07:17:32 das Exp $
 
 # Long double is 80 bits
-GDTOASRCS+=strtopx.c
+GDTOASRCS+=strtorx.c
 MDSRCS+=machdep_ldisx.c
 SYM_MAPS+=${.CURDIR}/i386/Symbol.map

==== //depot/projects/xen31/lib/libc/ia64/Makefile.inc#2 (text+ko) ====

@@ -1,9 +1,9 @@
-# $FreeBSD: src/lib/libc/ia64/Makefile.inc,v 1.7 2006/03/16 14:27:17 ru Exp $
+# $FreeBSD: src/lib/libc/ia64/Makefile.inc,v 1.8 2007/12/03 07:17:32 das Exp $
 #
 # Machine dependent definitions for the ia64 architecture.
 #
 
 # Long double is 80 bits
-GDTOASRCS+=strtopx.c
+GDTOASRCS+=strtorx.c
 MDSRCS+=machdep_ldisx.c
 SYM_MAPS+=${.CURDIR}/ia64/Symbol.map

==== //depot/projects/xen31/lib/libc/nameser/ns_parse.c#2 (text) ====

@@ -16,7 +16,7 @@
  */
 
 #ifndef lint
-static const char rcsid[] = "$Id: ns_parse.c,v 1.5.18.3 2005/10/11 00:25:10 marka Exp $";
+static const char rcsid[] = "$Id: ns_parse.c,v 1.5.18.4 2007/08/27 03:34:24 marka Exp $";
 #endif
 
 /* Import. */
@@ -40,7 +40,7 @@
 
 /* Macros. */
 
-#ifndef SOLARIS2
+#if !defined(SOLARIS2) || defined(__COVERITY__)
 #define RETERR(err) do { errno = (err); return (-1); } while (0)
 #else
 #define RETERR(err) \

==== //depot/projects/xen31/lib/libc/resolv/res_data.c#2 (text) ====

@@ -16,10 +16,10 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$Id: res_data.c,v 1.3.18.1 2005/04/27 05:01:10 sra Exp $";
+static const char rcsid[] = "$Id: res_data.c,v 1.3.18.2 2007/09/14 05:35:47 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_data.c,v 1.4 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_data.c,v 1.5 2007/12/03 15:13:44 ume Exp $");
 
 #include "port_before.h"
 

==== //depot/projects/xen31/lib/libc/resolv/res_init.c#2 (text) ====

@@ -66,10 +66,10 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_init.c	8.1 (Berkeley) 6/7/93";
-static const char rcsid[] = "$Id: res_init.c,v 1.16.18.5 2006/08/30 23:23:13 marka Exp $";
+static const char rcsid[] = "$Id: res_init.c,v 1.16.18.7 2007/07/09 01:52:58 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_init.c,v 1.6 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_init.c,v 1.7 2007/12/03 15:13:44 ume Exp $");
 
 #include "port_before.h"
 
@@ -168,7 +168,9 @@
 #endif
 	int dots;
 	union res_sockaddr_union u[2];
+	int maxns = MAXNS;
 
+	RES_SET_H_ERRNO(statp, 0);
 	if (statp->_u._ext.ext != NULL)
 		res_ndestroy(statp);
 
@@ -218,8 +220,22 @@
 		statp->_u._ext.ext->nsaddrs[0].sin = statp->nsaddr;
 		strcpy(statp->_u._ext.ext->nsuffix, "ip6.arpa");
 		strcpy(statp->_u._ext.ext->nsuffix2, "ip6.int");
-	} else
-		return (-1);
+	} else {
+		/*
+		 * Historically res_init() rarely, if at all, failed.
+		 * Examples and applications exist which do not check
+		 * our return code.  Furthermore several applications
+		 * simply call us to get the systems domainname.  So
+		 * rather then immediately fail here we store the
+		 * failure, which is returned later, in h_errno.  And
+		 * prevent the collection of 'nameserver' information
+		 * by setting maxns to 0.  Thus applications that fail
+		 * to check our return code wont be able to make
+		 * queries anyhow.
+		 */
+		RES_SET_H_ERRNO(statp, NETDB_INTERNAL);
+		maxns = 0;
+	}
 #ifdef RESOLVSORT
 	statp->nsort = 0;
 #endif
@@ -240,9 +256,9 @@
 				buf[0] = '.';
 			cp = strchr(buf, '.');
 			cp = (cp == NULL) ? buf : (cp + 1);
-			if (strlen(cp) >= sizeof(statp->defdname))
-				goto freedata; 
-			strcpy(statp->defdname, cp);
+			strncpy(statp->defdname, cp,
+				sizeof(statp->defdname) - 1);
+			statp->defdname[sizeof(statp->defdname) - 1] = '\0';
 		}
 	}
 #endif	/* SOLARIS2 */
@@ -348,7 +364,7 @@
 		    continue;
 		}
 		/* read nameservers to query */
-		if (MATCH(buf, "nameserver") && nserv < MAXNS) {
+		if (MATCH(buf, "nameserver") && nserv < maxns) {
 		    struct addrinfo hints, *ai;
 		    char sbuf[NI_MAXSERV];
 		    const size_t minsiz =
@@ -541,16 +557,7 @@
 	else if ((cp = getenv("RES_OPTIONS")) != NULL)
 		res_setoptions(statp, cp, "env");
 	statp->options |= RES_INIT;
-	return (0);
-
-#ifdef	SOLARIS2
- freedata:
-	if (statp->_u._ext.ext != NULL) {
-		free(statp->_u._ext.ext);
-		statp->_u._ext.ext = NULL;
-	}
-	return (-1);
-#endif
+	return (statp->res_h_errno);
 }
 
 static void

==== //depot/projects/xen31/lib/libc/sparc64/Makefile.inc#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libc/sparc64/Makefile.inc,v 1.6 2006/03/16 14:22:19 ru Exp $
+# $FreeBSD: src/lib/libc/sparc64/Makefile.inc,v 1.7 2007/12/03 07:17:33 das Exp $
 #
 # Machine dependent definitions for the ultra sparc architecture.
 #
@@ -6,6 +6,6 @@
 .include "fpu/Makefile.inc"
 
 # Long double is quad precision
-GDTOASRCS+=strtopQ.c
+GDTOASRCS+=strtorQ.c
 MDSRCS+=machdep_ldisQ.c
 SYM_MAPS+=${.CURDIR}/sparc64/Symbol.map

==== //depot/projects/xen31/lib/libpmc/pmc.3#3 (text+ko) ====

@@ -21,7 +21,7 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.14 2007/11/25 06:50:31 jkoshy Exp $
+.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.15 2007/12/03 10:59:23 jkoshy Exp $
 .\"
 .Dd November 25, 2007
 .Os
@@ -393,10 +393,8 @@
 Event specifiers are strings comprising of an event name, followed by
 optional parameters modifying the semantics of the hardware event
 being probed.
-Event names are PMC architecture dependent, but the
-.Xr hwpmc 4
-library defines machine independent aliases for commonly used
-events.
+Event names are PMC architecture dependent, but the PMC library defines
+machine independent aliases for commonly used events.
 .Ss Event Name Aliases
 Event name aliases are CPU architecture independent names for commonly
 used events.

==== //depot/projects/xen31/lib/libpmc/pmclog.c#2 (text+ko) ====

@@ -1,7 +1,11 @@
 /*-
- * Copyright (c) 2005-2006 Joseph Koshy
+ * Copyright (c) 2005-2007 Joseph Koshy
+ * Copyright (c) 2007 The FreeBSD Foundation
  * All rights reserved.
  *
+ * Portions of this software were developed by A. Joseph Koshy under
+ * sponsorship from the FreeBSD Foundation and Google, Inc.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -25,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libpmc/pmclog.c,v 1.4 2006/03/26 12:20:53 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/lib/libpmc/pmclog.c,v 1.5 2007/12/03 11:15:46 jkoshy Exp $");
 
 #include <sys/param.h>
 #include <sys/pmc.h>
@@ -270,7 +274,7 @@
     struct pmclog_ev *ev)
 {
 	int evlen, pathlen;
-	uint32_t h, *le;
+	uint32_t h, *le, npc;
 	enum pmclog_parser_state e;
 	struct pmclog_parse_state *ps;
 
@@ -310,7 +314,22 @@
 			goto error;					\
 	} while (0)
 
+#define	PMCLOG_GET_CALLCHAIN_SIZE(SZ,E) do {				\
+		(SZ) = ((E) - offsetof(struct pmclog_callchain, pl_pc))	\
+			/ sizeof(uintfptr_t);				\
+	} while (0);
+
 	switch (ev->pl_type = PMCLOG_HEADER_TO_TYPE(h)) {
+	case PMCLOG_TYPE_CALLCHAIN:
+		PMCLOG_READ32(le,ev->pl_u.pl_cc.pl_pid);
+		PMCLOG_READ32(le,ev->pl_u.pl_cc.pl_pmcid);
+		PMCLOG_READ32(le,ev->pl_u.pl_cc.pl_cpuflags);
+		PMCLOG_GET_CALLCHAIN_SIZE(ev->pl_u.pl_cc.pl_npc,evlen);
+		for (npc = 0; npc < ev->pl_u.pl_cc.pl_npc; npc++)
+			PMCLOG_READADDR(le,ev->pl_u.pl_cc.pl_pc[npc]);
+		for (;npc < PMC_CALLCHAIN_DEPTH_MAX; npc++)
+			ev->pl_u.pl_cc.pl_pc[npc] = (uintfptr_t) 0;
+		break;
 	case PMCLOG_TYPE_CLOSELOG:
 	case PMCLOG_TYPE_DROPNOTIFY:
 		/* nothing to do */
@@ -387,7 +406,7 @@
 	default:	/* unknown record type */
 		ps->ps_state = PL_STATE_ERROR;
 		ev->pl_state = PMCLOG_ERROR;
-		return -1;
+		return (-1);
 	}
 
 	ev->pl_offset = (ps->ps_offset += evlen);

==== //depot/projects/xen31/lib/libpmc/pmclog.h#2 (text+ko) ====

@@ -1,7 +1,11 @@
 /*-
- * Copyright (c) 2005-2006 Joseph Koshy
+ * Copyright (c) 2005-2007 Joseph Koshy
+ * Copyright (c) 2007 The FreeBSD Foundation
  * All rights reserved.
  *
+ * Portions of this software were developed by A. Joseph Koshy under
+ * sponsorship from the FreeBSD Foundation and Google, Inc.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -23,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libpmc/pmclog.h,v 1.3 2006/03/26 12:20:53 jkoshy Exp $
+ * $FreeBSD: src/lib/libpmc/pmclog.h,v 1.4 2007/12/03 11:15:46 jkoshy Exp $
  */
 
 #ifndef	_PMCLOG_H_
@@ -38,6 +42,14 @@
 	PMCLOG_ERROR
 };
 
+struct pmclog_ev_callchain {
+	uint32_t	pl_pid;
+	uint32_t	pl_pmcid;
+	uint32_t	pl_cpuflags;
+	uint32_t	pl_npc;
+	uintfptr_t	pl_pc[PMC_CALLCHAIN_DEPTH_MAX];
+};
+
 struct pmclog_ev_dropnotify {
 };
 
@@ -125,6 +137,7 @@
 	struct timespec   pl_ts;	/* log entry timestamp */
 	enum pmclog_type  pl_type;	/* type of log entry */
 	union { 			/* log entry data */
+		struct pmclog_ev_callchain	pl_cc;
 		struct pmclog_ev_closelog	pl_cl;
 		struct pmclog_ev_dropnotify	pl_dn;
 		struct pmclog_ev_initialize	pl_i;

==== //depot/projects/xen31/release/Makefile#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/release/Makefile,v 1.928 2007/11/22 20:06:50 simon Exp $
+# $FreeBSD: src/release/Makefile,v 1.929 2007/12/04 02:22:35 kensmith Exp $
 #
 # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \
 #     [RELEASETAG=tag]
@@ -618,7 +618,7 @@
 	rm -rf ${j}_crunch
 	mkdir ${j}_crunch
 	cd ${j}_crunch; ${WMAKEENV} MAKEFLAGS="-m ${.CURDIR}/../share/mk" \
-	    crunchgen -o \
+	    NO_WERROR= crunchgen -o \
 	    ${.CURDIR}/${TARGET}/${j}_crunch.conf
 	cd ${j}_crunch; ${WMAKE} -f ${j}_crunch.mk subclean
 	cd ${.CURDIR}/..; ${BINMAKE} -f Makefile.inc1 _build-tools

==== //depot/projects/xen31/share/misc/iso3166#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/misc/iso3166,v 1.16 2007/11/28 11:03:06 keramida Exp $
+# $FreeBSD: src/share/misc/iso3166,v 1.17 2007/12/04 00:20:57 edwin Exp $
 #
 # ISO 3166 country codes
 # This includes many places that are not legally independent countries,
@@ -199,8 +199,10 @@
 RO	ROU	642	Romania
 RU	RUS	643	Russian Federation
 RW	RWA	646	Rwanda
+BL	BLM	652	Saint Barthelemy
 KN	KNA	659	Saint Kitts and Nevis
 LC	LCA	662	Saint Lucia
+MF	MAF	663	Saint Martin (French part)
 VC	VCT	670	Saint Vincent and the Grenadines
 WS	WSM	882	Samoa
 SM	SMR	674	San Marino
@@ -513,3 +515,6 @@
 #
 # Newsletter V-12 2006-09-26
 #  Removed SERBIA AND MONTENEGRO (CS).  Added SERBIA (RS) and MONTENEGRO (ME).
+#
+# Newsletter VI-1 2007-09-21
+#  Added SAINT BARTHELEMY (BL) and SAINT MARTIN (MF).

==== //depot/projects/xen31/share/zoneinfo/asia#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# @(#)asia	8.13
+# @(#)asia	8.14
 # <pre>
 
 # This data is by no means authoritative; if you think you know better,
@@ -577,6 +577,15 @@
 # daylight saving time ...
 # http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916
 #
+# From Roozbeh Pournader (2007-11-05):
+# This is quoted from Official Gazette of the Islamic Republic of
+# Iran, Volume 63, Number 18242, dated Tuesday 1386/6/24
+# [2007-10-16]. I am doing the best translation I can:...
+# The official time of the country will be moved forward for one hour
+# on the 24 hours of the first day of the month of Farvardin and will
+# be changed back to its previous state on the 24 hours of the
+# thirtieth day of Shahrivar.
+#
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Iran	1978	1980	-	Mar	21	0:00	1:00	D
 Rule	Iran	1978	only	-	Oct	21	0:00	0	S

==== //depot/projects/xen31/share/zoneinfo/northamerica#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# @(#)northamerica	8.19
+# @(#)northamerica	8.20
 # <pre>
 
 # also includes Central America and the Caribbean
@@ -2303,6 +2303,10 @@
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Guadeloupe	-4:06:08 -	LMT	1911 Jun 8	# Pointe a Pitre
 			-4:00	-	AST
+# St Barthelemy
+Link America/Guadeloupe	America/St_Barthelemy
+# St Martin (French part)
+Link America/Guadeloupe	America/Marigot
 
 # Guatemala
 #

==== //depot/projects/xen31/share/zoneinfo/southamerica#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# @(#)southamerica	8.12
+# @(#)southamerica	8.13
 # <pre>
 
 # This data is by no means authoritative; if you think you know better,
@@ -1107,19 +1107,17 @@
 
 # Venezuela
 #
-# From Kiraz Janicke (2007-09-25), in
-# http://www.venezuelanalysis.com/analysis/2645:
-# The proposal ... involves turning the clock back half an hour from
-# +4.00 Greenwich Mean Time (GMT), to +4.30GMT, the time zone
-# Venezuela had until December 31, 1964, when the current time zone
-# was adopted. The change was due to take place on September 17 and
-# then on September 24, but has since been postponed until December
-# 31, to allow for compliance with international organizations, such
-# as the International Office of Weights and Measures.
+# From John Stainforth (2007-11-28):
+# ... the change for Venezuela originally expected for 2007-12-31 has
+# been brought forward to 2007-12-09.  The official announcement was
+# published today in the "Gaceta Oficial de la Republica Bolivariana
+# de Venezuela, numero 38.819" (official document for all laws or
+# resolution publication)
+# http://www.globovision.com/news.php?nid=72208
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Caracas	-4:27:44 -	LMT	1890
 			-4:27:40 -	CMT	1912 Feb 12 # Caracas Mean Time?
 			-4:30	-	VET	1965	     # Venezuela Time
-			-4:00	-	VET	2008
+			-4:00	-	VET	2007 Dec  9 03:00
 			-4:30	-	VET

==== //depot/projects/xen31/share/zoneinfo/zone.tab#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# @(#)zone.tab	8.11
+# @(#)zone.tab	8.12
 #
 # TZ zone descriptions
 #
@@ -77,6 +77,7 @@
 BH	+2623+05035	Asia/Bahrain
 BI	-0323+02922	Africa/Bujumbura
 BJ	+0629+00237	Africa/Porto-Novo
+BL	+1753-06251	America/St_Barthelemy
 BM	+3217-06446	Atlantic/Bermuda
 BN	+0456+11455	Asia/Brunei
 BO	-1630-06809	America/La_Paz
@@ -250,6 +251,7 @@
 MC	+4342+00723	Europe/Monaco
 MD	+4700+02850	Europe/Chisinau
 ME	+4226+01916	Europe/Podgorica
+MF	+1804-06305	America/Marigot
 MG	-1855+04731	Indian/Antananarivo
 MH	+0709+17112	Pacific/Majuro	most locations
 MH	+0905+16720	Pacific/Kwajalein	Kwajalein

==== //depot/projects/xen31/sys/amd64/amd64/pmap.c#5 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.596 2007/11/30 07:14:42 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.597 2007/12/04 08:17:04 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -1430,9 +1430,9 @@
 	 * This supports switching from a 2MB page to a
 	 * normal 4K page.
 	 */
-	if (pd != 0 && (*pd & (PG_PS | PG_V)) == (PG_PS | PG_V)) {
+	if (pd != NULL && (*pd & (PG_PS | PG_V)) == (PG_PS | PG_V)) {
 		*pd = 0;
-		pd = 0;
+		pd = NULL;
 		pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
 		free = NULL;
 		pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va), &free);
@@ -1444,7 +1444,7 @@
 	 * If the page table page is mapped, we just increment the
 	 * hold count, and activate it.
 	 */
-	if (pd != 0 && (*pd & PG_V) != 0) {
+	if (pd != NULL && (*pd & PG_V) != 0) {
 		m = PHYS_TO_VM_PAGE(*pd & PG_FRAME);
 		m->wire_count++;
 	} else {

==== //depot/projects/xen31/sys/amd64/amd64/trap.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.322 2007/11/15 22:00:57 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.323 2007/12/04 12:33:03 kib Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -144,6 +144,9 @@
 static int panic_on_nmi = 1;
 SYSCTL_INT(_machdep, OID_AUTO, panic_on_nmi, CTLFLAG_RW,
 	&panic_on_nmi, 0, "Panic on NMI");
+static int prot_fault_translation = 0;
+SYSCTL_INT(_machdep, OID_AUTO, prot_fault_translation, CTLFLAG_RW,
+	&prot_fault_translation, 0, "Select signal to deliver on protection fault");
 
 extern char *syscallnames[];
 
@@ -312,8 +315,32 @@
 			if (i == SIGSEGV)
 				ucode = SEGV_MAPERR;
 			else {
-				i = SIGSEGV; /* XXX hack */
-				ucode = SEGV_ACCERR;
+				if (prot_fault_translation == 0) {
+					/*
+					 * Autodetect.
+					 * This check also covers the images
+					 * without the ABI-tag ELF note.
+					 */
+					if (p->p_osrel >= 700004) {
+						i = SIGSEGV;
+						ucode = SEGV_ACCERR;
+					} else {
+						i = SIGBUS;
+						ucode = BUS_PAGE_FAULT;
+					}
+				} else if (prot_fault_translation == 1) {
+					/*
+					 * Always compat mode.
+					 */
+					i = SIGBUS;
+					ucode = BUS_PAGE_FAULT;
+				} else {
+					/*
+					 * Always SIGSEGV mode.
+					 */
+					i = SIGSEGV;
+					ucode = SEGV_ACCERR;
+				}
 			}
 			break;
 

==== //depot/projects/xen31/sys/compat/freebsd32/freebsd32_misc.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */

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


More information about the p4-projects mailing list