PERFORCE change 149794 for review

Peter Wemm peter at FreeBSD.org
Mon Sep 15 09:33:32 UTC 2008


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

Change 149794 by peter at peter_daintree on 2008/09/15 09:33:15

	IFC @149788

Affected files ...

.. //depot/projects/hammer/ObsoleteFiles.inc#59 integrate
.. //depot/projects/hammer/UPDATING#122 integrate
.. //depot/projects/hammer/contrib/telnet/arpa/telnet.h#2 integrate
.. //depot/projects/hammer/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#13 integrate
.. //depot/projects/hammer/include/arpa/telnet.h#3 integrate
.. //depot/projects/hammer/lib/libarchive/archive_platform.h#22 integrate
.. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_program.c#5 integrate
.. //depot/projects/hammer/lib/libarchive/archive_write_disk.c#17 integrate
.. //depot/projects/hammer/lib/libarchive/config_freebsd.h#10 integrate
.. //depot/projects/hammer/lib/libarchive/filter_fork.c#5 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_event.c#3 integrate
.. //depot/projects/hammer/lib/libthread_db/libpthread_db.c#12 integrate
.. //depot/projects/hammer/lib/libthread_db/libthr_db.c#11 integrate
.. //depot/projects/hammer/lib/libthread_db/thread_db.c#7 integrate
.. //depot/projects/hammer/lib/libthread_db/thread_db.h#7 integrate
.. //depot/projects/hammer/lib/libthread_db/thread_db_int.h#5 integrate
.. //depot/projects/hammer/rescue/rescue/Makefile#41 integrate
.. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.8#16 integrate
.. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.c#17 integrate
.. //depot/projects/hammer/share/man/man4/snd_hda.4#9 integrate
.. //depot/projects/hammer/share/man/man9/bus_dma.9#29 integrate
.. //depot/projects/hammer/share/man/man9/dev_clone.9#1 branch
.. //depot/projects/hammer/share/man/man9/devfs_set_cdevpriv.9#1 branch
.. //depot/projects/hammer/share/man/man9/insmntque.9#2 integrate
.. //depot/projects/hammer/share/man/man9/make_dev.9#12 integrate
.. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#94 integrate
.. //depot/projects/hammer/sys/amd64/include/pmc_mdep.h#5 integrate
.. //depot/projects/hammer/sys/amd64/pci/pci_cfgreg.c#30 integrate
.. //depot/projects/hammer/sys/arm/arm/intr.c#21 integrate
.. //depot/projects/hammer/sys/arm/arm/nexus.c#11 integrate
.. //depot/projects/hammer/sys/arm/include/intr.h#10 integrate
.. //depot/projects/hammer/sys/arm/include/pcpu.h#8 integrate
.. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425.c#7 integrate
.. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 integrate
.. //depot/projects/hammer/sys/compat/linux/linux_misc.c#53 integrate
.. //depot/projects/hammer/sys/compat/ndis/ntoskrnl_var.h#27 integrate
.. //depot/projects/hammer/sys/conf/NOTES#151 integrate
.. //depot/projects/hammer/sys/dev/aac/aac_pci.c#34 integrate
.. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_x86.c#8 integrate
.. //depot/projects/hammer/sys/dev/mlx/mlx.c#13 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/hda/hda_reg.h#2 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac.c#20 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac_private.h#7 integrate
.. //depot/projects/hammer/sys/dev/tx/if_tx.c#30 integrate
.. //depot/projects/hammer/sys/dev/usb/ubsa.c#23 integrate
.. //depot/projects/hammer/sys/dev/usb/ufoma.c#7 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#109 integrate
.. //depot/projects/hammer/sys/fs/nullfs/null_vnops.c#32 integrate
.. //depot/projects/hammer/sys/i386/i386/sys_machdep.c#28 integrate
.. //depot/projects/hammer/sys/i386/i386/vm_machdep.c#63 integrate
.. //depot/projects/hammer/sys/i386/include/pmc_mdep.h#6 integrate
.. //depot/projects/hammer/sys/i386/include/proc.h#11 integrate
.. //depot/projects/hammer/sys/i386/pci/pci_cfgreg.c#31 integrate
.. //depot/projects/hammer/sys/kern/subr_witness.c#75 integrate
.. //depot/projects/hammer/sys/modules/Makefile#132 integrate
.. //depot/projects/hammer/sys/net/if_atmsubr.c#23 integrate
.. //depot/projects/hammer/sys/net/if_fwsubr.c#21 integrate
.. //depot/projects/hammer/sys/net/if_iso88025subr.c#23 integrate
.. //depot/projects/hammer/sys/net/route.c#37 integrate
.. //depot/projects/hammer/sys/net/route.h#22 integrate
.. //depot/projects/hammer/sys/netgraph/ng_base.c#62 integrate
.. //depot/projects/hammer/sys/netinet/if_ether.c#49 integrate
.. //depot/projects/hammer/sys/netinet/in_rmx.c#18 integrate
.. //depot/projects/hammer/sys/netinet/in_var.h#17 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw.h#36 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#99 integrate
.. //depot/projects/hammer/sys/netinet/tcp_output.c#53 integrate
.. //depot/projects/hammer/sys/netinet/tcp_subr.c#85 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.c#64 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#62 integrate
.. //depot/projects/hammer/sys/powerpc/aim/mp_cpudep.c#2 integrate
.. //depot/projects/hammer/sys/powerpc/include/spr.h#9 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/autoconf.c#9 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/cpu.c#10 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/mp_machdep.c#8 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/openpic.c#17 integrate
.. //depot/projects/hammer/sys/sys/procfs.h#5 integrate
.. //depot/projects/hammer/tools/build/mk/OptionalObsoleteFiles.inc#14 integrate
.. //depot/projects/hammer/usr.bin/tar/config_freebsd.h#6 integrate
.. //depot/projects/hammer/usr.bin/tar/test/Makefile#3 integrate
.. //depot/projects/hammer/usr.bin/tar/test/test_symlink_dir.c#1 branch
.. //depot/projects/hammer/usr.bin/tar/write.c#35 integrate
.. //depot/projects/hammer/usr.bin/top/machine.c#25 integrate
.. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.8#17 integrate
.. //depot/projects/hammer/usr.sbin/iostat/iostat.c#13 integrate
.. //depot/projects/hammer/usr.sbin/mlxcontrol/command.c#2 integrate
.. //depot/projects/hammer/usr.sbin/mlxcontrol/interface.c#2 integrate
.. //depot/projects/hammer/usr.sbin/ntp/config.h#9 integrate
.. //depot/projects/hammer/usr.sbin/quot/quot.c#10 integrate

