Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Aug 2003 22:44:42 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 36469 for review
Message-ID:  <200308200544.h7K5igOU022447@repoman.freebsd.org>

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

Change 36469 by marcel@marcel_nfs on 2003/08/19 22:43:42

	IFC @36468

Affected files ...

.. //depot/projects/ia64/UPDATING#47 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.alpha#8 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.amd64#4 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.i386#7 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.ia64#8 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.powerpc#8 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.sparc64#8 integrate
.. //depot/projects/ia64/include/unistd.h#19 integrate
.. //depot/projects/ia64/lib/libc/Makefile#10 integrate
.. //depot/projects/ia64/lib/libc/gen/gethostname.3#4 integrate
.. //depot/projects/ia64/lib/libc/gen/gethostname.c#3 integrate
.. //depot/projects/ia64/lib/libfetch/ftp.c#12 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_spec.c#4 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#62 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#117 integrate
.. //depot/projects/ia64/sys/amd64/amd64/pmap.c#20 integrate
.. //depot/projects/ia64/sys/dev/aac/aac.c#28 integrate
.. //depot/projects/ia64/sys/dev/aac/aac_cam.c#10 integrate
.. //depot/projects/ia64/sys/dev/aac/aac_disk.c#15 integrate
.. //depot/projects/ia64/sys/dev/an/if_aironet_ieee.h#5 integrate
.. //depot/projects/ia64/sys/dev/an/if_an.c#24 integrate
.. //depot/projects/ia64/sys/dev/an/if_an_pci.c#11 integrate
.. //depot/projects/ia64/sys/dev/an/if_anreg.h#8 integrate
.. //depot/projects/ia64/sys/dev/ath/if_ath.c#7 integrate
.. //depot/projects/ia64/sys/dev/ath/if_athioctl.h#2 integrate
.. //depot/projects/ia64/sys/dev/ath/if_athvar.h#4 integrate
.. //depot/projects/ia64/sys/dev/bge/if_bge.c#39 integrate
.. //depot/projects/ia64/sys/dev/bge/if_bgereg.h#21 integrate
.. //depot/projects/ia64/sys/dev/ep/if_ep.c#10 integrate
.. //depot/projects/ia64/sys/dev/firewire/firewire.h#12 integrate
.. //depot/projects/ia64/sys/dev/firewire/fwohci.c#33 integrate
.. //depot/projects/ia64/sys/dev/firewire/fwohcireg.h#11 integrate
.. //depot/projects/ia64/sys/dev/firewire/if_fwe.c#18 integrate
.. //depot/projects/ia64/sys/dev/hifn/hifn7751.c#13 integrate
.. //depot/projects/ia64/sys/dev/mii/brgphy.c#15 integrate
.. //depot/projects/ia64/sys/dev/patm/if_patm_attach.c#2 integrate
.. //depot/projects/ia64/sys/dev/rndtest/rndtest.c#3 integrate
.. //depot/projects/ia64/sys/dev/safe/safe.c#3 integrate
.. //depot/projects/ia64/sys/dev/twe/twe.c#8 integrate
.. //depot/projects/ia64/sys/dev/ubsec/ubsec.c#19 integrate
.. //depot/projects/ia64/sys/dev/wi/if_wi.c#46 integrate
.. //depot/projects/ia64/sys/fs/pseudofs/pseudofs_vnops.c#20 integrate
.. //depot/projects/ia64/sys/i386/i386/busdma_machdep.c#26 integrate
.. //depot/projects/ia64/sys/i386/i386/pmap.c#58 integrate
.. //depot/projects/ia64/sys/ia64/ia64/trap.c#63 integrate
.. //depot/projects/ia64/sys/ia64/include/cpu.h#22 integrate
.. //depot/projects/ia64/sys/kern/init_main.c#36 integrate
.. //depot/projects/ia64/sys/kern/kern_fork.c#45 integrate
.. //depot/projects/ia64/sys/kern/kern_synch.c#44 integrate
.. //depot/projects/ia64/sys/kern/kern_tc.c#28 integrate
.. //depot/projects/ia64/sys/kern/kern_thread.c#66 integrate
.. //depot/projects/ia64/sys/kern/sched_4bsd.c#15 integrate
.. //depot/projects/ia64/sys/kern/sched_ule.c#23 integrate
.. //depot/projects/ia64/sys/net/bpf.c#22 integrate
.. //depot/projects/ia64/sys/net/if_ethersubr.c#32 integrate
.. //depot/projects/ia64/sys/net/radix.h#7 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_input.c#5 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_node.c#6 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_node.h#5 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_output.c#4 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_proto.h#4 integrate
.. //depot/projects/ia64/sys/net80211/ieee80211_var.h#4 integrate
.. //depot/projects/ia64/sys/netinet/ip_mroute.c#22 integrate
.. //depot/projects/ia64/sys/netinet/tcp_syncache.c#24 integrate
.. //depot/projects/ia64/sys/netinet/udp_usrreq.c#22 integrate
.. //depot/projects/ia64/sys/pci/if_dc.c#44 integrate
.. //depot/projects/ia64/sys/pci/if_sis.c#27 integrate
.. //depot/projects/ia64/sys/sparc64/conf/GENERIC#38 integrate
.. //depot/projects/ia64/sys/sys/malloc.h#20 integrate
.. //depot/projects/ia64/usr.sbin/ancontrol/ancontrol.c#6 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/Makefile#9 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/disks.c#16 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/dispatch.c#6 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/dist.c#23 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/dist.h#8 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/install.c#22 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/menus.c#32 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/sysinstall.h#23 integrate

