Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Mar 2008 08:11:45 GMT
From:      Qing Li <qingli@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 138344 for review
Message-ID:  <200803230811.m2N8BjAx005984@repoman.freebsd.org>

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

Change 138344 by qingli@FreeBSD-newarp on 2008/03/23 08:11:05

	
	This patch provides the backend of the equal-cost multi-path 
	support for both IPv4 and IPv6. Previously, multi-path route 
	insertion is disallowed. For example,
	
		route add -net 192.103.54.0/24 10.9.44.1
		route add -net 192.103.54.0/24 10.9.44.10
	
	The second route insertion will trigger an error message of
	"add net 192.103.54.0/24: gateway 10.9.44.10: route already in table"
	
	More testing is in progress. I intend to provide incremental support
	for failover and connection load balancing across the multi-path.

Affected files ...

.. //depot/projects/qingli_mpath/src/bin/sh/options.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/CHANGES#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-upgrade#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-vendor#1 branch
.. //depot/projects/qingli_mpath/src/contrib/bzip2/LICENSE#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile-libbz2_so#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/README#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/blocksort.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2recover.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.h#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib_private.h#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/compress.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/crctable.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/decompress.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/huffman.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/randtable.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/spewG.c#2 integrate
.. //depot/projects/qingli_mpath/src/contrib/bzip2/unzcrash.c#2 integrate
.. //depot/projects/qingli_mpath/src/include/pthread.h#2 integrate
.. //depot/projects/qingli_mpath/src/include/time.h#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libarchive/Makefile#3 integrate
.. //depot/projects/qingli_mpath/src/lib/libfetch/common.c#3 integrate
.. //depot/projects/qingli_mpath/src/lib/libthr/pthread.map#3 integrate
.. //depot/projects/qingli_mpath/src/lib/libthr/thread/Makefile.inc#3 integrate
.. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_getcpuclockid.c#1 branch
.. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_mutexattr.c#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_rtld.c#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libthread_db/libc_r_db.c#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libthread_db/libpthread_db.c#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libthread_db/libthr_db.c#2 integrate
.. //depot/projects/qingli_mpath/src/lib/libthread_db/thread_db.c#2 integrate
.. //depot/projects/qingli_mpath/src/sbin/devd/token.l#2 integrate
.. //depot/projects/qingli_mpath/src/sbin/dhclient/dhclient.c#2 integrate
.. //depot/projects/qingli_mpath/src/sbin/newfs/newfs.8#2 integrate
.. //depot/projects/qingli_mpath/src/sbin/route/route.c#2 integrate
.. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/streams.4#3 integrate
.. //depot/projects/qingli_mpath/src/sys/amd64/amd64/nexus.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/amd64/isa/atpic.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/arm/arm/elf_trampoline.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/arm/conf/AVILA#3 integrate
.. //depot/projects/qingli_mpath/src/sys/arm/conf/AVILA.hints#2 integrate
.. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/if_npe.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_futex.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_futex.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/conf/NOTES#3 integrate
.. //depot/projects/qingli_mpath/src/sys/conf/files#3 edit
.. //depot/projects/qingli_mpath/src/sys/conf/options#3 edit
.. //depot/projects/qingli_mpath/src/sys/dev/aac/aac.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-raid.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/ath/if_ath.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_main.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_offload.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_sge.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/drm/drm_pciids.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/drm/i915_dma.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/fxp/if_fxp.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/mfi/mfi.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/syscons/syscons.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/ehci.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/if_rum.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/ohci.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdevs#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdi.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdi.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdivar.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/fs/devfs/devfs_rule.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/i386/i386/nexus.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/i386/isa/atpic.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/bus_if.m#2 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_exit.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_fork.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_sig.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_switch.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_thr.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_thread.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/kern_timeout.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/sched_4bsd.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/sched_ule.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/subr_bus.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/subr_sleepqueue.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/subr_trap.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/vfs_cluster.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/vfs_default.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/kern/vfs_subr.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/net/if_ethersubr.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/net/if_gre.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/net/radix.c#2 edit
.. //depot/projects/qingli_mpath/src/sys/net/radix.h#2 edit
.. //depot/projects/qingli_mpath/src/sys/net/radix_mpath.c#1 add
.. //depot/projects/qingli_mpath/src/sys/net/radix_mpath.h#1 add
.. //depot/projects/qingli_mpath/src/sys/net/route.c#3 edit
.. //depot/projects/qingli_mpath/src/sys/net/route.h#2 edit
.. //depot/projects/qingli_mpath/src/sys/net/rtsock.c#3 edit
.. //depot/projects/qingli_mpath/src/sys/netgraph/ng_tee.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/netinet/in_proto.c#2 edit
.. //depot/projects/qingli_mpath/src/sys/netinet6/in6_proto.c#2 edit
.. //depot/projects/qingli_mpath/src/sys/netipsec/xform_tcp.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/nfs4client/nfs4_vfsops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/nfs4client/nfs4_vnops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_subs.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_vfsops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_vnops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/nfsserver/nfs_serv.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/aac_ioctl.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/buf.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/bufobj.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/bus.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/proc.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/runq.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/sched.h#3 integrate
.. //depot/projects/qingli_mpath/src/sys/sys/sysctl.h#2 integrate
.. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_inode.c#2 integrate
.. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_rawread.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_softdep.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_vnops.c#3 integrate
.. //depot/projects/qingli_mpath/src/sys/vm/vm_mmap.c#3 integrate
.. //depot/projects/qingli_mpath/src/tools/regression/bin/sh/builtins/getopts1.0#1 branch
.. //depot/projects/qingli_mpath/src/tools/regression/bin/sh/builtins/getopts1.0.stdout#1 branch
.. //depot/projects/qingli_mpath/src/tools/tools/README#2 integrate
.. //depot/projects/qingli_mpath/src/tools/tools/net80211/wlanwatch/wlanwatch.c#2 integrate
.. //depot/projects/qingli_mpath/src/tools/tools/tinybsd/tinybsd#3 integrate
.. //depot/projects/qingli_mpath/src/tools/tools/track/Makefile#1 branch
.. //depot/projects/qingli_mpath/src/tools/tools/track/track.sh#1 branch
.. //depot/projects/qingli_mpath/src/usr.bin/ktrace/ktrace.c#2 integrate