Differences ...

==== //depot/projects/hammer/ObsoleteFiles.inc#59 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.158 2008/09/10 18:36:58 jhb Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.160 2008/09/14 17:49:46 antoine Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,8 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20080913: pax removed from rescue
+OLD_FILES+=rescue/pax
 # 20080823: removal of unneeded pt_chown, to implement grantpt(3)
 OLD_FILES+=usr/libexec/pt_chown
 # 20080822: ntp 4.2.4p5 import
@@ -3794,7 +3796,6 @@
 OLD_FILES+=usr/games/worms
 OLD_FILES+=usr/games/wump
 OLD_FILES+=sbin/mount_reiserfs
-OLD_FILES+=usr/bin/hesinfo
 OLD_FILES+=usr/include/c++/3.4/ext/demangle.h
 OLD_FILES+=usr/include/cam/cam_extend.h
 OLD_FILES+=usr/include/dev/wi/wi_hostap.h
@@ -4204,10 +4205,8 @@
 OLD_FILES+=usr/share/doc/ntp/tickadj.htm
 OLD_FILES+=usr/share/doc/papers/nqnfs.ascii.gz
 OLD_FILES+=usr/share/doc/papers/px.ascii.gz
-OLD_FILES+=usr/share/man/man1/hesinfo.1.gz
 OLD_FILES+=usr/share/man/man3/mbrune.3.gz
 OLD_FILES+=usr/share/man/man3/rune.3.gz
-OLD_FILES+=usr/share/man/man3/hesiod.3.gz
 OLD_FILES+=usr/share/man/man3/mac_is_present_np.3.gz
 OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz
 OLD_FILES+=usr/share/man/man3/gss_krb5_copy_ccache.3.gz
@@ -4222,7 +4221,6 @@
 OLD_FILES+=usr/share/man/man3/setinvalidrune.3.gz
 OLD_FILES+=usr/share/man/man3/mbrune.3.gz
 OLD_FILES+=usr/share/man/man3/rune.3.gz
-OLD_FILES+=usr/share/man/man3/hesiod.3.gz
 OLD_FILES+=usr/share/man/man3/mac_is_present_np.3.gz
 OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz
 OLD_FILES+=usr/share/man/man3/gss_krb5_copy_ccache.3.gz
@@ -4238,7 +4236,6 @@
 OLD_FILES+=usr/share/man/man3/fungetrune.3.gz
 OLD_FILES+=usr/share/man/man3/fputrune.3.gz
 OLD_FILES+=usr/share/man/man3/fgetrune.3.gz
-OLD_FILES+=usr/share/man/man5/hesiod.conf.5.gz
 OLD_FILES+=usr/share/man/man5/usbd.conf.5.gz
 .if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
 OLD_FILES+=usr/share/man/man8/boot_i386.8.gz

==== //depot/projects/hammer/UPDATING#122 (text+ko) ====

@@ -30,10 +30,10 @@
 	drivers have not yet been ported to the new TTY layer:
 
 	PCI/ISA:
-		cy, digi, rc, rp, si, sio
+		cy, digi, rc, rp, sio
 
 	USB:
-		ubser, ucycom, ufoma
+		ubser, ucycom
 
 	Line disciplines:
 		ng_h4, ng_tty, ppp, sl, snp
@@ -1126,4 +1126,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.541 2008/09/03 08:30:17 roberto Exp $
+$FreeBSD: src/UPDATING,v 1.542 2008/09/14 19:25:57 ed Exp $