Differences ...

==== //depot/projects/ia64/UPDATING#47 (text+ko) ====

@@ -15,7 +15,12 @@
 	related kernel options, INVARIANTS, malloc debugging flags
 	in userland, and various verbose features in the kernel.  Many
 	developers choose to disable these features on build machines
-	to maximize performance.
+
+20030819:
+	The OFW_NEWPCI option has been turned on in the Sparc64 GENERIC kernel.
+	Among other things, this changes the device enumeration to be
+	closer to Solaris.  Be aware that, this can even cause the machine
+	to not boot without manual intervention before the fstab is adjusted.
 
 20030728:
 	All current USB and Firewire quirks in da(4) have been deprecated
@@ -1333,4 +1338,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.260 2003/07/29 04:40:33 njl Exp $
+$FreeBSD: src/UPDATING,v 1.261 2003/08/20 01:52:30 obrien Exp $

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.alpha#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.alpha,v 1.19 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.alpha,v 1.20 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	alpha-unknown-freebsd
 
@@ -7,7 +7,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_alpha_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_alpha_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 .else
 _alpha_path=	\"/usr/cross/alpha-freebsd/usr/lib\"
 .endif

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.amd64#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.amd64,v 1.4 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.amd64,v 1.5 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	x86_64-obrien-freebsd
 
@@ -6,7 +6,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_amd64_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_amd64_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 EMS+=		${NATIVE_EMULATION}
 LDSCRIPTS+=	${NATIVE_EMULATION}.x ${NATIVE_EMULATION}.xbn ${NATIVE_EMULATION}.xn ${NATIVE_EMULATION}.xr \
 		${NATIVE_EMULATION}.xs ${NATIVE_EMULATION}.xu ${NATIVE_EMULATION}.xc ${NATIVE_EMULATION}.xsc

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.i386#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.i386,v 1.19 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.i386,v 1.20 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	i386-unknown-freebsd
 
@@ -7,7 +7,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_i386_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_i386_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 .else
 _i386_path=	\"/usr/cross/i386-freebsd/usr/lib\"
 .endif

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.ia64#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.ia64,v 1.6 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.ia64,v 1.7 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	ia64-unknown-freebsd
 
@@ -7,7 +7,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_ia64_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_ia64_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 .else
 _ia64_path=	\"/usr/cross/ia64-freebsd/usr/lib\"
 .endif

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.powerpc#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.powerpc,v 1.13 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.powerpc,v 1.14 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	powerpc-unknown-freebsd
 
@@ -7,7 +7,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_powerpc_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_powerpc_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 .else
 _powerpc_path=	\"/usr/cross/powerpc-freebsd/usr/lib\"
 .endif

==== //depot/projects/ia64/gnu/usr.bin/binutils/ld/Makefile.sparc64#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.sparc64,v 1.13 2003/08/17 21:45:26 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile.sparc64,v 1.14 2003/08/19 17:30:46 obrien Exp $
 
 TARGET_TUPLE?=	sparc64-unknown-freebsd
 
@@ -7,7 +7,7 @@
 HOST=	${TARGET_TUPLE}
 CFLAGS+= -DDEFAULT_EMULATION=\"${NATIVE_EMULATION}\"
 CFLAGS+= -DTARGET=\"${TARGET_TUPLE}\"
-_sparc_path=	\"${TOOLS_PREFIX}/lib:${TOOLS_PREFIX}/usr/lib\"
+_sparc_path=	\"${TOOLS_PREFIX}/lib\":\"${TOOLS_PREFIX}/usr/lib\"
 .else
 _sparc_path=	\"/usr/cross/sparc-freebsd/usr/lib\"
 .endif

==== //depot/projects/ia64/include/unistd.h#19 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)unistd.h	8.12 (Berkeley) 4/27/95
- * $FreeBSD: src/include/unistd.h,v 1.68 2003/07/01 12:09:06 bde Exp $
+ * $FreeBSD: src/include/unistd.h,v 1.69 2003/08/19 20:39:49 wollman Exp $
  */
 
 #ifndef _UNISTD_H_
@@ -404,7 +404,7 @@
 int	 readlink(const char *, char *, int);
 #endif
 #if __POSIX_VISIBLE >= 200112