Differences ...

==== //depot/projects/qingli_mpath/src/bin/sh/options.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.25 2006/04/09 12:20:42 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.26 2008/03/22 14:06:01 stefanf Exp $");
 
 #include <signal.h>
 #include <unistd.h>
@@ -383,7 +383,7 @@
 	}
 	ap2 = shellparam.p;
 	while ((*ap2++ = *ap1++) != NULL);
-	shellparam.optnext = NULL;
+	shellparam.reset = 1;
 	INTON;
 	return 0;
 }
@@ -405,6 +405,7 @@
 	if (*argptr != NULL) {
 		setparam(argptr);
 	}
+	shellparam.reset = 1;
 	INTON;
 	return 0;
 }
@@ -414,7 +415,6 @@
 getoptsreset(const char *value)
 {
 	if (number(value) == 1) {
-		shellparam.optnext = NULL;
 		shellparam.reset = 1;
 	}
 }

==== //depot/projects/qingli_mpath/src/contrib/bzip2/CHANGES#2 (text+ko) ====

@@ -2,8 +2,8 @@
  This file is part of bzip2/libbzip2, a program and library for
  lossless, block-sorting data compression.
 
- bzip2/libbzip2 version 1.0.4 of 20 December 2006
- Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.5 of 10 December 2007
+ Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
  Please read the WARNING, DISCLAIMER and PATENTS sections in the 
  README file.
@@ -312,3 +312,8 @@
 
 * Fix minor doc/comment bugs.
 
+
+1.0.5 (10 Dec 07)
+~~~~~~~~~~~~~~~~~
+Security fix only.  Fixes CERT-FI 20469 as it applies to bzip2.
+

==== //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-upgrade#2 (text+ko) ====