==== //depot/projects/hammer/contrib/telnet/arpa/telnet.h#2 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)telnet.h	8.2 (Berkeley) 12/15/93
- * $FreeBSD: src/contrib/telnet/arpa/telnet.h,v 1.9 2003/01/18 06:10:21 billf Exp $
+ * $FreeBSD: src/contrib/telnet/arpa/telnet.h,v 1.10 2008/09/13 17:46:50 antoine Exp $
  */
 
 #ifndef _ARPA_TELNET_H_
@@ -140,8 +140,8 @@
 	"TACACS UID", "OUTPUT MARKING", "TTYLOC",
 	"3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
 	"LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
-	"ENCRYPT", "NEW-ENVIRON", "TN3270E", "CHARSET", "COM-PORT",
-	"KERMIT",
+	"ENCRYPT", "NEW-ENVIRON", "TN3270E", "XAUTH", "CHARSET",
+	"RSP", "COM-PORT", "SLE", "STARTTLS", "KERMIT",
 	0
 };
 #define	TELOPT_FIRST	TELOPT_BINARY

==== //depot/projects/hammer/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#13 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.17 2008/04/29 17:47:25 jhb Exp $ */
+/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.18 2008/09/14 16:52:42 marcel Exp $ */
 /* FreeBSD libthread_db assisted debugging support.
    Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
 
@@ -710,7 +710,7 @@
           error ("Cannot get thread event message: %s",
 		 thread_db_err_str (err));
         }
-      err = td_thr_get_info_p (msg.th_p, &ti);
+      err = td_thr_get_info_p ((void *)(uintptr_t)msg.th_p, &ti);
       if (err != TD_OK)
         error ("Cannot get thread info: %s", thread_db_err_str (err));
       ptid = BUILD_THREAD (ti.ti_tid, GET_PID (ptid));
@@ -720,7 +720,7 @@
           /* We may already know about this thread, for instance when the
              user has issued the `info threads' command before the SIGTRAP
              for hitting the thread creation breakpoint was reported.  */
-          attach_thread (ptid, msg.th_p, &ti, 1);
+          attach_thread (ptid, (void *)(uintptr_t)msg.th_p, &ti, 1);
           break;
        case TD_DEATH:
          if (!in_thread_list (ptid))
@@ -1178,13 +1178,14 @@
 
       if (ti.ti_lid != 0)
         {
-          snprintf (buf, sizeof (buf), "Thread %p (LWP %d)",
-                    th.th_thread, ti.ti_lid);
+          snprintf (buf, sizeof (buf), "Thread %llx (LWP %d)",
+                    (unsigned long long)th.th_thread, ti.ti_lid);
         }
       else
         {
-          snprintf (buf, sizeof (buf), "Thread %p (%s)",
-                    th.th_thread, thread_db_state_str (ti.ti_state));
+          snprintf (buf, sizeof (buf), "Thread %llx (%s)",
+		    (unsigned long long)th.th_thread,
+		    thread_db_state_str (ti.ti_state));
         }
 
       return buf;

==== //depot/projects/hammer/include/arpa/telnet.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)telnet.h	8.2 (Berkeley) 12/15/93
- * $FreeBSD: src/include/arpa/telnet.h,v 1.9 2003/01/18 06:13:57 billf Exp $
+ * $FreeBSD: src/include/arpa/telnet.h,v 1.10 2008/09/13 17:46:50 antoine Exp $
  */
 
 #ifndef _ARPA_TELNET_H_
@@ -140,8 +140,8 @@
 	"TACACS UID", "OUTPUT MARKING", "TTYLOC",
 	"3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW",
 	"LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION",
-	"ENCRYPT", "NEW-ENVIRON", "TN3270E", "CHARSET", "COM-PORT",
-	"KERMIT",
+	"ENCRYPT", "NEW-ENVIRON", "TN3270E", "XAUTH", "CHARSET",
+	"RSP", "COM-PORT", "SLE", "STARTTLS", "KERMIT",
 	0
 };
 #define	TELOPT_FIRST	TELOPT_BINARY

==== //depot/projects/hammer/lib/libarchive/archive_platform.h#22 (text+ko) ====

@@ -22,7 +22,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/libarchive/archive_platform.h,v 1.30 2008/05/26 17:00:22 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive_platform.h,v 1.31 2008/09/12 04:03:34 kientzle Exp $
  */
 
 /*
@@ -78,6 +78,9 @@
 #if !HAVE_DECL_SIZE_MAX
 #define	SIZE_MAX (~(size_t)0)
 #endif
+#if !HAVE_DECL_SSIZE_MAX
+#define	SSIZE_MAX ((ssize_t)(SIZE_MAX >> 1))
+#endif
 #if !HAVE_DECL_UINT32_MAX
 #define	UINT32_MAX (~(uint32_t)0)
 #endif

==== //depot/projects/hammer/lib/libarchive/archive_read_support_compression_program.c#5 (text+ko) ====

@@ -24,13 +24,15 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.4 2008/06/15 10:45:57 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.5 2008/09/12 03:53:54 kientzle Exp $");
 
 
 /* This capability is only available on POSIX systems. */
 #if !defined(HAVE_PIPE) || !defined(HAVE_FCNTL) || \
     !(defined(HAVE_FORK) || defined(HAVE_VFORK))
 