-int	 gethostname(char *, int /* socklen_t */);
+int	 gethostname(char *, size_t);
 int	 setegid(gid_t);
 int	 seteuid(uid_t);
 #endif

==== //depot/projects/ia64/lib/libc/Makefile#10 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.2 (Berkeley) 2/3/94
-# $FreeBSD: src/lib/libc/Makefile,v 1.43 2003/08/18 15:25:38 obrien Exp $
+# $FreeBSD: src/lib/libc/Makefile,v 1.44 2003/08/19 23:01:46 wollman Exp $
 #
 # All library objects contain FreeBSD revision strings by default; they may be
 # excluded as a space-saving measure.  To produce a library that does
@@ -9,6 +9,7 @@
 # (for system call stubs) to CFLAGS below.  -DSYSLIBC_SCCS affects just the
 # system call stubs.
 LIB=c
+# If you bump SHLIB_MAJOR, remove kluge from gen/gethostname.c.
 SHLIB_MAJOR= 5
 SHLIBDIR?= /lib
 CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include

==== //depot/projects/ia64/lib/libc/gen/gethostname.3#4 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)gethostname.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/gen/gethostname.3,v 1.13 2002/12/19 09:40:21 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/gethostname.3,v 1.14 2003/08/19 20:38:44 wollman Exp $
 .\"
-.Dd June 4, 1993
+.Dd August 18, 2003
 .Dt GETHOSTNAME 3
 .Os
 .Sh NAME
@@ -44,7 +44,7 @@
 .Sh SYNOPSIS
 .In unistd.h
 .Ft int
-.Fn gethostname "char *name" "int namelen"
+.Fn gethostname "char *name" "size_t namelen"
 .Ft int
 .Fn sethostname "const char *name" "int namelen"
 .Sh DESCRIPTION
@@ -59,8 +59,8 @@
 argument
 specifies the size of the
 .Fa name
-array.  The returned name is null-terminated unless insufficient
-space is provided.
+array.
+The returned name is null-terminated unless insufficient space is provided.
 .Pp
 The
 .Fn sethostname
@@ -71,6 +71,10 @@
 .Fa namelen .
 This call is restricted to the super-user and
 is normally used only when the system is bootstrapped.
+.Pp
+Host names are limited to
+.Brq Dv HOST_NAME_MAX
+characters, not including the trailing null, currently 255.
 .Sh RETURN VALUES
 .Rv -std
 .Sh ERRORS
@@ -83,22 +87,48 @@
 .Fa namelen
 argument gave an
 invalid address.
+.It Bq Er ENAMETOOLONG
+The current host name is longer than
+.Fa namelen .  (For
+.Fn gethostname
+only.)
 .It Bq Er EPERM
-The caller tried to set the hostname and was not the super-user.
+The caller tried to set the host name and was not the super-user.
 .El
 .Sh SEE ALSO
-.Xr gethostid 3 ,
+.Xr sysconf 3 ,
 .Xr sysctl 3
-.Sh BUGS
-Host names are limited to
-.Dv MAXHOSTNAMELEN
-(from
-.Ao Pa sys/param.h Ac )
-characters, currently 256.
-This includes the trailing
-.Dv NUL .
+.Sh STANDARDS
+The
+.Fn gethostname
+function conforms to
+.St -p1003.1-2001 .
+Callers should be aware that
+.Brq Dv HOST_NAME_MAX
+may be variable or infinite, but is guaranteed to be no less than
+.Brq Dv _POSIX_HOST_NAME_MAX .
+On older systems, this limit was defined in the non-standard header
+.Aq Pa sys/param.h
+as
+.Dv MAXHOSTNAMELEN ,
+and counted the terminating null.
+The
+.Fn sethostname
+function and the error returns for
+.Fn gethostname
+are not standardized.
 .Sh HISTORY
 The
 .Fn gethostname
 function appeared in
 .Bx 4.2 .
+The
+.Fa namelen
+argument to
+.Fn gethostname
+was changed to
+.Vt size_t
+in
+.Fx 5.2
+for alignment with
+.St -p1003.1-2001 .

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

@@ -35,23 +35,29 @@
 static char sccsid[] = "@(#)gethostname.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/gethostname.c,v 1.3 2002/03/22 21:52:05 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/gethostname.c,v 1.5 2003/08/19 23:01:46 wollman Exp $");
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
 
+#include <errno.h>
+
 int
 gethostname(name, namelen)
 	char *name;
-	int namelen;
+	size_t namelen;
 {
 	int mib[2];
-	size_t size;
+
+	/* Kluge to avoid ABI breakage. */
+	namelen = (int)namelen;
 
 	mib[0] = CTL_KERN;
 	mib[1] = KERN_HOSTNAME;
-	size = namelen;
-	if (sysctl(mib, 2, name, &size, NULL, 0) == -1)
+	if (sysctl(mib, 2, name, &namelen, NULL, 0) == -1) {
+		if (errno == ENOMEM)
+			errno = ENAMETOOLONG;
 		return (-1);
+	}
 	return (0);
 }