@@ -1,12 +1,12 @@
-$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $
+$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $
 
 Julian Seward's bzip2
 	originals can be found at: 	http://www.bzip.org/downloads.html
 
 Imported by:
 
-	cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \
-		src/contrib/bzip2 BZIP2 v1_0_4
+	cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \
+		src/contrib/bzip2 BZIP2 v1_0_5
 
 Notes:
 	The following log shows details of trimming:

==== //depot/projects/qingli_mpath/src/contrib/bzip2/LICENSE#2 (text+ko) ====

@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------
 
 This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2006 Julian R Seward.  All
+documentation, are copyright (C) 1996-2007 Julian R Seward.  All
 rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -36,8 +36,7 @@
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-Julian Seward, Cambridge, UK.
-jseward@bzip.org
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
+Julian Seward, jseward@bzip.org
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
 
 --------------------------------------------------------------------------

==== //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile#2 (text+ko) ====

@@ -2,8 +2,8 @@
 # This file is part of bzip2/libbzip2, a program and library for
 # lossless, block-sorting data compression.
 #
-# bzip2/libbzip2 version 1.0.4 of 20 December 2006
-# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+# bzip2/libbzip2 version 1.0.5 of 10 December 2007
+# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 #
 # Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 # README file.
@@ -137,7 +137,7 @@
 distclean: clean
 	rm -f manual.ps manual.html manual.pdf
 
-DISTNAME=bzip2-1.0.4
+DISTNAME=bzip2-1.0.5
 dist: check manual
 	rm -f $(DISTNAME)
 	ln -s -f . $(DISTNAME)

==== //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ====

@@ -10,8 +10,8 @@
 # This file is part of bzip2/libbzip2, a program and library for
 # lossless, block-sorting data compression.
 #
-# bzip2/libbzip2 version 1.0.4 of 20 December 2006
-# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+# bzip2/libbzip2 version 1.0.5 of 10 December 2007
+# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 #
 # Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 # README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/README#2 (text+ko) ====

@@ -6,8 +6,8 @@
 This file is part of bzip2/libbzip2, a program and library for
 lossless, block-sorting data compression.
 
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
-Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
+Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
 Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
 
@@ -177,7 +177,11 @@
 
    See the CHANGES file.
 
+WHAT'S NEW IN 1.0.5 ?
 
+   See the CHANGES file.
+
+
 I hope you find bzip2 useful.  Feel free to contact me at
    jseward@bzip.org
 if you have any suggestions or queries.  Many people mailed me with
@@ -203,3 +207,4 @@
 30 December 2001 (bzip2, version 1.0.2pre1)
 15 February 2005 (bzip2, version 1.0.3)
 20 December 2006 (bzip2, version 1.0.4)
+10 December 2007 (bzip2, version 1.0.5)

==== //depot/projects/qingli_mpath/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ====

@@ -2,8 +2,8 @@
 This file is part of bzip2/libbzip2, a program and library for
 lossless, block-sorting data compression.
 
-bzip2/libbzip2 version 1.0.4 of 20 December 2006
-Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
+Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
 Please read the WARNING, DISCLAIMER and PATENTS sections in the 
 README file.
@@ -12,7 +12,7 @@
 in the file LICENSE.
 ------------------------------------------------------------------
 
-bzip2-1.0.4 should compile without problems on the vast majority of
+bzip2-1.0.5 should compile without problems on the vast majority of
 platforms.  Using the supplied Makefile, I've built and tested it
 myself for x86-linux and amd64-linux.  With makefile.msc, Visual C++
 6.0 and nmake, you can build a native Win32 version too.  Large file

==== //depot/projects/qingli_mpath/src/contrib/bzip2/blocksort.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2.c#2 (text+ko) ====

@@ -7,8 +7,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -1605,11 +1605,11 @@
     "bzip2, a block-sorting file compressor.  "
     "Version %s.\n"
     "   \n"