+#include "archive.h"
+
 /*
  * On non-Posix systems, allow the program to build, but choke if
  * this function is actually invoked.

==== //depot/projects/hammer/lib/libarchive/archive_write_disk.c#17 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.36 2008/09/07 05:22:33 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.39 2008/09/14 05:51:25 kientzle Exp $");
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -514,9 +514,15 @@
 	}
 
 	if (a->flags & ARCHIVE_EXTRACT_SPARSE) {
+#if HAVE_STRUCT_STAT_ST_BLKSIZE
 		if ((r = _archive_write_disk_lazy_stat(a)) != ARCHIVE_OK)
 			return (r);
 		block_size = a->pst->st_blksize;
+#else
+		/* XXX TODO XXX Is there a more appropriate choice here ? */
+		/* This needn't match the filesystem allocation size. */
+		block_size = 16*1024;
+#endif
 	}
 
 	if (a->filesize >= 0 && (off_t)(offset + size) > a->filesize)
@@ -631,12 +637,14 @@
 		/* Last write ended at exactly the filesize; we're done. */
 		/* Hopefully, this is the common case. */
 	} else {
+#if HAVE_FTRUNCATE
 		if (ftruncate(a->fd, a->filesize) == -1 &&
 		    a->filesize == 0) {
 			archive_set_error(&a->archive, errno,
 			    "File size could not be restored");
 			return (ARCHIVE_FAILED);
 		}
+#endif
 		/*
 		 * Explicitly stat the file as some platforms might not
 		 * implement the XSI option to extend files via ftruncate.
@@ -1955,7 +1963,10 @@
 }
 
 
-#if ( defined(HAVE_LCHFLAGS) || defined(HAVE_CHFLAGS) || defined(HAVE_FCHFLAGS) ) && !defined(__linux)
+#if ( defined(HAVE_LCHFLAGS) || defined(HAVE_CHFLAGS) || defined(HAVE_FCHFLAGS) ) && defined(HAVE_STRUCT_STAT_ST_FLAGS)
+/*
+ * BSD reads flags using stat() and sets them with one of {f,l,}chflags()
+ */
 static int
 set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
     mode_t mode, unsigned long set, unsigned long clear)
@@ -2004,11 +2015,9 @@
 	return (ARCHIVE_WARN);
 }
 
-#elif defined(__linux) && defined(EXT2_IOC_GETFLAGS) && defined(EXT2_IOC_SETFLAGS)
-
+#elif defined(EXT2_IOC_GETFLAGS) && defined(EXT2_IOC_SETFLAGS)
 /*
- * Linux has flags too, but uses ioctl() to access them instead of
- * having a separate chflags() system call.
+ * Linux uses ioctl() to read and write file flags.
  */
 static int
 set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
@@ -2076,7 +2085,7 @@
 	return (ret);
 }
 
-#else /* Not HAVE_CHFLAGS && Not __linux */
+#else
 
 /*
  * Of course, some systems have neither BSD chflags() nor Linux' flags

==== //depot/projects/hammer/lib/libarchive/config_freebsd.h#10 (text+ko) ====

@@ -22,7 +22,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/libarchive/config_freebsd.h,v 1.11 2008/07/05 01:50:07 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/config_freebsd.h,v 1.14 2008/09/14 05:51:25 kientzle Exp $
  */
 
 /* FreeBSD 5.0 and later have ACL support. */
@@ -41,6 +41,7 @@
 #define	HAVE_DECL_INT64_MAX 1
 #define	HAVE_DECL_INT64_MIN 1
 #define	HAVE_DECL_SIZE_MAX 1
+#define	HAVE_DECL_SSIZE_MAX 1
 #define	HAVE_DECL_STRERROR_R 1
 #define	HAVE_DECL_UINT32_MAX 1
 #define	HAVE_DECL_UINT64_MAX 1
@@ -55,6 +56,7 @@
 #define	HAVE_FCNTL_H 1
 #define	HAVE_FSEEKO 1
 #define	HAVE_FSTAT 1
+#define	HAVE_FTRUNCATE 1
 #define	HAVE_FUTIMES 1
 #define	HAVE_GETEUID 1
 #define	HAVE_GETPID 1
@@ -86,6 +88,8 @@
 #define	HAVE_STRINGS_H 1
 #define	HAVE_STRING_H 1
 #define	HAVE_STRRCHR 1
+#define	HAVE_STRUCT_STAT_ST_BLKSIZE 1
+#define	HAVE_STRUCT_STAT_ST_FLAGS 1
 #define	HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
 #define	HAVE_SYS_ACL_H 1
 #define	HAVE_SYS_IOCTL_H 1

==== //depot/projects/hammer/lib/libarchive/filter_fork.c#5 (text+ko) ====

@@ -29,7 +29,7 @@
 #if defined(HAVE_PIPE) && defined(HAVE_FCNTL) && \
     (defined(HAVE_FORK) || defined(HAVE_VFORK))
 