==== //depot/projects/ia64/lib/libfetch/ftp.c#12 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libfetch/ftp.c,v 1.87 2003/03/19 21:39:00 mtm Exp $");
+__FBSDID("$FreeBSD: src/lib/libfetch/ftp.c,v 1.88 2003/08/19 11:43:11 des Exp $");
 
 /*
  * Portions of this code were taken from or based on ftpio.c:
@@ -689,7 +689,7 @@
 		if (verbose)
 			_fetch_info("initiating transfer");
 		e = _ftp_cmd(conn, "%s %s", oper, _ftp_filename(file));
-		if (e != FTP_OPEN_DATA_CONNECTION)
+		if (e != FTP_CONNECTION_ALREADY_OPEN && e != FTP_OPEN_DATA_CONNECTION)
 			goto ouch;
 
 		/* accept the incoming connection and go to town */

==== //depot/projects/ia64/lib/libpthread/thread/thr_spec.c#4 (text+ko) ====

@@ -29,7 +29,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libpthread/thread/thr_spec.c,v 1.20 2003/08/16 05:19:00 davidxu Exp $
+ * $FreeBSD: src/lib/libpthread/thread/thr_spec.c,v 1.21 2003/08/20 02:34:14 deischen Exp $
  */
 #include <signal.h>
 #include <stdlib.h>
@@ -107,13 +107,18 @@
 _thread_cleanupspecific(void)
 {
 	struct pthread	*curthread = _get_curthread();
+	void		(*destructor)( void *);
 	void		*data = NULL;
 	int		key;
-	void		(*destructor)( void *);
+	int		i;
+
+	if (curthread->specific == NULL)
+		return;
 
-	if (curthread->specific != NULL) {
-		/* Lock the key table: */
-		THR_LOCK_ACQUIRE(curthread, &_keytable_lock);
+	/* Lock the key table: */
+	THR_LOCK_ACQUIRE(curthread, &_keytable_lock);
+	for (i = 0; (i < PTHREAD_DESTRUCTOR_ITERATIONS) &&
+	    (curthread->specific_data_count > 0); i++) {
 		for (key = 0; (key < PTHREAD_KEYS_MAX) &&
 		    (curthread->specific_data_count > 0); key++) {
 			destructor = NULL;
@@ -122,7 +127,8 @@
 			    (curthread->specific[key].data != NULL)) {
 				if (curthread->specific[key].seqno ==
 				    key_table[key].seqno) {
-					data = (void *)curthread->specific[key].data;
+					data = (void *)
+					    curthread->specific[key].data;
 					destructor = key_table[key].destructor;
 				}
 				curthread->specific[key].data = NULL;
@@ -143,10 +149,14 @@
 				THR_LOCK_ACQUIRE(curthread, &_keytable_lock);
 			}
 		}
-		THR_LOCK_RELEASE(curthread, &_keytable_lock);
-		free(curthread->specific);
-		curthread->specific = NULL;
 	}
+	THR_LOCK_RELEASE(curthread, &_keytable_lock);
+	free(curthread->specific);
+	curthread->specific = NULL;
+	if (curthread->specific_data_count > 0)
+		stderr_debug("Thread %p has exited with leftover "
+		    "thread-specific data after %d destructor iterations\n",
+		    curthread, PTHREAD_DESTRUCTOR_ITERATIONS);
 }
 
 static inline struct pthread_specific_elem *
@@ -179,10 +189,8 @@
 				if (pthread->specific[key].data == NULL) {
 					if (value != NULL)
 						pthread->specific_data_count++;
-				} else {
-					if (value == NULL)
-						pthread->specific_data_count--;
-				}
+				} else if (value == NULL)
+					pthread->specific_data_count--;
 				pthread->specific[key].data = value;
 				pthread->specific[key].seqno =
 				    key_table[key].seqno;

==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#62 (text+ko) ====

@@ -31,7 +31,7 @@
 
 <sect1 id="support">
   <sect1info>
-    <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.170 2003/08/19 05:21:25 bmah Exp $</pubdate>
+    <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.171 2003/08/19 15:34:06 bmah Exp $</pubdate>
   </sect1info>
 
   <title>Supported Devices</title>
@@ -43,7 +43,18 @@
 
   <para>Where possible, the drivers applicable to each device or class
   of devices is listed.  If the driver in question has a manual page