-    "   Copyright (C) 1996-2006 by Julian Seward.\n"
+    "   Copyright (C) 1996-2007 by Julian Seward.\n"
     "   \n"
     "   This program is free software; you can redistribute it and/or modify\n"
     "   it under the terms set out in the LICENSE file, which is included\n"
-    "   in the bzip2-1.0.4 source distribution.\n"
+    "   in the bzip2-1.0.5 source distribution.\n"
     "   \n"
     "   This program is distributed in the hope that it will be useful,\n"
     "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"

==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2recover.c#2 (text+ko) ====

@@ -7,8 +7,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -313,7 +313,7 @@
    inFileName[0] = outFileName[0] = 0;
 
    fprintf ( stderr, 
-             "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" );
+             "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" );
 
    if (argc != 2) {
       fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",

==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -29,7 +29,7 @@
 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $");
+__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $");
 
 #include "bzlib_private.h"
 
@@ -52,7 +52,7 @@
       "component, you should also report this bug to the author(s)\n"
       "of that program.  Please make an effort to report this bug;\n"
       "timely and accurate bug reports eventually lead to higher\n"
-      "quality software.  Thanks.  Julian Seward, 15 February 2005.\n\n",
+      "quality software.  Thanks.  Julian Seward, 10 December 2007.\n\n",
       errcode,
       BZ2_bzlibVersion()
    );
@@ -605,6 +605,7 @@
       UInt32        c_tPos               = s->tPos;
       char*         cs_next_out          = s->strm->next_out;
       unsigned int  cs_avail_out         = s->strm->avail_out;
+      Int32         ro_blockSize100k     = s->blockSize100k;
       /* end restore */
 
       UInt32       avail_out_INIT = cs_avail_out;

==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.h#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib_private.h#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -36,7 +36,7 @@
 
 /*-- General stuff. --*/
 
-#define BZ_VERSION  "1.0.4, 20-Dec-2006"
+#define BZ_VERSION  "1.0.5, 10-Dec-2007"
 
 typedef char            Char;
 typedef unsigned char   Bool;
@@ -442,11 +442,15 @@
 /*-- Macros for decompression. --*/
 
 #define BZ_GET_FAST(cccc)                     \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
     s->tPos = s->tt[s->tPos];                 \
     cccc = (UChar)(s->tPos & 0xff);           \
     s->tPos >>= 8;
 
 #define BZ_GET_FAST_C(cccc)                   \
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
     c_tPos = c_tt[c_tPos];                    \
     cccc = (UChar)(c_tPos & 0xff);            \
     c_tPos >>= 8;