-__FBSDID("$FreeBSD: src/lib/libarchive/filter_fork.c,v 1.4 2008/06/15 10:45:57 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/filter_fork.c,v 1.5 2008/09/12 05:33:00 kientzle Exp $");
 
 #if defined(HAVE_POLL)
 #  if defined(HAVE_POLL_H)
@@ -61,7 +61,7 @@
 
 	if (pipe(stdin_pipe) == -1)
 		goto state_allocated;
-	if (stdin_pipe[0] == STDOUT_FILENO) {
+	if (stdin_pipe[0] == 1 /* stdout */) {
 		if ((tmp = dup(stdin_pipe[0])) == -1)
 			goto stdin_opened;
 		close(stdin_pipe[0]);
@@ -69,7 +69,7 @@
 	}
 	if (pipe(stdout_pipe) == -1)
 		goto stdin_opened;
-	if (stdout_pipe[1] == STDIN_FILENO) {
+	if (stdout_pipe[1] == 0 /* stdin */) {
 		if ((tmp = dup(stdout_pipe[1])) == -1)
 			goto stdout_opened;
 		close(stdout_pipe[1]);
@@ -86,16 +86,16 @@
 	case 0:
 		close(stdin_pipe[1]);
 		close(stdout_pipe[0]);
-		if (dup2(stdin_pipe[0], STDIN_FILENO) == -1)
+		if (dup2(stdin_pipe[0], 0 /* stdin */) == -1)
 			_exit(254);
-		if (stdin_pipe[0] != STDIN_FILENO)
+		if (stdin_pipe[0] != 0 /* stdin */)
 			close(stdin_pipe[0]);
-		if (dup2(stdout_pipe[1], STDOUT_FILENO) == -1)
+		if (dup2(stdout_pipe[1], 1 /* stdout */) == -1)
 			_exit(254);
-		if (stdout_pipe[1] != STDOUT_FILENO)
+		if (stdout_pipe[1] != 1 /* stdout */)
 			close(stdout_pipe[1]);
 		execlp(path, path, (char *)NULL);
-		_exit(254);		
+		_exit(254);
 	default:
 		close(stdin_pipe[0]);
 		close(stdout_pipe[1]);

==== //depot/projects/hammer/lib/libthr/thread/thr_event.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_event.c,v 1.2 2006/09/06 04:04:10 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_event.c,v 1.3 2008/09/14 16:07:21 marcel Exp $
  */
 
 #include "thr_private.h"
@@ -42,7 +42,7 @@
 _thr_report_creation(struct pthread *curthread, struct pthread *newthread)
 {
 	curthread->event_buf.event = TD_CREATE;
-	curthread->event_buf.th_p = (td_thrhandle_t *)newthread;
+	curthread->event_buf.th_p = (uintptr_t)newthread;
 	curthread->event_buf.data = 0;
 	THR_UMUTEX_LOCK(curthread, &_thr_event_lock);
 	_thread_last_event = curthread;
@@ -55,7 +55,7 @@
 _thr_report_death(struct pthread *curthread)
 {
 	curthread->event_buf.event = TD_DEATH;
-	curthread->event_buf.th_p = (td_thrhandle_t *)curthread;
+	curthread->event_buf.th_p = (uintptr_t)curthread;
 	curthread->event_buf.data = 0;
 	THR_UMUTEX_LOCK(curthread, &_thr_event_lock);
 	_thread_last_event = curthread;

==== //depot/projects/hammer/lib/libthread_db/libpthread_db.c#12 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.19 2008/08/06 03:14:18 marcel Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.20 2008/09/14 16:52:42 marcel Exp $");
 
 #include <stddef.h>
 #include <stdlib.h>
@@ -220,7 +220,6 @@
 pt_ta_map_id2thr(const td_thragent_t *ta, thread_t id, td_thrhandle_t *th)
 {
 	prgregset_t gregs;
-	TAILQ_HEAD(, pthread) thread_list;
 	psaddr_t pt, tcb_addr;
 	lwpid_t lwp;
 	int ret;
@@ -229,27 +228,24 @@
 
 	if (id < 0 || id >= ta->map_len || ta->map[id].type == PT_NONE)
 		return (TD_NOTHR);
-	ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list,
-			sizeof(thread_list));
+
+	ret = thr_pread_ptr(ta, ta->thread_list_addr, &pt);
 	if (ret != 0)
-		return (P2T(ret));
-	pt = (psaddr_t)thread_list.tqh_first;
+		return (TD_ERR);
 	if (ta->map[id].type == PT_LWP) {
 		/*
 		 * if we are referencing a lwp, make sure it was not already
 		 * mapped to user thread.
 		 */
 		while (pt != 0) {
-			ret = ps_pread(ta->ph, pt + ta->thread_off_tcb,
-			        &tcb_addr, sizeof(tcb_addr));
+			ret = thr_pread_ptr(ta, pt + ta->thread_off_tcb,
+			    &tcb_addr);
 			if (ret != 0)
-				return (P2T(ret));
-			ret = ps_pread(ta->ph,
-			        tcb_addr + ta->thread_off_tmbx + 
-				offsetof(struct kse_thr_mailbox, tm_lwp),
-				&lwp, sizeof(lwp));
+				return (TD_ERR);
+			ret = thr_pread_int(ta, tcb_addr + ta->thread_off_tmbx +
+			    offsetof(struct kse_thr_mailbox, tm_lwp), &lwp);
 			if (ret != 0)
-				return (P2T(ret));
+				return (TD_ERR);
 			/*
 			 * If the lwp was already mapped to userland thread,
 			 * we shouldn't reference it directly in future.
@@ -259,11 +255,9 @@
 				return (TD_NOTHR);
 			}
 			/* get next thread */
-			ret = ps_pread(ta->ph,
-			        pt + ta->thread_off_next,
-			        &pt, sizeof(pt));
+			ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
 			if (ret != 0)
-				return (P2T(ret));
+				return (TD_ERR);
 		}
 		/* check lwp */
 		ret = ps_lgetregs(ta->ph, ta->map[id].lwp, gregs);
@@ -274,17 +268,14 @@
 		}
 	} else {
 		while (pt != 0 && ta->map[id].thr != pt) {
-			ret = ps_pread(ta->ph,
-				pt + ta->thread_off_tcb,
-				&tcb_addr, sizeof(tcb_addr));
+			ret = thr_pread_ptr(ta, pt + ta->thread_off_tcb,
+			    &tcb_addr);
 			if (ret != 0)
-				return (P2T(ret));
+				return (TD_ERR);
 			/* get next thread */
-			ret = ps_pread(ta->ph,
-				pt + ta->thread_off_next,
-				&pt, sizeof(pt));
+			ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
 			if (ret != 0)
-				return (P2T(ret));
+				return (TD_ERR);
 		}
 
 		if (pt == 0) {
@@ -302,29 +293,24 @@
 static td_err_e
 pt_ta_map_lwp2thr(const td_thragent_t *ta, lwpid_t lwp, td_thrhandle_t *th)
 {
-	TAILQ_HEAD(, pthread) thread_list;
-	psaddr_t pt, ptr;
-	lwpid_t tmp_lwp;
+	psaddr_t pt, tcb_addr;
+	lwpid_t lwp1;
 	int ret;
-	
+
 	TDBG_FUNC();
 
-	ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list,
-	                sizeof(thread_list));
+	ret = thr_pread_ptr(ta, ta->thread_list_addr, &pt);
 	if (ret != 0)
-		return (P2T(ret));
-	pt = (psaddr_t)thread_list.tqh_first;
+		return (TD_ERR);
 	while (pt != 0) {
-		ret = ps_pread(ta->ph, pt + ta->thread_off_tcb,
-				&ptr, sizeof(ptr));
+		ret = thr_pread_ptr(ta, pt + ta->thread_off_tcb, &tcb_addr);
 		if (ret != 0)
-			return (P2T(ret));
-		ptr += ta->thread_off_tmbx +
-		       offsetof(struct kse_thr_mailbox, tm_lwp);
-		ret = ps_pread(ta->ph, ptr, &tmp_lwp, sizeof(lwpid_t));
+			return (TD_ERR);
+		ret = thr_pread_int(ta, tcb_addr + ta->thread_off_tmbx +
+		    offsetof(struct kse_thr_mailbox, tm_lwp), &lwp1);
 		if (ret != 0)
-			return (P2T(ret));
-		if (tmp_lwp == lwp) {
+			return (TD_ERR);
+		if (lwp1 == lwp) {
 			th->th_ta = ta;
 			th->th_tid = pt_map_thread(ta, pt, PT_USER);
 			if (th->th_tid == -1)
@@ -335,11 +321,9 @@
 		}
 
 		/* get next thread */
-		ret = ps_pread(ta->ph,
-		           pt + ta->thread_off_next,
-		           &pt, sizeof(pt));
+		ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
 		if (ret != 0)
-			return (P2T(ret));
+			return (TD_ERR);
 	}
 
 	return (TD_NOTHR);
@@ -350,11 +334,10 @@
     void *cbdata_p, td_thr_state_e state __unused, int ti_pri __unused,
     sigset_t *ti_sigmask_p __unused, unsigned int ti_user_flags __unused)
 {
-	TAILQ_HEAD(, pthread) thread_list;
 	td_thrhandle_t th;
 	psaddr_t pt;
 	ps_err_e pserr;
-	int activated;
+	int activated, ret;
 
 	TDBG_FUNC();
 
@@ -365,11 +348,9 @@
 	if (!activated)
 		return (TD_OK);
 
-	pserr = ps_pread(ta->ph, ta->thread_list_addr, &thread_list,
-	    sizeof(thread_list));
-	if (pserr != 0)
-		return (P2T(pserr));
-	pt = (psaddr_t)thread_list.tqh_first;
+	ret = thr_pread_ptr(ta, ta->thread_list_addr, &pt);
+	if (ret != 0)
+		return (TD_ERR);
 	while (pt != 0) {
 		th.th_ta = ta;
 		th.th_tid = pt_map_thread(ta, pt, PT_USER);
@@ -380,11 +361,9 @@
 		if ((*callback)(&th, cbdata_p))
 			return (TD_DBERR);
 		/* get next thread */
-		pserr = ps_pread(ta->ph,
-		    pt + ta->thread_off_next, &pt,
-		    sizeof(pt));
-		if (pserr != PS_OK)
-			return (P2T(pserr));
+		ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
+		if (ret != 0)
+			return (TD_ERR);
 	}
 	return (TD_OK);
 }

==== //depot/projects/hammer/lib/libthread_db/libthr_db.c#11 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.15 2008/08/06 03:14:18 marcel Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.16 2008/09/14 16:52:42 marcel Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
@@ -201,34 +201,28 @@
 static td_err_e
 pt_ta_map_id2thr(const td_thragent_t *ta, thread_t id, td_thrhandle_t *th)
 {
-	TAILQ_HEAD(, pthread) thread_list;
 	psaddr_t pt;
-	long lwp;
+	int32_t lwp;
 	int ret;
 
 	TDBG_FUNC();
 
 	if (id == 0)
 		return (TD_NOTHR);
-	ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list,
-		sizeof(thread_list));
+	ret = thr_pread_ptr(ta, ta->thread_list_addr, &pt);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	/* Iterate through thread list to find pthread */
-	pt = (psaddr_t)thread_list.tqh_first;
 	while (pt != 0) {
-		ret = ps_pread(ta->ph, pt + ta->thread_off_tid,
-			       &lwp, sizeof(lwp));
+		ret = thr_pread_int(ta, pt + ta->thread_off_tid, &lwp);
 		if (ret != 0)
-			return (P2T(ret));
+			return (TD_ERR);
 		if (lwp == id)
 			break;
 		/* get next thread */
-		ret = ps_pread(ta->ph,
-				pt + ta->thread_off_next,
-				&pt, sizeof(pt));
+		ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
 		if (ret != 0)
-			return (P2T(ret));
+			return (TD_ERR);
 	}
 	if (pt == 0)
 		return (TD_NOTHR);
@@ -249,24 +243,20 @@
     void *cbdata_p, td_thr_state_e state __unused, int ti_pri __unused,
     sigset_t *ti_sigmask_p __unused, unsigned int ti_user_flags __unused)
 {
-	TAILQ_HEAD(, pthread) thread_list;
 	td_thrhandle_t th;
 	psaddr_t pt;
-	long lwp;
+	int32_t lwp;
 	int ret;
 
 	TDBG_FUNC();
 
-	ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list,
-		       sizeof(thread_list));
+	ret = thr_pread_ptr(ta, ta->thread_list_addr, &pt);
 	if (ret != 0)
-		return (P2T(ret));
-	pt = (psaddr_t)thread_list.tqh_first;
+		return (TD_ERR);
 	while (pt != 0) {
-		ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp,
-			      sizeof(lwp));
+		ret = thr_pread_int(ta, pt + ta->thread_off_tid, &lwp);
 		if (ret != 0)
-			return (P2T(ret));
+			return (TD_ERR);
 		if (lwp != 0 && lwp != TERMINATED) {
 			th.th_ta = ta;
 			th.th_tid = (thread_t)lwp;
@@ -275,10 +265,9 @@
 				return (TD_DBERR);
 		}
 		/* get next thread */
-		ret = ps_pread(ta->ph, pt + ta->thread_off_next, &pt,
-			       sizeof(pt));
+		ret = thr_pread_ptr(ta, pt + ta->thread_off_next, &pt);
 		if (ret != 0)
-			return (P2T(ret));
+			return (TD_ERR);
 	}
 	return (TD_OK);
 }
@@ -377,24 +366,23 @@
 {
 	static td_thrhandle_t handle;
 
-	psaddr_t pt, pt_temp;
+	psaddr_t pt;
 	td_thr_events_e	tmp;
-	long lwp;
+	int32_t lwp;
 	int ret;
 
 	TDBG_FUNC();
 
-	ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt, sizeof(pt));
+	ret = thr_pread_ptr(ta, ta->thread_last_event_addr, &pt);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	if (pt == 0)
 		return (TD_NOMSG);
 	/*
 	 * Take the event pointer, at the time, libthr only reports event
 	 * once a time, so it is not a link list.
 	 */
-	pt_temp = 0;
-	ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp));
+	thr_pwrite_ptr(ta, ta->thread_last_event_addr, 0);
 
 	/* Read event info */
 	ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg));