-  in the &os; base distribution (most should), it is referenced here.</para>
+  in the &os; base distribution (most should), it is referenced here.
+  Information on specific models of supported devices, controllers,
+  etc. can be found in the manual pages.</para>
+
+  <note>
+    <para>Lists of specific, supported devices are gradually being
+      removed from this document in order to reduce the amount of
+      duplicated (and potentially out-of-date) information contained
+      within.  When this process is complete, the manual page for each
+      driver should be consulted for the authoritative list of devices
+      supported that particular driver.</para>
+  </note>
 
   <sect2>
     <title>Disk Controllers</title>

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

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.614 2003/08/12 00:51:28 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.615 2003/08/19 16:03:01 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -396,12 +396,22 @@
       statically-linked <quote>crunched</quote> binary that lives in
       <filename>/rescue</filename>.  This functionality is similar to
       the <filename>/stand</filename> directory installed by
-      &man.sysinstall.8;, but it <filename>/rescue</filename> includes
-      more functionality and is updated by as part of
-      buildworld/installworld operations.  More details can be found in
+      &man.sysinstall.8;, but <filename>/rescue</filename> includes
+      more functionality and is updated as part of
+      <literal>buildworld</literal>/<literal>installworld</literal> operations.  More details can be found in
       &man.rescue.8;.
       </para>
 
+    <para>It is now possible to build <filename>/bin</filename> and
+      <filename>/sbin</filename> directories containing
+      dynamically-linked executables.  This feature brings support for
+      loadable PAM and NSS modules to base system utilities located in
+      those directories.  It also reduces the storage requirements for
+      the root filesystem due to the use of shared libraries.  This
+      feature can be enabled in a <literal>buildworld</literal> by
+      defining the Makefile variable
+      <varname>WITH_DYNAMICROOT</varname>.</para>
+
   </sect2>
 
   <sect2 id="contrib">

==== //depot/projects/ia64/sys/amd64/amd64/pmap.c#20 (text+ko) ====

@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.432 2003/08/17 04:48:21 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.433 2003/08/20 05:09:55 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -1016,12 +1016,14 @@
 	/*
 	 * allocate the page directory page
 	 */
+	VM_OBJECT_LOCK(pmap->pm_pteobj);
 	pml4pg = vm_page_grab(pmap->pm_pteobj, NUPDE + NUPDPE + NUPML4E,
 	    VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_WIRED | VM_ALLOC_ZERO);
 	vm_page_lock_queues();
 	vm_page_flag_clear(pml4pg, PG_BUSY);
 	pml4pg->valid = VM_PAGE_BITS_ALL;
 	vm_page_unlock_queues();
+	VM_OBJECT_UNLOCK(pmap->pm_pteobj);
 
 	pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pg));
 
@@ -1067,12 +1069,17 @@
 	vm_pindex_t ptepindex;
 {
 	vm_page_t m, pdppg, pdpg;
+	int is_object_locked;
 
 	/*
 	 * Find or fabricate a new pagetable page
 	 */
+	if (!(is_object_locked = VM_OBJECT_LOCKED(pmap->pm_pteobj)))
+		VM_OBJECT_LOCK(pmap->pm_pteobj);
 	m = vm_page_grab(pmap->pm_pteobj, ptepindex,
 	    VM_ALLOC_WIRED | VM_ALLOC_ZERO | VM_ALLOC_RETRY);
+	if ((m->flags & PG_ZERO) == 0)
+		pmap_zero_page(m);
 
 	KASSERT(m->queue == PQ_NONE,
 		("_pmap_allocpte: %p->queue != PQ_NONE", m));
@@ -1161,17 +1168,13 @@
 		*pd = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V | PG_A | PG_M;
 	}
 
-	/*
-	 * Try to use the new mapping, but if we cannot, then
-	 * do it with the routine that maps the page explicitly.
-	 */
-	if ((m->flags & PG_ZERO) == 0)
-		pmap_zero_page(m);
 	vm_page_lock_queues();
 	m->valid = VM_PAGE_BITS_ALL;
 	vm_page_flag_clear(m, PG_ZERO);
 	vm_page_wakeup(m);
 	vm_page_unlock_queues();
+	if (!is_object_locked)
+		VM_OBJECT_UNLOCK(pmap->pm_pteobj);
 
 	return m;
 }

==== //depot/projects/ia64/sys/dev/aac/aac.c#28 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/aac/aac.c,v 1.73 2003/07/09 21:16:23 scottl Exp $
+ *	$FreeBSD: src/sys/dev/aac/aac.c,v 1.74 2003/08/19 21:31:45 scottl Exp $
  */
 
 /*
@@ -1113,7 +1113,6 @@
 	 * intermediate stage may have destroyed them.  They're left
 	 * initialised here for debugging purposes only.
 	 */
-	cm->cm_fib->Header.SenderFibAddress = (u_int32_t)cm->cm_fib;
 	cm->cm_fib->Header.ReceiverFibAddress = (u_int32_t)cm->cm_fibphys;
 	cm->cm_fib->Header.SenderData = 0;
 