@@ -469,8 +473,10 @@
    (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
 
 #define BZ_GET_SMALL(cccc)                            \
-      cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
-      s->tPos = GET_LL(s->tPos);
+    /* c_tPos is unsigned, hence test < 0 is pointless. */ \
+    if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
+    cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
+    s->tPos = GET_LL(s->tPos);
 
 
 /*-- externs for decompression. --*/

==== //depot/projects/qingli_mpath/src/contrib/bzip2/compress.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/crctable.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/decompress.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/huffman.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/randtable.c#2 (text+ko) ====

@@ -8,8 +8,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/spewG.c#2 (text+ko) ====

@@ -13,8 +13,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/contrib/bzip2/unzcrash.c#2 (text+ko) ====

@@ -17,8 +17,8 @@
    This file is part of bzip2/libbzip2, a program and library for
    lossless, block-sorting data compression.
 
-   bzip2/libbzip2 version 1.0.4 of 20 December 2006
-   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+   bzip2/libbzip2 version 1.0.5 of 10 December 2007
+   Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.

==== //depot/projects/qingli_mpath/src/include/pthread.h#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/include/pthread.h,v 1.41 2007/10/29 21:01:47 kris Exp $
+ * $FreeBSD: src/include/pthread.h,v 1.42 2008/03/22 09:59:20 davidxu Exp $
  */
 #ifndef _PTHREAD_H_
 #define _PTHREAD_H_
@@ -185,6 +185,7 @@
 int		pthread_equal(pthread_t, pthread_t);
 void		pthread_exit(void *) __dead2;
 void		*pthread_getspecific(pthread_key_t);
+int		pthread_getcpuclockid(pthread_t, clockid_t *);
 int		pthread_join(pthread_t, void **);
 int		pthread_key_create(pthread_key_t *,
 			void (*) (void *));

==== //depot/projects/qingli_mpath/src/include/time.h#2 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 /*
- * $FreeBSD: src/include/time.h,v 1.34 2006/04/15 03:08:55 jb Exp $
+ * $FreeBSD: src/include/time.h,v 1.35 2008/03/22 09:59:20 davidxu Exp $
  */
 
 #ifndef _TIME_H_
@@ -108,6 +108,7 @@
 #define CLOCK_MONOTONIC_PRECISE	11	/* FreeBSD-specific. */
 #define CLOCK_MONOTONIC_FAST	12	/* FreeBSD-specific. */
 #define CLOCK_SECOND	13		/* FreeBSD-specific. */
+#define CLOCK_THREAD_CPUTIME_ID	14
 #endif /* !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 */
 
 #if !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112

==== //depot/projects/qingli_mpath/src/lib/libarchive/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.83 2008/03/21 11:10:20 kaiw Exp $
 
 LIB=	archive
 DPADD=	${LIBBZ2} ${LIBZ}
@@ -214,6 +214,7 @@
 MLINKS+=	archive_util.3 archive_format.3
 MLINKS+=	archive_util.3 archive_format_name.3
 MLINKS+=	archive_util.3 archive_set_error.3
+MLINKS+=	archive_write.3 archive_write_close.3
 MLINKS+=	archive_write.3 archive_write_data.3
 MLINKS+=	archive_write.3 archive_write_finish.3
 MLINKS+=	archive_write.3 archive_write_finish_entry.3

==== //depot/projects/qingli_mpath/src/lib/libfetch/common.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.54 2008/02/08 09:48:48 des Exp $");
+__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.55 2008/03/20 09:55:27 des Exp $");
 
 #include <sys/param.h>
 #include <sys/socket.h>
@@ -377,7 +377,7 @@
 ssize_t
 fetch_read(conn_t *conn, char *buf, size_t len)
 {
-	struct timeval now, timeout, wait;
+	struct timeval now, timeout, delta;
 	fd_set readfds;
 	ssize_t rlen, total;
 	int r;
@@ -393,19 +393,19 @@
 		while (fetchTimeout && !FD_ISSET(conn->sd, &readfds)) {
 			FD_SET(conn->sd, &readfds);
 			gettimeofday(&now, NULL);
-			wait.tv_sec = timeout.tv_sec - now.tv_sec;
-			wait.tv_usec = timeout.tv_usec - now.tv_usec;
-			if (wait.tv_usec < 0) {
-				wait.tv_usec += 1000000;
-				wait.tv_sec--;
+			delta.tv_sec = timeout.tv_sec - now.tv_sec;
+			delta.tv_usec = timeout.tv_usec - now.tv_usec;
+			if (delta.tv_usec < 0) {
+				delta.tv_usec += 1000000;
+				delta.tv_sec--;
 			}
-			if (wait.tv_sec < 0) {
+			if (delta.tv_sec < 0) {
 				errno = ETIMEDOUT;
 				fetch_syserr();
 				return (-1);
 			}
 			errno = 0;
-			r = select(conn->sd + 1, &readfds, NULL, NULL, &wait);
+			r = select(conn->sd + 1, &readfds, NULL, NULL, &delta);
 			if (r == -1) {
 				if (errno == EINTR && fetchRestartCalls)
 					continue;
@@ -503,7 +503,7 @@
 ssize_t
 fetch_writev(conn_t *conn, struct iovec *iov, int iovcnt)
 {
-	struct timeval now, timeout, wait;
+	struct timeval now, timeout, delta;
 	fd_set writefds;
 	ssize_t wlen, total;
 	int r;
@@ -519,19 +519,19 @@
 		while (fetchTimeout && !FD_ISSET(conn->sd, &writefds)) {
 			FD_SET(conn->sd, &writefds);
 			gettimeofday(&now, NULL);
-			wait.tv_sec = timeout.tv_sec - now.tv_sec;
-			wait.tv_usec = timeout.tv_usec - now.tv_usec;
-			if (wait.tv_usec < 0) {
-				wait.tv_usec += 1000000;
-				wait.tv_sec--;
+			delta.tv_sec = timeout.tv_sec - now.tv_sec;
+			delta.tv_usec = timeout.tv_usec - now.tv_usec;
+			if (delta.tv_usec < 0) {
+				delta.tv_usec += 1000000;
+				delta.tv_sec--;
 			}
-			if (wait.tv_sec < 0) {
+			if (delta.tv_sec < 0) {
 				errno = ETIMEDOUT;
 				fetch_syserr();
 				return (-1);
 			}
 			errno = 0;
-			r = select(conn->sd + 1, NULL, &writefds, NULL, &wait);
+			r = select(conn->sd + 1, NULL, &writefds, NULL, &delta);
 			if (r == -1) {
 				if (errno == EINTR && fetchRestartCalls)
 					continue;

==== //depot/projects/qingli_mpath/src/lib/libthr/pthread.map#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libthr/pthread.map,v 1.28 2008/03/05 06:56:35 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/pthread.map,v 1.29 2008/03/22 09:59:20 davidxu Exp $
  */
 
 /*
@@ -271,6 +271,7 @@
 	_pthread_exit;
 	_pthread_getaffinity_np;
 	_pthread_getconcurrency;
+	_pthread_getcpuclockid;
 	_pthread_getprio;
 	_pthread_getschedparam;
 	_pthread_getspecific;
@@ -395,6 +396,7 @@
 	pthread_attr_getaffinity_np;
 	pthread_attr_setaffinity_np;
 	pthread_getaffinity_np;
+	pthread_getcpuclockid;
 	pthread_setaffinity_np;
 	pthread_mutex_getspinloops_np;
 	pthread_mutex_getyieldloops_np;

==== //depot/projects/qingli_mpath/src/lib/libthr/thread/Makefile.inc#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.17 2008/03/03 09:16:29 davidxu Exp $
+# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.18 2008/03/22 09:59:20 davidxu Exp $
 
 # thr sources
 .PATH: ${.CURDIR}/thread
@@ -20,6 +20,7 @@
 	thr_exit.c \
 	thr_fork.c \
 	thr_getprio.c \
+	thr_getcpuclockid.c \
 	thr_getschedparam.c \
 	thr_info.c \
 	thr_init.c \

==== //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_mutexattr.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_mutexattr.c,v 1.7 2007/01/12 07:26:20 imp Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_mutexattr.c,v 1.9 2008/03/20 11:47:08 ru Exp $
  */
 
 /*
@@ -132,8 +132,7 @@
 {
 	int	ret;
 	if (attr == NULL || *attr == NULL || type >= PTHREAD_MUTEX_TYPE_MAX) {
-		errno = EINVAL;
-		ret = -1;
+		ret = EINVAL;
 	} else {
 		(*attr)->m_type = type;
 		ret = 0;

==== //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_rtld.c#2 (text) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.4 2007/11/21 05:21:58 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.6 2008/03/21 02:31:55 davidxu Exp $
  *
  */
 
@@ -36,6 +36,9 @@
 #include "rtld_lock.h"
 #include "thr_private.h"
 
+#undef errno
+extern int errno;
+
 #define CACHE_LINE_SIZE		64
 #define WAFLAG			0x1
 #define RC_INCR			0x2
@@ -88,20 +91,38 @@
 	free(l->base);
 }
 
+#define SAVE_ERRNO()	{			\
+	if (curthread != _thr_initial)		\
+		errsave = curthread->error;	\
+	else					\
+		errsave = errno;		\
+}
+
+#define RESTORE_ERRNO()	{ 			\
+	if (curthread != _thr_initial)  	\
+		curthread->error = errsave;	\
+	else					\
+		errno = errsave;		\
+}
+
 static void
 _thr_rtld_rlock_acquire(void *lock)
 {
 	struct pthread		*curthread;
 	struct rtld_lock	*l;
 	long			v;
+	int			errsave;
 
 	curthread = _get_curthread();
+	SAVE_ERRNO();
 	l = (struct rtld_lock *)lock;
 
 	THR_CRITICAL_ENTER(curthread);
 	atomic_add_acq_int(&l->lock, RC_INCR);
-	if (!(l->lock & WAFLAG))
+	if (!(l->lock & WAFLAG)) {
+		RESTORE_ERRNO();
 		return;
+	}
 	v = l->rd_cv;
 	atomic_add_int(&l->rd_waiters, 1);
 	while (l->lock & WAFLAG) {
@@ -109,6 +130,7 @@
 		v = l->rd_cv;
 	}
 	atomic_add_int(&l->rd_waiters, -1);
+	RESTORE_ERRNO();
 }
 
 static void
@@ -117,14 +139,18 @@
 	struct pthread		*curthread;
 	struct rtld_lock	*l;
 	long			v;
+	int			errsave;
 
 	curthread = _get_curthread();
+	SAVE_ERRNO();
 	l = (struct rtld_lock *)lock;
 
 	_thr_signal_block(curthread);
 	for (;;) {
-		if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG))
+		if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG)) {
+			RESTORE_ERRNO();
 			return;
+		}
 		v = l->wr_cv;
 		atomic_add_int(&l->wr_waiters, 1);
 		while (l->lock != 0) {
@@ -140,8 +166,10 @@
 {
 	struct pthread		*curthread;
 	struct rtld_lock	*l;
+	int			errsave;
 
 	curthread = _get_curthread();
+	SAVE_ERRNO();
 	l = (struct rtld_lock *)lock;
 	
 	if ((l->lock & WAFLAG) == 0) {
@@ -162,6 +190,7 @@
 		}
 		_thr_signal_unblock(curthread);
 	}
+	RESTORE_ERRNO();
 }
 
 static int
@@ -191,6 +220,9 @@
 
 	/* force to resolve _umtx_op PLT */
 	_umtx_op((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0);
+	
+	/* force to resolve errno() PLT */
+	__error();
 
 	li.lock_create  = _thr_rtld_lock_create;
 	li.lock_destroy = _thr_rtld_lock_destroy;

==== //depot/projects/qingli_mpath/src/lib/libthread_db/libc_r_db.c#2 (text+ko) ====

@@ -25,9 +25,10 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.3 2005/05/31 09:43:03 dfr Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.4 2008/03/22 05:40:44 davidxu Exp $");
 
 #include <machine/setjmp.h>
+#include <sys/linker_set.h>
 #include <proc_service.h>
 #include <stdlib.h>
 #include <string.h>
@@ -346,3 +347,5 @@
 	.to_thr_setxmmregs	= libc_r_db_thr_setxmmregs,
 #endif
 };
+
+DATA_SET(__ta_ops, libc_r_db_ops);

==== //depot/projects/qingli_mpath/src/lib/libthread_db/libpthread_db.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.14 2006/05/17 05:12:42 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.15 2008/03/22 05:40:44 davidxu Exp $");
 
 #include <stddef.h>
 #include <stdlib.h>
@@ -33,6 +33,7 @@
 #include <unistd.h>
 #include <pthread.h>
 #include <sys/types.h>
+#include <sys/linker_set.h>
 #include <sys/kse.h>
 #include <sys/ptrace.h>
 #include <proc_service.h>
@@ -1147,3 +1148,5 @@
 	.to_thr_setxmmregs	= pt_thr_setxmmregs,
 #endif
 };
+
+DATA_SET(__ta_ops, libpthread_db_ops);

==== //depot/projects/qingli_mpath/src/lib/libthread_db/libthr_db.c#2 (text+ko) ====

@@ -26,13 +26,14 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.12 2006/05/17 05:14:45 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.13 2008/03/22 05:40:44 davidxu Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>

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



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