@@ -406,14 +394,14 @@
 	tmp = 0;
 	ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp));
 	/* Convert event */
-	pt = (psaddr_t)msg->th_p;
-	ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp));
+	pt = msg->th_p;
+	ret = thr_pread_int(ta, pt + ta->thread_off_tid, &lwp);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	handle.th_ta = ta;
 	handle.th_tid = lwp;
 	handle.th_thread = pt;
-	msg->th_p = &handle;
+	msg->th_p = (uintptr_t)&handle;
 	return (0);
 }
 
@@ -478,14 +466,13 @@
 	ret = pt_validate(th);
 	if (ret)
 		return (ret);
-	ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_state,
-	               &state, sizeof(state));
+	ret = thr_pread_int(ta, th->th_thread + ta->thread_off_state, &state);
 	if (ret != 0)
-		return (P2T(ret));
-	ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_report_events,
-		&info->ti_traceme, sizeof(int));
+		return (TD_ERR);
+	ret = thr_pread_int(ta, th->th_thread + ta->thread_off_report_events,
+	    &info->ti_traceme);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_event_mask,
 		&info->ti_events, sizeof(td_thr_events_t));
 	if (ret != 0)
@@ -662,15 +649,15 @@
 	static td_thrhandle_t handle;
 	const td_thragent_t *ta = th->th_ta;
 	psaddr_t pt, pt_temp;