@@ -1408,8 +1407,7 @@
 {
 	struct aac_adapter_init	*ip;
 	time_t then;
-	u_int32_t code;
-	u_int8_t *qaddr;
+	u_int32_t code, qoffset;
 	int error;
 
 	debug_called(1);
@@ -1581,12 +1579,10 @@
 	 * list manipulation functions which 'know' the size of each list by
 	 * virtue of a table.
 	 */
-	qaddr = &sc->aac_common->ac_qbuf[0] + AAC_QUEUE_ALIGN;
-	qaddr -= (u_int32_t)qaddr % AAC_QUEUE_ALIGN;
-	sc->aac_queues = (struct aac_queue_table *)qaddr;
-	ip->CommHeaderAddress = sc->aac_common_busaddr +
-				((u_int32_t)sc->aac_queues -
-				(u_int32_t)sc->aac_common);
+	qoffset = offsetof(struct aac_common, ac_qbuf) + AAC_QUEUE_ALIGN;
+	qoffset &= (AAC_QUEUE_ALIGN - 1);
+	sc->aac_queues = (struct aac_queue_table *)((uintptr_t)sc->aac_common + qoffset);
+	ip->CommHeaderAddress = sc->aac_common_busaddr + qoffset;
 
 	sc->aac_queues->qt_qindex[AAC_HOST_NORM_CMD_QUEUE][AAC_PRODUCER_INDEX] =
 		AAC_HOST_NORM_CMD_ENTRIES;
@@ -1757,7 +1753,7 @@
 	fib->Header.StructType = AAC_FIBTYPE_TFIB;
 	fib->Header.Size = sizeof(struct aac_fib) + datasize;
 	fib->Header.SenderSize = sizeof(struct aac_fib);
-	fib->Header.SenderFibAddress = (u_int32_t)fib;
+	fib->Header.SenderFibAddress = 0;	/* Not needed */
 	fib->Header.ReceiverFibAddress = sc->aac_common_busaddr +
 					 offsetof(struct aac_common,
 						  ac_sync_fib);
@@ -2383,7 +2379,7 @@
 	union aac_statrequest *as;
 	struct aac_softc *sc;
 	int error = 0;
-	int i;
+	uint32_t cookie;
 
 	debug_called(2);
 
@@ -2434,8 +2430,8 @@
 		 * Here, we give it the proc pointer of the per-adapter aif 
 		 * thread. It's only used as a sanity check in other calls.
 		 */
-		i = (int)sc->aifthread;
-		error = copyout(&i, arg, sizeof(i));
+		cookie = (uint32_t)(uintptr_t)sc->aifthread;
+		error = copyout(&cookie, arg, sizeof(cookie));
 		break;
 	case FSACTL_GET_NEXT_ADAPTER_FIB:
 		arg = *(caddr_t*)arg;
@@ -2531,7 +2527,7 @@
 		goto out;
 	size = cm->cm_fib->Header.Size + sizeof(struct aac_fib_header);
 	if (size > sizeof(struct aac_fib)) {
-		device_printf(sc->aac_dev, "incoming FIB oversized (%d > %d)\n",
+		device_printf(sc->aac_dev, "incoming FIB oversized (%d > %zd)\n",
 			      size, sizeof(struct aac_fib));
 		size = sizeof(struct aac_fib);
 	}
@@ -2554,7 +2550,7 @@
 	 */
 	size = cm->cm_fib->Header.Size;
 	if (size > sizeof(struct aac_fib)) {
-		device_printf(sc->aac_dev, "outbound FIB oversized (%d > %d)\n",
+		device_printf(sc->aac_dev, "outbound FIB oversized (%d > %zd)\n",
 			      size, sizeof(struct aac_fib));
 		size = sizeof(struct aac_fib);
 	}
@@ -2776,7 +2772,7 @@
 		/*
 		 * Check the magic number that we gave the caller.
 		 */
-		if (agf.AdapterFibContext != (int)sc->aifthread) {
+		if (agf.AdapterFibContext != (int)(uintptr_t)sc->aifthread) {
 			error = EFAULT;
 		} else {
 			error = aac_return_aif(sc, agf.AifFib);

==== //depot/projects/ia64/sys/dev/aac/aac_cam.c#10 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/aac/aac_cam.c,v 1.11 2003/03/26 17:50:11 scottl Exp $
+ *	$FreeBSD: src/sys/dev/aac/aac_cam.c,v 1.12 2003/08/19 21:31:45 scottl Exp $
  */
 
 /*
@@ -339,9 +339,14 @@
 			if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) {
 				srb->data_len = csio->dxfer_len;
 				if (ccb->ccb_h.flags & CAM_DATA_PHYS) {
+					/*
+					 * XXX This isn't 64-bit clean.
+					 * However, this condition is not
+					 * normally used in CAM.
+					 */
 					srb->sg_map32.SgCount = 1;
 					srb->sg_map32.SgEntry[0].SgAddress =
-					    (u_int32_t)csio->data_ptr;
+					    (uint32_t)(uintptr_t)csio->data_ptr;
 					srb->sg_map32.SgEntry[0].SgByteCount =
 					    csio->dxfer_len;
 				} else {

==== //depot/projects/ia64/sys/dev/aac/aac_disk.c#15 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/aac/aac_disk.c,v 1.32 2003/06/19 01:49:04 scottl Exp $
+ *	$FreeBSD: src/sys/dev/aac/aac_disk.c,v 1.33 2003/08/19 21:31:45 scottl Exp $
  */
 
 #include "opt_aac.h"
@@ -272,7 +272,8 @@
 		size = fib->Header.Size + sizeof(struct aac_blockwrite);
 
 		if (aac_sync_fib(sc, ContainerCommand, 0, fib, size)) {
-			printf("Error dumping block 0x%x\n", physical);
+			printf("Error dumping block 0x%jx\n",
+			       (uintptr_t)physical);
 			return (EIO);
 		}
 

==== //depot/projects/ia64/sys/dev/an/if_aironet_ieee.h#5 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/an/if_aironet_ieee.h,v 1.11 2002/12/29 19:22:06 ambrisko Exp $
+ * $FreeBSD: src/sys/dev/an/if_aironet_ieee.h,v 1.12 2003/08/20 03:46:05 ambrisko Exp $
  */
 
 #ifndef _IF_AIRONET_IEEE_H
@@ -63,7 +63,7 @@
  * data, which is 240 words long, so 256 should be a safe
  * value.
  */
-#define AN_MAX_DATALEN	512
+#define AN_MAX_DATALEN	4096
 
 struct an_req {
 	u_int16_t	an_len;
@@ -261,7 +261,7 @@
 	u_int32_t		an_uptime_usecs;	/* 0x178 */
 	u_int32_t		an_uptime_secs;		/* 0x17C */
 	u_int32_t		an_lostsync_better_ap;	/* 0x180 */
-	u_int32_t		an_rsvd[10];
+	u_int32_t		an_rsvd[15];
 };
 
 /*
@@ -337,6 +337,7 @@
 	u_int8_t		an_magic_packet_action;	/* 0x98 */
 	u_int8_t		an_magic_packet_ctl;	/* 0x99 */
 	u_int16_t		an_rsvd9;
+	u_int16_t		an_spare[13];
 };
 
 #define AN_OPMODE_IBSS_ADHOC			0x0000
@@ -417,6 +418,18 @@
 	char			an_ssid3[32];
 };
 
+struct an_ltv_ssid_entry{
+	u_int16_t		an_len;
+	char			an_ssid[32];
+};
+
+#define MAX_SSIDS 25
+struct an_ltv_ssidlist_new {
+	u_int16_t		an_len;
+	u_int16_t		an_type;
+	struct an_ltv_ssid_entry an_entry[MAX_SSIDS];
+};
+
 /*
  * Valid AP list.
  */
@@ -501,7 +514,7 @@
 	u_int16_t		an_softcaps;		/* 0x7C */
 	u_int16_t		an_bootblockrev;	/* 0x7E */
 	u_int16_t		an_req_hw_support;	/* 0x80 */
-	u_int16_t		an_unknown;		/* 0x82 */
+	u_int16_t		an_unknown[31];		/* 0x82 */
 };
 
 /*
@@ -580,7 +593,7 @@
 	u_int8_t		an_avg_noise_prev_min_db;       /* 0x7D */
 	u_int8_t		an_max_noise_prev_min_pc;       /* 0x7E */
 	u_int8_t		an_max_noise_prev_min_db;       /* 0x7F */
-	u_int16_t		an_spare[5];
+	u_int16_t		an_spare[8];
 };
 
 #define AN_STATUS_OPMODE_CONFIGURED		0x0001

==== //depot/projects/ia64/sys/dev/an/if_an.c#24 (text+ko) ====

@@ -80,7 +80,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.51 2003/06/28 06:13:27 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.52 2003/08/20 03:46:05 ambrisko Exp $");
 
 #include "opt_inet.h"
 
@@ -313,7 +313,7 @@
 	device_t		dev;
 {
         struct an_softc *sc = device_get_softc(dev);
-	struct an_ltv_ssidlist	ssid;
+	struct an_ltv_ssidlist_new	ssid;
 	int	error;
 
 	bzero((char *)&ssid, sizeof(ssid));
@@ -339,11 +339,11 @@
 	ssid.an_type = AN_RID_SSIDLIST;
 
         /* Make sure interrupts are disabled. */
+	sc->mpi350 = 0;
         CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), 0);
         CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), 0xFFFF);
 
 	an_reset(sc);
