svn commit: r208000 - in projects/clangbsd-import: . etc/mtree gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/usr.bin/cc gnu/usr.bin/cc/cc_tools gnu/usr.bin/cc/include lib/libc/gen release/...

Ed Schouten ed at FreeBSD.org
Wed May 12 20:38:33 UTC 2010


Author: ed
Date: Wed May 12 20:38:32 2010
New Revision: 208000
URL: http://svn.freebsd.org/changeset/base/208000

Log:
  MFC already.
  
  I want to have obrien's fix in here, because it prevents possible
  mishaps when using clang.

Modified:
  projects/clangbsd-import/ObsoleteFiles.inc
  projects/clangbsd-import/etc/mtree/BSD.include.dist
  projects/clangbsd-import/gnu/lib/libgcc/Makefile
  projects/clangbsd-import/gnu/lib/libstdc++/Makefile
  projects/clangbsd-import/gnu/lib/libsupc++/Makefile
  projects/clangbsd-import/gnu/usr.bin/cc/Makefile.inc
  projects/clangbsd-import/gnu/usr.bin/cc/cc_tools/freebsd-native.h
  projects/clangbsd-import/gnu/usr.bin/cc/include/Makefile
  projects/clangbsd-import/lib/libc/gen/glob.c
  projects/clangbsd-import/release/doc/en_US.ISO8859-1/hardware/article.sgml
  projects/clangbsd-import/release/doc/share/misc/dev.archlist.txt
  projects/clangbsd-import/sbin/restore/symtab.c
  projects/clangbsd-import/share/man/man4/fxp.4
  projects/clangbsd-import/share/man/man4/mfi.4
  projects/clangbsd-import/share/man/man4/run.4
  projects/clangbsd-import/sys/kern/vfs_subr.c
  projects/clangbsd-import/sys/modules/Makefile
  projects/clangbsd-import/sys/netinet/sctp_indata.c
  projects/clangbsd-import/sys/netinet/sctp_output.c
Directory Properties:
  projects/clangbsd-import/   (props changed)
  projects/clangbsd-import/cddl/contrib/opensolaris/   (props changed)
  projects/clangbsd-import/contrib/ee/   (props changed)
  projects/clangbsd-import/contrib/expat/   (props changed)
  projects/clangbsd-import/contrib/file/   (props changed)
  projects/clangbsd-import/contrib/gdb/   (props changed)
  projects/clangbsd-import/contrib/gnu-sort/   (props changed)
  projects/clangbsd-import/contrib/groff/   (props changed)
  projects/clangbsd-import/contrib/less/   (props changed)
  projects/clangbsd-import/contrib/libpcap/   (props changed)
  projects/clangbsd-import/contrib/ncurses/   (props changed)
  projects/clangbsd-import/contrib/one-true-awk/   (props changed)
  projects/clangbsd-import/contrib/openbsm/   (props changed)
  projects/clangbsd-import/contrib/openpam/   (props changed)
  projects/clangbsd-import/contrib/pf/   (props changed)
  projects/clangbsd-import/contrib/tcpdump/   (props changed)
  projects/clangbsd-import/contrib/tcsh/   (props changed)
  projects/clangbsd-import/contrib/tzcode/stdtime/   (props changed)
  projects/clangbsd-import/contrib/tzcode/zic/   (props changed)
  projects/clangbsd-import/contrib/tzdata/   (props changed)
  projects/clangbsd-import/contrib/wpa/   (props changed)
  projects/clangbsd-import/lib/libutil/   (props changed)
  projects/clangbsd-import/lib/libz/   (props changed)
  projects/clangbsd-import/sbin/   (props changed)
  projects/clangbsd-import/sbin/ipfw/   (props changed)
  projects/clangbsd-import/sys/   (props changed)
  projects/clangbsd-import/sys/amd64/include/xen/   (props changed)
  projects/clangbsd-import/sys/cddl/contrib/opensolaris/   (props changed)
  projects/clangbsd-import/sys/contrib/dev/acpica/   (props changed)
  projects/clangbsd-import/sys/contrib/x86emu/   (props changed)
  projects/clangbsd-import/sys/dev/xen/xenpci/   (props changed)
  projects/clangbsd-import/usr.bin/csup/   (props changed)
  projects/clangbsd-import/usr.bin/procstat/   (props changed)