-	long lwp;
+	int32_t lwp;
 	int ret;
 	td_thr_events_e	tmp;
 
 	TDBG_FUNC();
 	pt = th->th_thread;
-	ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp));
+	ret = thr_pread_ptr(ta, ta->thread_last_event_addr, &pt_temp);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	/* Get event */
 	ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg));
 	if (ret != 0)
@@ -681,22 +668,21 @@
 	 * Take the event pointer, at the time, libthr only reports event
 	 * once a time, so it is not a link list.
 	 */
-	if (pt == pt_temp) {
-		pt_temp = 0;
-		ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp));
-	}
+	if (pt == pt_temp)
+		thr_pwrite_ptr(ta, ta->thread_last_event_addr, 0);
+
 	/* Clear event */
 	tmp = 0;
 	ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp));
 	/* Convert event */
-	pt = (psaddr_t)msg->th_p;
-	ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp));
+	pt = msg->th_p;
+	ret = thr_pread_int(ta, pt + ta->thread_off_tid, &lwp);
 	if (ret != 0)
-		return (P2T(ret));
+		return (TD_ERR);
 	handle.th_ta = ta;
 	handle.th_tid = lwp;
 	handle.th_thread = pt;
-	msg->th_p = &handle;
+	msg->th_p = (uintptr_t)&handle;
 	return (0);
 }
 