-	/* No need for an_init_mpi350_desc since it will be done in attach */
 
 	if (an_cmd(sc, AN_CMD_READCFG, 0))
 		return(0);
@@ -352,7 +352,7 @@
 		return(0);
 
 	/* See if the ssid matches what we expect ... but doesn't have to */
-	if (strcmp(ssid.an_ssid1, AN_DEF_SSID))
+	if (strcmp(ssid.an_entry[0].an_ssid, AN_DEF_SSID))
 		return(0);
 
 	return(AN_IOSIZ);
@@ -715,7 +715,7 @@
 
 	/* Read ssid list */
 	sc->an_ssidlist.an_type = AN_RID_SSIDLIST;
-	sc->an_ssidlist.an_len = sizeof(struct an_ltv_ssidlist);
+	sc->an_ssidlist.an_len = sizeof(struct an_ltv_ssidlist_new);
 	if (an_read_record(sc, (struct an_ltv_gen *)&sc->an_ssidlist)) {
 		printf("an%d: read record failed\n", sc->an_unit);
 		goto fail;
@@ -769,10 +769,11 @@
 	bcopy(AN_DEFAULT_NODENAME, sc->an_config.an_nodename,
 	    sizeof(AN_DEFAULT_NODENAME) - 1);
 
-	bzero(sc->an_ssidlist.an_ssid1, sizeof(sc->an_ssidlist.an_ssid1));
-	bcopy(AN_DEFAULT_NETNAME, sc->an_ssidlist.an_ssid1,
+	bzero(sc->an_ssidlist.an_entry[0].an_ssid,
+	      sizeof(sc->an_ssidlist.an_entry[0].an_ssid));
+	bcopy(AN_DEFAULT_NETNAME, sc->an_ssidlist.an_entry[0].an_ssid,
 	    sizeof(AN_DEFAULT_NETNAME) - 1);
-	sc->an_ssidlist.an_ssid1_len = strlen(AN_DEFAULT_NETNAME);
+	sc->an_ssidlist.an_entry[0].an_len = strlen(AN_DEFAULT_NETNAME);
 
 	sc->an_config.an_opmode =
 	    AN_OPMODE_INFRASTRUCTURE_STATION;
@@ -1088,7 +1089,7 @@
 	ifp->if_flags &= ~IFF_OACTIVE;
 
 	if (!sc->mpi350) {
-		id = CSR_READ_2(sc, AN_TX_CMP_FID);
+		id = CSR_READ_2(sc, AN_TX_CMP_FID(sc->mpi350));
 
 		if (status & AN_EV_TX_EXC) {
 			ifp->if_oerrors++;
@@ -1104,10 +1105,17 @@
 
 		AN_INC(sc->an_rdata.an_tx_cons, AN_TX_RING_CNT);
 	} else { /* MPI 350 */
-		AN_INC(sc->an_rdata.an_tx_cons, AN_MAX_TX_DESC);
-		if (sc->an_rdata.an_tx_prod ==
-		    sc->an_rdata.an_tx_cons)
-			sc->an_rdata.an_tx_empty = 1;
+		id = CSR_READ_2(sc, AN_TX_CMP_FID(sc->mpi350));
+		if (!sc->an_rdata.an_tx_empty){
+			if (status & AN_EV_TX_EXC) {
+				ifp->if_oerrors++;
+			} else
+				ifp->if_opackets++;
+			AN_INC(sc->an_rdata.an_tx_cons, AN_MAX_TX_DESC);
+			if (sc->an_rdata.an_tx_prod ==
+			    sc->an_rdata.an_tx_cons)
+				sc->an_rdata.an_tx_empty = 1;
+		}
 	}
 
 	return;
@@ -1179,10 +1187,10 @@
 	CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), 0);
 
 	status = CSR_READ_2(sc, AN_EVENT_STAT(sc->mpi350));
-	CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), ~AN_INTRS);
+	CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), ~AN_INTRS(sc->mpi350));
 
-	if (status & AN_EV_AWAKE) {
-		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), AN_EV_AWAKE);
+	if (status & AN_EV_MIC) {
+		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), AN_EV_MIC);
 	}
 
 	if (status & AN_EV_LINKSTAT) {
@@ -1199,9 +1207,16 @@
 		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), AN_EV_RX);
 	}
 
+	if (sc->mpi350 && status & AN_EV_TX_CPY) {
+		an_txeof(sc, status);
+		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), 
+		    AN_EV_TX_CPY);
+	}
+
 	if (status & AN_EV_TX) {
 		an_txeof(sc, status);
-		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), AN_EV_TX);
+		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), 
+		    AN_EV_TX);
 	}
 
 	if (status & AN_EV_TX_EXC) {
@@ -1213,7 +1228,7 @@
 		CSR_WRITE_2(sc, AN_EVENT_ACK(sc->mpi350), AN_EV_ALLOC);
 
 	/* Re-enable interrupts. */
-	CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS);
+	CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS(sc->mpi350));
 
 	if ((ifp->if_flags & IFF_UP) && (ifp->if_snd.ifq_head != NULL))
 		an_start(ifp);
@@ -1238,6 +1253,7 @@
 		} else

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



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