Modified: projects/clangbsd-import/ObsoleteFiles.inc
==============================================================================
--- projects/clangbsd-import/ObsoleteFiles.inc	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/ObsoleteFiles.inc	Wed May 12 20:38:32 2010	(r208000)
@@ -14,6 +14,24 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20100511: move GCC-specific headers to /usr/include/gcc
+.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
+OLD_FILES+=usr/include/emmintrin.h
+OLD_FILES+=usr/include/mm_malloc.h
+OLD_FILES+=usr/include/pmmintrin.h
+OLD_FILES+=usr/include/xmmintrin.h
+.endif
+.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "arm"
+OLD_FILES+=usr/include/mmintrin.h
+.endif
+.if ${TARGET_ARCH} == "ia64"
+OLD_FILES+=usr/include/ia64intrin.h
+.endif
+.if ${TARGET_ARCH} == "powerpc"
+OLD_FILES+=usr/include/altivec.h
+OLD_FILES+=usr/include/ppc-asm.h
+OLD_FILES+=usr/include/spe.h
+.endif
 # 20100416: [mips] removed <machine/psl.h>
 .if ${TARGET_ARCH} == "mips"
 OLD_FILES+=usr/include/machine/psl.h

Modified: projects/clangbsd-import/etc/mtree/BSD.include.dist
==============================================================================
--- projects/clangbsd-import/etc/mtree/BSD.include.dist	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/etc/mtree/BSD.include.dist	Wed May 12 20:38:32 2010	(r208000)
@@ -163,6 +163,10 @@
         unionfs
         ..
     ..
+    gcc
+        4.2
+        ..
+    ..
     geom
         cache
         ..

Modified: projects/clangbsd-import/gnu/lib/libgcc/Makefile
==============================================================================
--- projects/clangbsd-import/gnu/lib/libgcc/Makefile	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/lib/libgcc/Makefile	Wed May 12 20:38:32 2010	(r208000)
@@ -1,4 +1,5 @@
 # $FreeBSD$
+
 GCCDIR=	${.CURDIR}/../../../contrib/gcc
 GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
 

Modified: projects/clangbsd-import/gnu/lib/libstdc++/Makefile
==============================================================================
--- projects/clangbsd-import/gnu/lib/libstdc++/Makefile	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/lib/libstdc++/Makefile	Wed May 12 20:38:32 2010	(r208000)
@@ -1,5 +1,6 @@
 # $FreeBSD$
 
+GCCVER=	4.2
 GCCDIR=	${.CURDIR}/../../../contrib/gcc
 GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
 SRCDIR=	${.CURDIR}/../../../contrib/libstdc++
@@ -94,7 +95,7 @@ CLEANFILES+=	atomicity.cc
 
 INCSGROUPS=	BITSHDRS BKWHDRS EXTHDRS BASEHDRS BASEXHDRS STDHDRS \
 		TARGETHDRS THRHDRS DEBUGHDRS TR1HDRS PBHDRS0 PBHDRS1
-CXXINCLUDEDIR=	${INCLUDEDIR}/c++/4.2
+CXXINCLUDEDIR=	${INCLUDEDIR}/c++/${GCCVER}
 
 STDHDRS=	std_algorithm.h std_bitset.h std_complex.h std_deque.h \
 		std_fstream.h std_functional.h std_iomanip.h std_ios.h \

Modified: projects/clangbsd-import/gnu/lib/libsupc++/Makefile
==============================================================================
--- projects/clangbsd-import/gnu/lib/libsupc++/Makefile	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/lib/libsupc++/Makefile	Wed May 12 20:38:32 2010	(r208000)
@@ -1,10 +1,11 @@
 # $FreeBSD$
 
+GCCVER=	4.2
 GCCDIR=	${.CURDIR}/../../../contrib/gcc
 GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
 SRCDIR=	${.CURDIR}/../../../contrib/libstdc++/libsupc++
 
-.PATH: ${SRCDIR} ${GCCLIB}/libiberty 
+.PATH: ${SRCDIR} ${GCCLIB}/libiberty
 
 # Static only.
 LIB=	supc++
