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