==== //depot/projects/hammer/lib/libthread_db/thread_db.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.8 2008/07/31 20:25:52 marcel Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.9 2008/09/14 16:52:42 marcel Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
@@ -324,7 +324,7 @@
 }
 
 int
-thr_pread_int(struct td_thragent *ta, psaddr_t addr, uint32_t *val)
+thr_pread_int(const struct td_thragent *ta, psaddr_t addr, uint32_t *val)
 {
 	uint64_t tmp;
 	int error;
@@ -337,17 +337,23 @@
 }
 
 int
-thr_pread_long(struct td_thragent *ta, psaddr_t addr, uint64_t *val)
+thr_pread_long(const struct td_thragent *ta, psaddr_t addr, uint64_t *val)
 {
 
 	return (thr_pread(ta->ph, addr, val, sizeof(long), BYTE_ORDER));
 }
 
 int
-thr_pread_ptr(struct td_thragent *ta, psaddr_t addr, uint64_t *val)
+thr_pread_ptr(const struct td_thragent *ta, psaddr_t addr, psaddr_t *val)
 {
+	uint64_t tmp;
+	int error;
+
+	error = thr_pread(ta->ph, addr, &tmp, sizeof(void *), BYTE_ORDER);
+	if (!error)
+		*val = tmp;
 
-	return (thr_pread(ta->ph, addr, val, sizeof(void *), BYTE_ORDER));
+	return (error);
 }
 
 static int
@@ -406,21 +412,21 @@
 }
 
 int
-thr_pwrite_int(struct td_thragent *ta, psaddr_t addr, uint32_t val)
+thr_pwrite_int(const struct td_thragent *ta, psaddr_t addr, uint32_t val)
 {
 
 	return (thr_pwrite(ta->ph, addr, val, sizeof(int), BYTE_ORDER));
 }
 
 int
-thr_pwrite_long(struct td_thragent *ta, psaddr_t addr, uint64_t val)
+thr_pwrite_long(const struct td_thragent *ta, psaddr_t addr, uint64_t val)
 {
 
 	return (thr_pwrite(ta->ph, addr, val, sizeof(long), BYTE_ORDER));
 }
 
 int
-thr_pwrite_ptr(struct td_thragent *ta, psaddr_t addr, uint64_t val)
+thr_pwrite_ptr(const struct td_thragent *ta, psaddr_t addr, psaddr_t val)
 {
 
 	return (thr_pwrite(ta->ph, addr, val, sizeof(void *), BYTE_ORDER));

==== //depot/projects/hammer/lib/libthread_db/thread_db.h#7 (text+ko) ====

@@ -24,7 +24,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/libthread_db/thread_db.h,v 1.8 2008/08/13 00:03:35 marcel Exp $
+ * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.9 2008/09/14 16:52:42 marcel Exp $
  */
 
 #ifndef _THREAD_DB_H_
@@ -95,7 +95,7 @@
 
 typedef struct {
 	td_thr_events_e	event;

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


More information about the p4-projects mailing list