@@ -27,7 +28,7 @@ PO_CXXFLAGS=    ${CXXFLAGS:N-ffunction-s
 
 HDRS=	exception new typeinfo cxxabi.h exception_defines.h
 INCS=	${HDRS:S;^;${SRCDIR}/;}
-INCSDIR=${INCLUDEDIR}/c++/4.2
+INCSDIR=${INCLUDEDIR}/c++/${GCCVER}
 
 unwind.h: ${GCCDIR}/unwind-generic.h
 	ln -sf ${.ALLSRC} ${.TARGET}

Modified: projects/clangbsd-import/gnu/usr.bin/cc/Makefile.inc
==============================================================================
--- projects/clangbsd-import/gnu/usr.bin/cc/Makefile.inc	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/usr.bin/cc/Makefile.inc	Wed May 12 20:38:32 2010	(r208000)
@@ -6,6 +6,7 @@
 .if !defined(__CC_MAKEFILE_INC__)
 __CC_MAKEFILE_INC__= ${MFILE}
 
+GCCVER=	4.2
 GCCDIR=	${.CURDIR}/../../../../contrib/gcc
 GCCLIB=	${.CURDIR}/../../../../contrib/gcclibs
 
@@ -15,6 +16,7 @@ GCCLIB=	${.CURDIR}/../../../../contrib/g
 MD_FILE=	${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.md
 GCC_TARGET=	${TARGET_ARCH}-undermydesk-freebsd
 
+CFLAGS+=	-DGCCVER=\"${GCCVER}\"
 CFLAGS+=	-DIN_GCC -DHAVE_CONFIG_H
 CFLAGS+=	-DPREFIX=\"${TOOLS_PREFIX}/usr\"
 #CFLAGS+=	-DWANT_COMPILER_INVARIANTS

Modified: projects/clangbsd-import/gnu/usr.bin/cc/cc_tools/freebsd-native.h
==============================================================================
--- projects/clangbsd-import/gnu/usr.bin/cc/cc_tools/freebsd-native.h	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/usr.bin/cc/cc_tools/freebsd-native.h	Wed May 12 20:38:32 2010	(r208000)
@@ -15,9 +15,9 @@
 #undef LOCAL_INCLUDE_DIR		/* We don't wish to support one. */
 
 /* Look for the include files in the system-defined places.  */
-#define GPLUSPLUS_INCLUDE_DIR		PREFIX"/include/c++/4.2"
-#define	GPLUSPLUS_BACKWARD_INCLUDE_DIR	PREFIX"/include/c++/4.2/backward"
-#define GCC_INCLUDE_DIR			PREFIX"/include"
+#define GPLUSPLUS_INCLUDE_DIR		PREFIX"/include/c++/"GCCVER
+#define	GPLUSPLUS_BACKWARD_INCLUDE_DIR	PREFIX"/include/c++/"GCCVER"/backward"
+#define GCC_INCLUDE_DIR			PREFIX"/include/gcc/"GCCVER
 #ifdef CROSS_COMPILE
 #define CROSS_INCLUDE_DIR		PREFIX"/include"
 #else

Modified: projects/clangbsd-import/gnu/usr.bin/cc/include/Makefile
==============================================================================
--- projects/clangbsd-import/gnu/usr.bin/cc/include/Makefile	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/gnu/usr.bin/cc/include/Makefile	Wed May 12 20:38:32 2010	(r208000)
@@ -2,6 +2,8 @@
 
 .include "../Makefile.inc"
 
+INCSDIR=${INCLUDEDIR}/gcc/${GCCVER}
+
 .PATH: ${GCCDIR}/config/${GCC_CPU}
 
 .if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64"

Modified: projects/clangbsd-import/lib/libc/gen/glob.c
==============================================================================
--- projects/clangbsd-import/lib/libc/gen/glob.c	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/lib/libc/gen/glob.c	Wed May 12 20:38:32 2010	(r208000)
@@ -433,9 +433,9 @@ static int
 glob0(const Char *pattern, glob_t *pglob, size_t *limit)
 {
 	const Char *qpatnext;
-	int c, err;
+	int err;
 	size_t oldpathc;
-	Char *bufnext, patbuf[MAXPATHLEN];
+	Char *bufnext, c, patbuf[MAXPATHLEN];
 
 	qpatnext = globtilde(pattern, patbuf, MAXPATHLEN, pglob);
 	oldpathc = pglob->gl_pathc;

Modified: projects/clangbsd-import/release/doc/en_US.ISO8859-1/hardware/article.sgml
==============================================================================
--- projects/clangbsd-import/release/doc/en_US.ISO8859-1/hardware/article.sgml	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/release/doc/en_US.ISO8859-1/hardware/article.sgml	Wed May 12 20:38:32 2010	(r208000)
@@ -842,6 +842,8 @@
 
       &hwlist.ep;
 
+      &hwlist.et;
+
       &hwlist.ex;
 
       &hwlist.fe;
@@ -890,6 +892,8 @@
 
       &hwlist.sf;
 
+      &hwlist.sge;
+
       &hwlist.sis;
 
       &hwlist.sk;
@@ -981,10 +985,15 @@
       <para>[&arch.i386;, &arch.amd64;] Marvell Libertas IEEE 802.11b/g
         PCI network adapters (&man.malo.4; driver)</para>
 
+      <para>Marvell 88W8363 IEEE 802.11n wireless network
+	adapters (&man.mwl.4; driver)</para>
+
       &hwlist.ral;
 
       &hwlist.rum;
 
+      &hwlist.run;
+
       &hwlist.uath;
 
       &hwlist.upgt;

Modified: projects/clangbsd-import/release/doc/share/misc/dev.archlist.txt
==============================================================================
--- projects/clangbsd-import/release/doc/share/misc/dev.archlist.txt	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/release/doc/share/misc/dev.archlist.txt	Wed May 12 20:38:32 2010	(r208000)
@@ -104,6 +104,7 @@ rc	i386
 ral	i386,amd64
 rue	i386,pc98,amd64
 rum	i386,amd64
+run	i386,amd64
 safe	i386,pc98,amd64
 sbp	i386,sparc64,ia64,amd64
 sis	i386,pc98,ia64,amd64

Modified: projects/clangbsd-import/sbin/restore/symtab.c
==============================================================================
--- projects/clangbsd-import/sbin/restore/symtab.c	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/sbin/restore/symtab.c	Wed May 12 20:38:32 2010	(r208000)
@@ -443,7 +443,7 @@ dumpsymtable(char *filename, long checkp
 	FILE *fd;
 	struct symtableheader hdr;
 
-	vprintf(stdout, "Check pointing the restore\n");
+	vprintf(stdout, "Checkpointing the restore\n");
 	if (Nflag)
 		return;
 	if ((fd = fopen(filename, "w")) == NULL) {

Modified: projects/clangbsd-import/share/man/man4/fxp.4
==============================================================================
--- projects/clangbsd-import/share/man/man4/fxp.4	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/share/man/man4/fxp.4	Wed May 12 20:38:32 2010	(r208000)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 15, 2008
+.Dd May 12, 2010
 .Dt FXP 4
 .Os
 .Sh NAME
@@ -62,23 +62,25 @@ except i82557, i82259ER and early i82558
 The
 .Nm
 driver supports the following media types:
-.Pp
-.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
-.It autoselect
-Enable autoselection of the media type and options
-.It 10baseT/UTP
-Set 10Mbps operation
-.It 100baseTX
-Set 100Mbps (Fast Ethernet) operation
+.Bl -tag -width "10baseT/UTP"
+.It Cm autoselect
+Enable autoselection of the media type and options.
+The autoselected mode can be overridden by adding the media options to
+.Xr rc.conf 5 .
+.It Cm 10baseT/UTP
+Set 10Mbps operation.
+.It Cm 100baseTX
+Set 100Mbps (Fast Ethernet) operation.
 .El
 .Pp
 The
 .Nm
 driver supports the following media options:
-.Pp
-.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
-.It full-duplex
-Set full duplex operation
+.Bl -tag -width "full-duplex"
+.It Cm full-duplex
+Force full duplex operation.
+.It Cm half-duplex
+Force half duplex operation.
 .El
 .Pp
 Note that 100baseTX media type is not available on the Pro/10.
@@ -143,6 +145,43 @@ NEC PC-9821X-B06 (PC-98)
 .It
 Many on-board network interfaces on Intel motherboards
 .El
+.Sh LOADER TUNABLES
+Tunables can be set at the
+.Xr loader 8
+prompt before booting the kernel or stored in
+.Xr loader.conf 5 .
+The following variables are available as both
+.Xr loader 8
+tunables and
+.Xr sysctl 8
+variables:
+.Bl -tag -width "xxxxxx"
+.It Va dev.fxp.%d.int_delay
+Maximum amount of time, in microseconds, that an interrupt may
+be delayed in an attempt to coalesce interrupts.
+This is only effective if the Intel microcode is loaded.
+The accepted range is 300 to 3000, the default is 1000.
+.It Va dev.fxp.%d.bundle_max
+Number of packets that will be bundled, before an interrupt is
+generated.
+This is only effective if the Intel microcode is loaded.
+The accepted range is 1 to 65535, the default is 6.
+.It Va dev.fxp.%d.noflow
+Controls whether flow control should be used or not.
+The default is 1 (no flow control).
+.El
+.Sh SYSCTL VARIABLES
+The following variables are available as
+.Xr sysctl 8
+variables.
+.Bl -tag -width "xxxxxx"
+.It Va dev.fxp.%d.rnr
+This is a read-only variable and shows the number of events of
+RNR (resource not ready).
+.It Va dev.fxp.%d.stats
+This is a read-only variable and displays useful MAC counters
+maintained in the driver.
+.El
 .Sh DIAGNOSTICS
 .Bl -diag
 .It "fxp%d: couldn't map memory"

Modified: projects/clangbsd-import/share/man/man4/mfi.4
==============================================================================
--- projects/clangbsd-import/share/man/man4/mfi.4	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/share/man/man4/mfi.4	Wed May 12 20:38:32 2010	(r208000)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 2, 2010
+.Dd May 12, 2010
 .Dt MFI 4
 .Os
 .Sh NAME
@@ -91,6 +91,8 @@ Dell PERC5
 .It
 Dell PERC6
 .It
+IBM ServeRAID M5015 SAS/SATA
+.It
 IBM ServeRAID-MR10i
 .It
 Intel RAID Controller SROMBSAS18E

Modified: projects/clangbsd-import/share/man/man4/run.4
==============================================================================
--- projects/clangbsd-import/share/man/man4/run.4	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/share/man/man4/run.4	Wed May 12 20:38:32 2010	(r208000)
@@ -98,7 +98,9 @@ driver can be configured at runtime with
 or on boot with
 .Xr hostname.if 5 .
 .Sh HARDWARE
-The following adapters should work:
+The 
+.Nm
+driver supports the following wireless adapters:
 .Pp
 .Bl -tag -width Ds -offset indent -compact
 .It Airlink101 AWLL6090

Modified: projects/clangbsd-import/sys/kern/vfs_subr.c
==============================================================================
--- projects/clangbsd-import/sys/kern/vfs_subr.c	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/sys/kern/vfs_subr.c	Wed May 12 20:38:32 2010	(r208000)
@@ -821,6 +821,19 @@ static struct kproc_desc vnlru_kp = {
 };
 SYSINIT(vnlru, SI_SUB_KTHREAD_UPDATE, SI_ORDER_FIRST, kproc_start,
     &vnlru_kp);
+ 
+static void
+vfs_lowmem(void *arg __unused)
+{
+
+	/*
+	 * On low memory condition free 1/8th of the free vnodes.
+	 */
+	mtx_lock(&vnode_free_list_mtx);
+	vnlru_free(freevnodes / 8);
+	mtx_unlock(&vnode_free_list_mtx);
+}
+EVENTHANDLER_DEFINE(vm_lowmem, vfs_lowmem, NULL, 0);
 
 /*
  * Routines having to do with the management of the vnode table.

Modified: projects/clangbsd-import/sys/modules/Makefile
==============================================================================
--- projects/clangbsd-import/sys/modules/Makefile	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/sys/modules/Makefile	Wed May 12 20:38:32 2010	(r208000)
@@ -144,6 +144,7 @@ SUBDIR=	${_3dfx} \
 	${_iwn} \
 	${_iwnfw} \
 	${_ixgb} \
+	${_ixgbe} \
 	jme \
 	joy \
 	kbdmux \
@@ -190,6 +191,7 @@ SUBDIR=	${_3dfx} \
 	msk \
 	mvs \
 	mwl \
+	mwlfw \
 	mxge \
 	my \
 	${_ncp} \
@@ -465,6 +467,7 @@ _iwifw=		iwifw
 _iwn=		iwn
 _iwnfw=		iwnfw
 _ixgb=		ixgb
+_ixgbe=		ixgbe
 _mly=		mly
 _nfe=		nfe
 _nve=		nve
@@ -537,6 +540,7 @@ _iwifw=		iwifw
 _iwn=		iwn
 _iwnfw=		iwnfw
 _ixgb=		ixgb
+_ixgbe=		ixgbe
 _lindev=	lindev
 _linprocfs=	linprocfs
 _linsysfs=	linsysfs

Modified: projects/clangbsd-import/sys/netinet/sctp_indata.c
==============================================================================
--- projects/clangbsd-import/sys/netinet/sctp_indata.c	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/sys/netinet/sctp_indata.c	Wed May 12 20:38:32 2010	(r208000)
@@ -3750,7 +3750,8 @@ sctp_try_advance_peer_ack_point(struct s
 		 * the chunk, advance our peer ack point and we can check
 		 * the next chunk.
 		 */
-		if (tp1->sent == SCTP_FORWARD_TSN_SKIP) {
+		if ((tp1->sent == SCTP_FORWARD_TSN_SKIP) ||
+		    (tp1->sent == SCTP_DATAGRAM_ACKED)) {
 			/* advance PeerAckPoint goes forward */
 			if (compare_with_wrap(tp1->rec.data.TSN_seq,
 			    asoc->advanced_peer_ack_point,
@@ -5351,7 +5352,7 @@ sctp_kick_prsctp_reorder_queue(struct sc
 {
 	struct sctp_queued_to_read *ctl, *nctl;
 	struct sctp_association *asoc;
-	int tt;
+	uint16_t tt;
 
 	asoc = &stcb->asoc;
 	tt = strmin->last_sequence_delivered;

Modified: projects/clangbsd-import/sys/netinet/sctp_output.c
==============================================================================
--- projects/clangbsd-import/sys/netinet/sctp_output.c	Wed May 12 20:32:04 2010	(r207999)
+++ projects/clangbsd-import/sys/netinet/sctp_output.c	Wed May 12 20:38:32 2010	(r208000)
@@ -9707,7 +9707,6 @@ send_forward_tsn(struct sctp_tcb *stcb,
 	chk->rec.chunk_id.can_take_data = 0;
 	chk->asoc = asoc;
 	chk->whoTo = NULL;
-
 	chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_DONTWAIT, 1, MT_DATA);
 	if (chk->data == NULL) {
 		sctp_free_a_chunk(stcb, chk);
@@ -9734,7 +9733,8 @@ sctp_fill_in_rest:
 		unsigned int cnt_of_skipped = 0;
 
 		TAILQ_FOREACH(at, &asoc->sent_queue, sctp_next) {
-			if (at->sent != SCTP_FORWARD_TSN_SKIP) {
+			if ((at->sent != SCTP_FORWARD_TSN_SKIP) &&
+			    (at->sent != SCTP_DATAGRAM_ACKED)) {
 				/* no more to look at */
 				break;
 			}
@@ -9775,9 +9775,8 @@ sctp_fill_in_rest:
 				    0xff, 0xff, cnt_of_space,
 				    space_needed);
 			}
-			cnt_of_skipped = (cnt_of_space -
-			    ((sizeof(struct sctp_forward_tsn_chunk)) /
-			    sizeof(struct sctp_strseq)));
+			cnt_of_skipped = cnt_of_space - sizeof(struct sctp_forward_tsn_chunk);
+			cnt_of_skipped /= sizeof(struct sctp_strseq);
 			/*-
 			 * Go through and find the TSN that will be the one
 			 * we report.


More information about the svn-src-projects mailing list