svn commit: r284188 - in projects/clang-trunk: . bin/chmod bin/cp bin/ls cddl/contrib/opensolaris/lib/libdtrace/common contrib/dtc contrib/mdocml contrib/top etc games/grdc lib/libc/aarch64/gen lib...
Dimitry Andric
dim at FreeBSD.org
Tue Jun 9 19:14:33 UTC 2015
Author: dim
Date: Tue Jun 9 19:14:27 2015
New Revision: 284188
URL: https://svnweb.freebsd.org/changeset/base/284188
Log:
Merged ^/head r283871 through r284187.
Added:
projects/clang-trunk/contrib/top/top.local.hs
- copied unchanged from r284187, head/contrib/top/top.local.hs
projects/clang-trunk/contrib/top/top.xs
- copied unchanged from r284187, head/contrib/top/top.xs
projects/clang-trunk/release/arm/CUBOX-HUMMINGBOARD.conf
- copied unchanged from r284187, head/release/arm/CUBOX-HUMMINGBOARD.conf
projects/clang-trunk/release/arm/GUMSTIX.conf
- copied unchanged from r284187, head/release/arm/GUMSTIX.conf
projects/clang-trunk/sys/arm/ti/am335x/tps65217x.h
- copied unchanged from r284187, head/sys/arm/ti/am335x/tps65217x.h
projects/clang-trunk/sys/dev/ixl/i40e_devids.h
- copied unchanged from r284187, head/sys/dev/ixl/i40e_devids.h
projects/clang-trunk/sys/dev/proto/proto_busdma.c
- copied unchanged from r284187, head/sys/dev/proto/proto_busdma.c
projects/clang-trunk/sys/dev/proto/proto_busdma.h
- copied unchanged from r284187, head/sys/dev/proto/proto_busdma.h
projects/clang-trunk/sys/dev/usb/template/usb_template_midi.c
- copied unchanged from r284187, head/sys/dev/usb/template/usb_template_midi.c
projects/clang-trunk/sys/modules/geom/geom_map/
- copied from r284187, head/sys/modules/geom/geom_map/
projects/clang-trunk/tools/bus_space/busdma.c
- copied unchanged from r284187, head/tools/bus_space/busdma.c
projects/clang-trunk/tools/bus_space/busdma.h
- copied unchanged from r284187, head/tools/bus_space/busdma.h
projects/clang-trunk/usr.sbin/pw/tests/pw-modified.conf
- copied unchanged from r284187, head/usr.sbin/pw/tests/pw-modified.conf
projects/clang-trunk/usr.sbin/pw/tests/pw.conf
- copied unchanged from r284187, head/usr.sbin/pw/tests/pw.conf
projects/clang-trunk/usr.sbin/pw/tests/pw_config.sh
- copied unchanged from r284187, head/usr.sbin/pw/tests/pw_config.sh
Deleted:
projects/clang-trunk/contrib/top/top.X
projects/clang-trunk/contrib/top/top.local.H
Modified:
projects/clang-trunk/UPDATING
projects/clang-trunk/bin/chmod/chmod.c
projects/clang-trunk/bin/cp/cp.1
projects/clang-trunk/bin/cp/cp.c
projects/clang-trunk/bin/cp/extern.h
projects/clang-trunk/bin/cp/utils.c
projects/clang-trunk/bin/ls/ls.c
projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h
projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c
projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h
projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c
projects/clang-trunk/contrib/dtc/checks.c
projects/clang-trunk/contrib/mdocml/read.c
projects/clang-trunk/etc/Makefile
projects/clang-trunk/games/grdc/grdc.c
projects/clang-trunk/lib/libc/aarch64/gen/setjmp.S
projects/clang-trunk/lib/libc/string/strchr.3
projects/clang-trunk/lib/libdevstat/devstat.c
projects/clang-trunk/lib/libdpv/dprompt.c
projects/clang-trunk/lib/libedit/edit/readline/readline.h
projects/clang-trunk/lib/libedit/readline.c
projects/clang-trunk/lib/libgssapi/gss_accept_sec_context.c
projects/clang-trunk/lib/libugidfw/ugidfw.c
projects/clang-trunk/lib/libutil/pw_util.3
projects/clang-trunk/release/Makefile.ec2
projects/clang-trunk/release/arm/BEAGLEBONE.conf
projects/clang-trunk/release/arm/WANDBOARD.conf
projects/clang-trunk/release/tools/arm.subr
projects/clang-trunk/sbin/badsect/Makefile
projects/clang-trunk/sbin/camcontrol/camcontrol.c
projects/clang-trunk/sbin/camcontrol/persist.c
projects/clang-trunk/share/doc/papers/bufbio/bio.ms
projects/clang-trunk/share/examples/bhyve/vmrun.sh
projects/clang-trunk/share/man/man4/em.4
projects/clang-trunk/share/man/man4/geom.4
projects/clang-trunk/share/man/man4/geom_map.4
projects/clang-trunk/share/man/man4/gre.4
projects/clang-trunk/share/man/man8/Makefile
projects/clang-trunk/share/misc/committers-ports.dot
projects/clang-trunk/share/mk/bsd.lib.mk
projects/clang-trunk/share/mk/bsd.mkopt.mk
projects/clang-trunk/sys/amd64/amd64/initcpu.c
projects/clang-trunk/sys/amd64/amd64/pmap.c
projects/clang-trunk/sys/amd64/include/md_var.h
projects/clang-trunk/sys/amd64/include/vmparam.h
projects/clang-trunk/sys/amd64/linux/linux_support.s
projects/clang-trunk/sys/amd64/vmm/amd/svm.c
projects/clang-trunk/sys/amd64/vmm/intel/vmx.c
projects/clang-trunk/sys/amd64/vmm/intel/vmx.h
projects/clang-trunk/sys/amd64/vmm/intel/vmx_msr.c
projects/clang-trunk/sys/amd64/vmm/vmm_instruction_emul.c
projects/clang-trunk/sys/arm/arm/cpu_asm-v6.S
projects/clang-trunk/sys/arm/arm/elf_trampoline.c
projects/clang-trunk/sys/arm/arm/exception.S
projects/clang-trunk/sys/arm/arm/genassym.c
projects/clang-trunk/sys/arm/arm/machdep.c
projects/clang-trunk/sys/arm/arm/mp_machdep.c
projects/clang-trunk/sys/arm/arm/pmap-v6-new.c
projects/clang-trunk/sys/arm/arm/stack_machdep.c
projects/clang-trunk/sys/arm/arm/swtch.S
projects/clang-trunk/sys/arm/arm/sys_machdep.c
projects/clang-trunk/sys/arm/arm/trap-v6.c
projects/clang-trunk/sys/arm/arm/vfp.c
projects/clang-trunk/sys/arm/arm/vm_machdep.c
projects/clang-trunk/sys/arm/broadcom/bcm2835/bcm2835_spi.c
projects/clang-trunk/sys/arm/freescale/imx/imx6_sdma.c
projects/clang-trunk/sys/arm/include/pcpu.h
projects/clang-trunk/sys/arm/include/vmparam.h
projects/clang-trunk/sys/arm/ti/am335x/am335x_pmic.c
projects/clang-trunk/sys/arm64/arm64/exception.S
projects/clang-trunk/sys/arm64/include/vmparam.h
projects/clang-trunk/sys/boot/forth/support.4th
projects/clang-trunk/sys/boot/userboot/userboot/conf.c
projects/clang-trunk/sys/boot/zfs/zfsimpl.c
projects/clang-trunk/sys/cam/ctl/ctl.c
projects/clang-trunk/sys/cam/ctl/scsi_ctl.c
projects/clang-trunk/sys/cddl/compat/opensolaris/sys/nvpair.h
projects/clang-trunk/sys/compat/linprocfs/linprocfs.c
projects/clang-trunk/sys/compat/linux/linux_emul.c
projects/clang-trunk/sys/compat/linux/linux_socket.c
projects/clang-trunk/sys/conf/NOTES
projects/clang-trunk/sys/conf/files
projects/clang-trunk/sys/conf/options
projects/clang-trunk/sys/contrib/dev/acpica/common/ahuuids.c
projects/clang-trunk/sys/contrib/dev/acpica/include/acuuid.h
projects/clang-trunk/sys/dev/ahci/ahci.h
projects/clang-trunk/sys/dev/aic7xxx/aic79xx_pci.c
projects/clang-trunk/sys/dev/cxgbe/t4_netmap.c
projects/clang-trunk/sys/dev/drm/drmP.h
projects/clang-trunk/sys/dev/drm/drm_agpsupport.c
projects/clang-trunk/sys/dev/drm/drm_bufs.c
projects/clang-trunk/sys/dev/drm/drm_drv.c
projects/clang-trunk/sys/dev/drm/drm_irq.c
projects/clang-trunk/sys/dev/drm/i915_drv.c
projects/clang-trunk/sys/dev/drm/mach64_drv.c
projects/clang-trunk/sys/dev/drm/mga_drv.c
projects/clang-trunk/sys/dev/drm/r128_drv.c
projects/clang-trunk/sys/dev/drm/radeon_drv.c
projects/clang-trunk/sys/dev/drm/savage_drv.c
projects/clang-trunk/sys/dev/drm/sis_drv.c
projects/clang-trunk/sys/dev/drm/tdfx_drv.c
projects/clang-trunk/sys/dev/drm2/drm_bufs.c
projects/clang-trunk/sys/dev/dwc/if_dwc.c
projects/clang-trunk/sys/dev/e1000/e1000_defines.h
projects/clang-trunk/sys/dev/e1000/if_em.c
projects/clang-trunk/sys/dev/e1000/if_em.h
projects/clang-trunk/sys/dev/hwpmc/hwpmc_mod.c
projects/clang-trunk/sys/dev/iwi/if_iwi.c
projects/clang-trunk/sys/dev/iwn/if_iwn.c
projects/clang-trunk/sys/dev/ixgbe/if_ix.c
projects/clang-trunk/sys/dev/ixgbe/if_ixv.c
projects/clang-trunk/sys/dev/ixgbe/ix_txrx.c
projects/clang-trunk/sys/dev/ixgbe/ixgbe.h
projects/clang-trunk/sys/dev/ixgbe/ixgbe_mbx.h
projects/clang-trunk/sys/dev/ixgbe/ixgbe_vf.c
projects/clang-trunk/sys/dev/ixl/i40e_adminq.c
projects/clang-trunk/sys/dev/ixl/i40e_adminq.h
projects/clang-trunk/sys/dev/ixl/i40e_adminq_cmd.h
projects/clang-trunk/sys/dev/ixl/i40e_common.c
projects/clang-trunk/sys/dev/ixl/i40e_hmc.c
projects/clang-trunk/sys/dev/ixl/i40e_hmc.h
projects/clang-trunk/sys/dev/ixl/i40e_lan_hmc.c
projects/clang-trunk/sys/dev/ixl/i40e_nvm.c
projects/clang-trunk/sys/dev/ixl/i40e_osdep.h
projects/clang-trunk/sys/dev/ixl/i40e_prototype.h
projects/clang-trunk/sys/dev/ixl/i40e_register.h
projects/clang-trunk/sys/dev/ixl/i40e_type.h
projects/clang-trunk/sys/dev/ixl/i40e_virtchnl.h
projects/clang-trunk/sys/dev/ixl/if_ixl.c
projects/clang-trunk/sys/dev/ixl/if_ixlv.c
projects/clang-trunk/sys/dev/ixl/ixlv.h
projects/clang-trunk/sys/dev/ixl/ixlvc.c
projects/clang-trunk/sys/dev/mfi/mfi.c
projects/clang-trunk/sys/dev/nand/nfc_rb.c
projects/clang-trunk/sys/dev/netmap/if_em_netmap.h
projects/clang-trunk/sys/dev/pci/vga_pci.c
projects/clang-trunk/sys/dev/proto/proto.h
projects/clang-trunk/sys/dev/proto/proto_bus_pci.c
projects/clang-trunk/sys/dev/proto/proto_core.c
projects/clang-trunk/sys/dev/proto/proto_dev.h
projects/clang-trunk/sys/dev/usb/controller/dwc_otg.c
projects/clang-trunk/sys/dev/usb/quirk/usb_quirk.c
projects/clang-trunk/sys/dev/usb/template/usb_template.c
projects/clang-trunk/sys/dev/usb/template/usb_template.h
projects/clang-trunk/sys/dev/usb/usb_dev.c
projects/clang-trunk/sys/dev/usb/usb_ioctl.h
projects/clang-trunk/sys/dev/usb/usbdevs
projects/clang-trunk/sys/fs/devfs/devfs_vnops.c
projects/clang-trunk/sys/fs/procfs/procfs_ctl.c
projects/clang-trunk/sys/fs/procfs/procfs_map.c
projects/clang-trunk/sys/fs/unionfs/union_vfsops.c
projects/clang-trunk/sys/geom/part/g_part_gpt.c
projects/clang-trunk/sys/i386/i386/initcpu.c
projects/clang-trunk/sys/i386/i386/pmap.c
projects/clang-trunk/sys/i386/i386/trap.c
projects/clang-trunk/sys/i386/include/md_var.h
projects/clang-trunk/sys/i386/include/vmparam.h
projects/clang-trunk/sys/kern/imgact_elf.c
projects/clang-trunk/sys/kern/kern_proc.c
projects/clang-trunk/sys/kern/kern_tc.c
projects/clang-trunk/sys/kern/subr_uio.c
projects/clang-trunk/sys/kern/subr_witness.c
projects/clang-trunk/sys/kern/sys_process.c
projects/clang-trunk/sys/kern/uipc_shm.c
projects/clang-trunk/sys/kern/vfs_vnops.c
projects/clang-trunk/sys/mips/conf/AR71XX_BASE
projects/clang-trunk/sys/mips/conf/AR724X_BASE
projects/clang-trunk/sys/mips/include/vmparam.h
projects/clang-trunk/sys/modules/Makefile
projects/clang-trunk/sys/modules/em/Makefile
projects/clang-trunk/sys/modules/ixl/Makefile
projects/clang-trunk/sys/modules/ixlv/Makefile
projects/clang-trunk/sys/modules/ixv/Makefile
projects/clang-trunk/sys/modules/proto/Makefile
projects/clang-trunk/sys/modules/usb/template/Makefile
projects/clang-trunk/sys/net80211/ieee80211.c
projects/clang-trunk/sys/net80211/ieee80211_freebsd.c
projects/clang-trunk/sys/net80211/ieee80211_freebsd.h
projects/clang-trunk/sys/net80211/ieee80211_output.c
projects/clang-trunk/sys/net80211/ieee80211_scan.c
projects/clang-trunk/sys/net80211/ieee80211_scan.h
projects/clang-trunk/sys/net80211/ieee80211_scan_sw.c
projects/clang-trunk/sys/net80211/ieee80211_scan_sw.h
projects/clang-trunk/sys/net80211/ieee80211_var.h
projects/clang-trunk/sys/netinet/sctp_sysctl.c
projects/clang-trunk/sys/netinet/sctp_uio.h
projects/clang-trunk/sys/powerpc/include/vmparam.h
projects/clang-trunk/sys/sparc64/include/vmparam.h
projects/clang-trunk/sys/sys/bus.h
projects/clang-trunk/sys/sys/file.h
projects/clang-trunk/sys/sys/mman.h
projects/clang-trunk/sys/sys/param.h
projects/clang-trunk/sys/ufs/ffs/ffs_vnops.c
projects/clang-trunk/sys/vm/vm_extern.h
projects/clang-trunk/sys/vm/vm_mmap.c
projects/clang-trunk/sys/vm/vm_object.c
projects/clang-trunk/sys/vm/vm_object.h
projects/clang-trunk/sys/vm/vm_page.c
projects/clang-trunk/sys/vm/vm_reserv.c
projects/clang-trunk/sys/x86/acpica/madt.c
projects/clang-trunk/sys/x86/x86/identcpu.c
projects/clang-trunk/tests/sys/kern/ptrace_test.c
projects/clang-trunk/tools/bus_space/C/Makefile
projects/clang-trunk/tools/bus_space/C/lang.c
projects/clang-trunk/tools/bus_space/C/libbus_space.h
projects/clang-trunk/tools/bus_space/Makefile.inc
projects/clang-trunk/tools/bus_space/Python/lang.c
projects/clang-trunk/usr.bin/colcrt/colcrt.1
projects/clang-trunk/usr.bin/colrm/colrm.1
projects/clang-trunk/usr.bin/expand/expand.1
projects/clang-trunk/usr.bin/fold/fold.1
projects/clang-trunk/usr.bin/keylogin/Makefile
projects/clang-trunk/usr.bin/last/last.1
projects/clang-trunk/usr.bin/mail/Makefile
projects/clang-trunk/usr.bin/mail/main.c
projects/clang-trunk/usr.bin/mandoc/Makefile
projects/clang-trunk/usr.bin/mkstr/mkstr.1
projects/clang-trunk/usr.bin/mkstr/mkstr.c
projects/clang-trunk/usr.bin/rsh/Makefile
projects/clang-trunk/usr.bin/rsh/rsh.c
projects/clang-trunk/usr.bin/rup/Makefile
projects/clang-trunk/usr.bin/systat/Makefile
projects/clang-trunk/usr.bin/systat/main.c
projects/clang-trunk/usr.bin/top/Makefile
projects/clang-trunk/usr.bin/tset/tset.1
projects/clang-trunk/usr.bin/vgrind/regexp.c
projects/clang-trunk/usr.bin/vgrind/vgrindefs.c
projects/clang-trunk/usr.bin/vtfontcvt/Makefile
projects/clang-trunk/usr.sbin/ctld/login.c
projects/clang-trunk/usr.sbin/pw/grupd.c
projects/clang-trunk/usr.sbin/pw/pw.8
projects/clang-trunk/usr.sbin/pw/pw.c
projects/clang-trunk/usr.sbin/pw/pw.h
projects/clang-trunk/usr.sbin/pw/pw_group.c
projects/clang-trunk/usr.sbin/pw/pw_user.c
projects/clang-trunk/usr.sbin/pw/pwupd.c
projects/clang-trunk/usr.sbin/pw/pwupd.h
projects/clang-trunk/usr.sbin/pw/tests/Makefile
projects/clang-trunk/usr.sbin/pw/tests/pw_groupmod.sh
projects/clang-trunk/usr.sbin/pw/tests/pw_useradd.sh
projects/clang-trunk/usr.sbin/pw/tests/pw_usermod.sh
projects/clang-trunk/usr.sbin/pwd_mkdb/pwd_mkdb.8
projects/clang-trunk/usr.sbin/pwd_mkdb/pwd_mkdb.c
Directory Properties:
projects/clang-trunk/ (props changed)
projects/clang-trunk/cddl/ (props changed)
projects/clang-trunk/cddl/contrib/opensolaris/ (props changed)
projects/clang-trunk/contrib/dtc/ (props changed)
projects/clang-trunk/contrib/mdocml/ (props changed)
projects/clang-trunk/contrib/top/ (props changed)
projects/clang-trunk/etc/ (props changed)
projects/clang-trunk/lib/libc/ (props changed)
projects/clang-trunk/lib/libutil/ (props changed)
projects/clang-trunk/sbin/ (props changed)
projects/clang-trunk/share/ (props changed)
projects/clang-trunk/share/man/man4/ (props changed)
projects/clang-trunk/sys/ (props changed)
projects/clang-trunk/sys/amd64/vmm/ (props changed)
projects/clang-trunk/sys/boot/ (props changed)
projects/clang-trunk/sys/conf/ (props changed)
projects/clang-trunk/sys/contrib/dev/acpica/ (props changed)
Modified: projects/clang-trunk/UPDATING
==============================================================================
--- projects/clang-trunk/UPDATING Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/UPDATING Tue Jun 9 19:14:27 2015 (r284188)
@@ -36,6 +36,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
20141231 entry below for information about prerequisites and upgrading,
if you are not already using 3.5.0 or higher.
+20150604:
+ Generation of legacy formatted entries have been disabled by default
+ in pwd_mkdb(8), as all base system consumers of the legacy formatted
+ entries were converted to use the new format by default when the new,
+ machine independent format have been added and supported since FreeBSD
+ 5.x.
+
+ Please see the pwd_mkdb(8) manual page for further details.
+
20150525:
Clang and llvm have been upgraded to 3.6.1 release. Please see the
20141231 entry below for information about prerequisites and upgrading,
Modified: projects/clang-trunk/bin/chmod/chmod.c
==============================================================================
--- projects/clang-trunk/bin/chmod/chmod.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/chmod/chmod.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -162,14 +162,16 @@ done: argv += optind;
atflag = AT_SYMLINK_NOFOLLOW;
switch (p->fts_info) {
- case FTS_D: /* Change it at FTS_DP. */
+ case FTS_D:
if (!Rflag)
fts_set(ftsp, p, FTS_SKIP);
- continue;
+ break;
case FTS_DNR: /* Warn, chmod. */
warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
rval = 1;
break;
+ case FTS_DP: /* Already changed at FTS_D. */
+ continue;
case FTS_ERR: /* Warn, continue. */
case FTS_NS:
warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
Modified: projects/clang-trunk/bin/cp/cp.1
==============================================================================
--- projects/clang-trunk/bin/cp/cp.1 Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/cp/cp.1 Tue Jun 9 19:14:27 2015 (r284188)
@@ -32,7 +32,7 @@
.\" @(#)cp.1 8.3 (Berkeley) 4/18/94
.\" $FreeBSD$
.\"
-.Dd March 15, 2013
+.Dd June 6, 2015
.Dt CP 1
.Os
.Sh NAME
@@ -45,7 +45,7 @@
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i | n
-.Op Fl alpvx
+.Op Fl alpsvx
.Ar source_file target_file
.Nm
.Oo
@@ -53,7 +53,7 @@
.Op Fl H | Fl L | Fl P
.Oc
.Op Fl f | i | n
-.Op Fl alpvx
+.Op Fl alpsvx
.Ar source_file ... target_directory
.Sh DESCRIPTION
In the first synopsis form, the
@@ -179,6 +179,8 @@ If the source file has both its set-user
and either the user ID or group ID cannot be preserved, neither
the set-user-ID nor set-group-ID bits are preserved in the copy's
permissions.
+.It Fl s
+Create symbolic links to regular files in a hierarchy instead of copying.
.It Fl v
Cause
.Nm
@@ -298,7 +300,10 @@ differ as they copy special files as nor
files while recreating a hierarchy.
.Pp
The
-.Fl v
+.Fl l,
+.Fl s,
+.Fl v,
+.Fl x
and
.Fl n
options are non-standard and their use in scripts is not recommended.
Modified: projects/clang-trunk/bin/cp/cp.c
==============================================================================
--- projects/clang-trunk/bin/cp/cp.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/cp/cp.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -75,15 +75,15 @@ __FBSDID("$FreeBSD$");
#include "extern.h"
#define STRIP_TRAILING_SLASH(p) { \
- while ((p).p_end > (p).p_path + 1 && (p).p_end[-1] == '/') \
- *--(p).p_end = 0; \
+ while ((p).p_end > (p).p_path + 1 && (p).p_end[-1] == '/') \
+ *--(p).p_end = 0; \
}
static char emptystring[] = "";
PATH_T to = { to.p_path, emptystring, "" };
-int fflag, iflag, lflag, nflag, pflag, vflag;
+int fflag, iflag, lflag, nflag, pflag, sflag, vflag;
static int Rflag, rflag;
volatile sig_atomic_t info;
@@ -102,7 +102,7 @@ main(int argc, char *argv[])
fts_options = FTS_NOCHDIR | FTS_PHYSICAL;
Hflag = Lflag = 0;
- while ((ch = getopt(argc, argv, "HLPRafilnprvx")) != -1)
+ while ((ch = getopt(argc, argv, "HLPRafilnprsvx")) != -1)
switch (ch) {
case 'H':
Hflag = 1;
@@ -145,6 +145,9 @@ main(int argc, char *argv[])
rflag = Lflag = 1;
Hflag = 0;
break;
+ case 's':
+ sflag = 1;
+ break;
case 'v':
vflag = 1;
break;
@@ -163,6 +166,8 @@ main(int argc, char *argv[])
if (Rflag && rflag)
errx(1, "the -R and -r options may not be specified together");
+ if (lflag && sflag)
+ errx(1, "the -l and -s options may not be specified together");
if (rflag)
Rflag = 1;
if (Rflag) {
@@ -183,7 +188,7 @@ main(int argc, char *argv[])
if (strlcpy(to.p_path, target, sizeof(to.p_path)) >= sizeof(to.p_path))
errx(1, "%s: name too long", target);
to.p_end = to.p_path + strlen(to.p_path);
- if (to.p_path == to.p_end) {
+ if (to.p_path == to.p_end) {
*to.p_end++ = '.';
*to.p_end = 0;
}
@@ -240,10 +245,10 @@ main(int argc, char *argv[])
type = FILE_TO_FILE;
if (have_trailing_slash && type == FILE_TO_FILE) {
- if (r == -1)
+ if (r == -1) {
errx(1, "directory %s does not exist",
- to.p_path);
- else
+ to.p_path);
+ } else
errx(1, "%s is not a directory", to.p_path);
}
} else
@@ -294,8 +299,8 @@ copy(char *argv[], enum op type, int fts
/*
* If we are in case (2) or (3) above, we need to append the
- * source name to the target name.
- */
+ * source name to the target name.
+ */
if (type != FILE_TO_FILE) {
/*
* Need to remember the roots of traversals to create
@@ -374,7 +379,8 @@ copy(char *argv[], enum op type, int fts
mode = curr->fts_statp->st_mode;
if ((mode & (S_ISUID | S_ISGID | S_ISTXT)) ||
((mode | S_IRWXU) & mask) != (mode & mask))
- if (chmod(to.p_path, mode & mask) != 0){
+ if (chmod(to.p_path, mode & mask) !=
+ 0) {
warn("chmod: %s", to.p_path);
rval = 1;
}
@@ -382,7 +388,7 @@ copy(char *argv[], enum op type, int fts
continue;
}
- /* Not an error but need to remember it happened */
+ /* Not an error but need to remember it happened. */
if (stat(to.p_path, &to_stat) == -1)
dne = 1;
else {
@@ -408,7 +414,7 @@ copy(char *argv[], enum op type, int fts
switch (curr->fts_statp->st_mode & S_IFMT) {
case S_IFLNK:
- /* Catch special case of a non-dangling symlink */
+ /* Catch special case of a non-dangling symlink. */
if ((fts_options & FTS_LOGICAL) ||
((fts_options & FTS_COMFOLLOW) &&
curr->fts_level == 0)) {
@@ -433,7 +439,7 @@ copy(char *argv[], enum op type, int fts
* modified by the umask. Trade-off between being
* able to write the directory (if from directory is
* 555) and not causing a permissions race. If the
- * umask blocks owner writes, we fail..
+ * umask blocks owner writes, we fail.
*/
if (dne) {
if (mkdir(to.p_path,
@@ -452,7 +458,7 @@ copy(char *argv[], enum op type, int fts
break;
case S_IFBLK:
case S_IFCHR:
- if (Rflag) {
+ if (Rflag && !sflag) {
if (copy_special(curr->fts_statp, !dne))
badcp = rval = 1;
} else {
@@ -462,10 +468,10 @@ copy(char *argv[], enum op type, int fts
break;
case S_IFSOCK:
warnx("%s is a socket (not copied).",
- curr->fts_path);
+ curr->fts_path);
break;
case S_IFIFO:
- if (Rflag) {
+ if (Rflag && !sflag) {
if (copy_fifo(curr->fts_statp, !dne))
badcp = rval = 1;
} else {
Modified: projects/clang-trunk/bin/cp/extern.h
==============================================================================
--- projects/clang-trunk/bin/cp/extern.h Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/cp/extern.h Tue Jun 9 19:14:27 2015 (r284188)
@@ -37,7 +37,7 @@ typedef struct {
} PATH_T;
extern PATH_T to;
-extern int fflag, iflag, lflag, nflag, pflag, vflag;
+extern int fflag, iflag, lflag, nflag, pflag, sflag, vflag;
extern volatile sig_atomic_t info;
__BEGIN_DECLS
Modified: projects/clang-trunk/bin/cp/utils.c
==============================================================================
--- projects/clang-trunk/bin/cp/utils.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/cp/utils.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -57,15 +57,19 @@ __FBSDID("$FreeBSD$");
#define cp_pct(x, y) ((y == 0) ? 0 : (int)(100.0 * (x) / (y)))
-/* Memory strategy threshold, in pages: if physmem is larger then this, use a
- * large buffer */
+/*
+ * Memory strategy threshold, in pages: if physmem is larger then this, use a
+ * large buffer.
+ */
#define PHYSPAGES_THRESHOLD (32*1024)
-/* Maximum buffer size in bytes - do not allow it to grow larger than this */
+/* Maximum buffer size in bytes - do not allow it to grow larger than this. */
#define BUFSIZE_MAX (2*1024*1024)
-/* Small (default) buffer size in bytes. It's inefficient for this to be
- * smaller than MAXPHYS */
+/*
+ * Small (default) buffer size in bytes. It's inefficient for this to be
+ * smaller than MAXPHYS.
+ */
#define BUFSIZE_SMALL (MAXPHYS)
int
@@ -77,13 +81,15 @@ copy_file(const FTSENT *entp, int dne)
ssize_t wcount;
size_t wresid;
off_t wtotal;
- int ch, checkch, from_fd = 0, rcount, rval, to_fd = 0;
+ int ch, checkch, from_fd, rcount, rval, to_fd;
char *bufp;
#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED
char *p;
#endif
- if ((from_fd = open(entp->fts_path, O_RDONLY, 0)) == -1) {
+ from_fd = to_fd = -1;
+ if (!lflag && !sflag &&
+ (from_fd = open(entp->fts_path, O_RDONLY, 0)) == -1) {
warn("%s", entp->fts_path);
return (1);
}
@@ -103,63 +109,65 @@ copy_file(const FTSENT *entp, int dne)
if (nflag) {
if (vflag)
printf("%s not overwritten\n", to.p_path);
- (void)close(from_fd);
- return (1);
+ rval = 1;
+ goto done;
} else if (iflag) {
(void)fprintf(stderr, "overwrite %s? %s",
- to.p_path, YESNO);
+ to.p_path, YESNO);
checkch = ch = getchar();
while (ch != '\n' && ch != EOF)
ch = getchar();
if (checkch != 'y' && checkch != 'Y') {
- (void)close(from_fd);
(void)fprintf(stderr, "not overwritten\n");
- return (1);
+ rval = 1;
+ goto done;
}
}
-
+
if (fflag) {
- /* remove existing destination file name,
- * create a new file */
- (void)unlink(to.p_path);
- if (!lflag)
- to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT,
- fs->st_mode & ~(S_ISUID | S_ISGID));
- } else {
- if (!lflag)
- /* overwrite existing destination file name */
- to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0);
+ /*
+ * Remove existing destination file name create a new
+ * file.
+ */
+ (void)unlink(to.p_path);
+ if (!lflag && !sflag) {
+ to_fd = open(to.p_path,
+ O_WRONLY | O_TRUNC | O_CREAT,
+ fs->st_mode & ~(S_ISUID | S_ISGID));
+ }
+ } else if (!lflag && !sflag) {
+ /* Overwrite existing destination file name. */
+ to_fd = open(to.p_path, O_WRONLY | O_TRUNC, 0);
}
- } else {
- if (!lflag)
- to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT,
- fs->st_mode & ~(S_ISUID | S_ISGID));
+ } else if (!lflag && !sflag) {
+ to_fd = open(to.p_path, O_WRONLY | O_TRUNC | O_CREAT,
+ fs->st_mode & ~(S_ISUID | S_ISGID));
}
-
- if (to_fd == -1) {
+
+ if (!lflag && !sflag && to_fd == -1) {
warn("%s", to.p_path);
- (void)close(from_fd);
- return (1);
+ rval = 1;
+ goto done;
}
rval = 0;
- if (!lflag) {
+ if (!lflag && !sflag) {
/*
- * Mmap and write if less than 8M (the limit is so we don't totally
- * trash memory on big files. This is really a minor hack, but it
- * wins some CPU back.
+ * Mmap and write if less than 8M (the limit is so we don't
+ * totally trash memory on big files. This is really a minor
+ * hack, but it wins some CPU back.
* Some filesystems, such as smbnetfs, don't support mmap,
* so this is a best-effort attempt.
*/
#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED
if (S_ISREG(fs->st_mode) && fs->st_size > 0 &&
- fs->st_size <= 8 * 1024 * 1024 &&
+ fs->st_size <= 8 * 1024 * 1024 &&
(p = mmap(NULL, (size_t)fs->st_size, PROT_READ,
MAP_SHARED, from_fd, (off_t)0)) != MAP_FAILED) {
wtotal = 0;
for (bufp = p, wresid = fs->st_size; ;
- bufp += wcount, wresid -= (size_t)wcount) {
+ bufp += wcount, wresid -= (size_t)wcount) {
wcount = write(to_fd, bufp, wresid);
if (wcount <= 0)
break;
@@ -204,7 +212,7 @@ copy_file(const FTSENT *entp, int dne)
wtotal = 0;
while ((rcount = read(from_fd, buf, bufsize)) > 0) {
for (bufp = buf, wresid = rcount; ;
- bufp += wcount, wresid -= wcount) {
+ bufp += wcount, wresid -= wcount) {
wcount = write(to_fd, bufp, wresid);
if (wcount <= 0)
break;
@@ -230,13 +238,18 @@ copy_file(const FTSENT *entp, int dne)
rval = 1;
}
}
- } else {
+ } else if (lflag) {
if (link(entp->fts_path, to.p_path)) {
warn("%s", to.p_path);
rval = 1;
}
+ } else if (sflag) {
+ if (symlink(entp->fts_path, to.p_path)) {
+ warn("%s", to.p_path);
+ rval = 1;
+ }
}
-
+
/*
* Don't remove the target even after an error. The target might
* not be a regular file, or its attributes might be important,
@@ -244,7 +257,7 @@ copy_file(const FTSENT *entp, int dne)
* to remove it if we created it and its length is 0.
*/
- if (!lflag) {
+ if (!lflag && !sflag) {
if (pflag && setfile(fs, to_fd))
rval = 1;
if (pflag && preserve_fd_acls(from_fd, to_fd) != 0)
@@ -255,8 +268,9 @@ copy_file(const FTSENT *entp, int dne)
}
}
- (void)close(from_fd);
-
+done:
+ if (from_fd != -1)
+ (void)close(from_fd);
return (rval);
}
@@ -338,7 +352,7 @@ setfile(struct stat *fs, int fd)
fdval = fd != -1;
islink = !fdval && S_ISLNK(fs->st_mode);
fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
- S_IRWXU | S_IRWXG | S_IRWXO;
+ S_IRWXU | S_IRWXG | S_IRWXO;
tspec[0] = fs->st_atim;
tspec[1] = fs->st_mtim;
@@ -353,7 +367,7 @@ setfile(struct stat *fs, int fd)
else {
gotstat = 1;
ts.st_mode &= S_ISUID | S_ISGID | S_ISVTX |
- S_IRWXU | S_IRWXG | S_IRWXO;
+ S_IRWXU | S_IRWXG | S_IRWXO;
}
/*
* Changing the ownership probably won't succeed, unless we're root
@@ -477,7 +491,7 @@ preserve_dir_acls(struct stat *fs, char
return (0);
/*
- * If the file is a link we will not follow it
+ * If the file is a link we will not follow it.
*/
if (S_ISLNK(fs->st_mode)) {
aclgetf = acl_get_link_np;
@@ -536,8 +550,10 @@ usage(void)
{
(void)fprintf(stderr, "%s\n%s\n",
-"usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpvx] source_file target_file",
-" cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpvx] source_file ... "
-"target_directory");
+ "usage: cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpsvx] "
+ "source_file target_file",
+ " cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpsvx] "
+ "source_file ... "
+ "target_directory");
exit(EX_USAGE);
}
Modified: projects/clang-trunk/bin/ls/ls.c
==============================================================================
--- projects/clang-trunk/bin/ls/ls.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/bin/ls/ls.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -413,9 +413,14 @@ main(int argc, char *argv[])
/*
* If not -F, -P, -d or -l options, follow any symbolic links listed on
- * the command line.
+ * the command line, unless in color mode in which case we need to
+ * distinguish file type for a symbolic link itself and its target.
*/
- if (!f_nofollow && !f_longform && !f_listdir && (!f_type || f_slash))
+ if (!f_nofollow && !f_longform && !f_listdir && (!f_type || f_slash)
+#ifdef COLORLS
+ && !f_color
+#endif
+ )
fts_options |= FTS_COMFOLLOW;
/*
Modified: projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h
==============================================================================
--- projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h Tue Jun 9 19:14:27 2015 (r284188)
@@ -156,6 +156,21 @@ typedef struct dt_module {
#define DT_DM_KERNEL 0x2 /* module is associated with a kernel object */
#define DT_DM_PRIMARY 0x4 /* module is a krtld primary kernel object */
+#ifdef __FreeBSD__
+/*
+ * A representation of a FreeBSD kernel module, used when checking module
+ * dependencies. This differs from dt_module_t, which refers to a KLD in the
+ * case of kernel probes. Since modules can be identified regardless of whether
+ * they've been compiled into the kernel, we use them to identify DTrace
+ * modules.
+ */
+typedef struct dt_kmodule {
+ struct dt_kmodule *dkm_next; /* hash table entry */
+ char *dkm_name; /* string name of module */
+ dt_module_t *dkm_module; /* corresponding KLD module */
+} dt_kmodule_t;
+#endif
+
typedef struct dt_provmod {
char *dp_name; /* name of provider module */
struct dt_provmod *dp_next; /* next module */
@@ -235,6 +250,9 @@ struct dtrace_hdl {
dt_idhash_t *dt_tls; /* hash table of thread-local identifiers */
dt_list_t dt_modlist; /* linked list of dt_module_t's */
dt_module_t **dt_mods; /* hash table of dt_module_t's */
+#ifdef __FreeBSD__
+ dt_kmodule_t **dt_kmods; /* hash table of dt_kmodule_t's */
+#endif
uint_t dt_modbuckets; /* number of module hash buckets */
uint_t dt_nmods; /* number of modules in hash and list */
dt_provmod_t *dt_provmod; /* linked list of provider modules */
Modified: projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c
==============================================================================
--- projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -37,6 +37,7 @@
#else
#include <sys/param.h>
#include <sys/linker.h>
+#include <sys/module.h>
#include <sys/stat.h>
#endif
@@ -542,6 +543,22 @@ dt_module_lookup_by_ctf(dtrace_hdl_t *dt
return (ctfp ? ctf_getspecific(ctfp) : NULL);
}
+#ifdef __FreeBSD__
+dt_kmodule_t *
+dt_kmodule_lookup(dtrace_hdl_t *dtp, const char *name)
+{
+ uint_t h = dt_strtab_hash(name, NULL) % dtp->dt_modbuckets;
+ dt_kmodule_t *dkmp;
+
+ for (dkmp = dtp->dt_kmods[h]; dkmp != NULL; dkmp = dkmp->dkm_next) {
+ if (strcmp(dkmp->dkm_name, name) == 0)
+ return (dkmp);
+ }
+
+ return (NULL);
+}
+#endif
+
static int
dt_module_load_sect(dtrace_hdl_t *dtp, dt_module_t *dmp, ctf_sect_t *ctsp)
{
@@ -1124,6 +1141,12 @@ dt_module_update(dtrace_hdl_t *dtp, stru
char fname[MAXPATHLEN];
struct stat64 st;
int fd, err, bits;
+#ifdef __FreeBSD__
+ struct module_stat ms;
+ dt_kmodule_t *dkmp;
+ uint_t h;
+ int modid;
+#endif
dt_module_t *dmp;
const char *s;
@@ -1270,6 +1293,33 @@ dt_module_update(dtrace_hdl_t *dtp, stru
if (dmp->dm_info.objfs_info_primary)
dmp->dm_flags |= DT_DM_PRIMARY;
+#ifdef __FreeBSD__
+ ms.version = sizeof(ms);
+ for (modid = kldfirstmod(k_stat->id); modid > 0;
+ modid = modnext(modid)) {
+ if (modstat(modid, &ms) != 0) {
+ dt_dprintf("modstat failed for id %d in %s: %s\n",
+ modid, k_stat->name, strerror(errno));
+ continue;
+ }
+ if (dt_kmodule_lookup(dtp, ms.name) != NULL)
+ continue;
+
+ dkmp = malloc(sizeof (*dkmp));
+ if (dkmp == NULL) {
+ dt_dprintf("failed to allocate memory\n");
+ dt_module_destroy(dtp, dmp);
+ return;
+ }
+
+ h = dt_strtab_hash(ms.name, NULL) % dtp->dt_modbuckets;
+ dkmp->dkm_next = dtp->dt_kmods[h];
+ dkmp->dkm_name = strdup(ms.name);
+ dkmp->dkm_module = dmp;
+ dtp->dt_kmods[h] = dkmp;
+ }
+#endif
+
dt_dprintf("opened %d-bit module %s (%s) [%d]\n",
bits, dmp->dm_name, dmp->dm_file, dmp->dm_modid);
}
Modified: projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h
==============================================================================
--- projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h Tue Jun 9 19:14:27 2015 (r284188)
@@ -44,6 +44,10 @@ extern void dt_module_destroy(dtrace_hdl
extern dt_module_t *dt_module_lookup_by_name(dtrace_hdl_t *, const char *);
extern dt_module_t *dt_module_lookup_by_ctf(dtrace_hdl_t *, ctf_file_t *);
+#ifdef __FreeBSD__
+extern dt_kmodule_t *dt_kmodule_lookup(dtrace_hdl_t *, const char *);
+#endif
+
extern int dt_module_hasctf(dtrace_hdl_t *, dt_module_t *);
extern ctf_file_t *dt_module_getctf(dtrace_hdl_t *, dt_module_t *);
extern dt_ident_t *dt_module_extern(dtrace_hdl_t *, dt_module_t *,
Modified: projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
==============================================================================
--- projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -1178,6 +1178,9 @@ alloc:
#endif
dtp->dt_modbuckets = _dtrace_strbuckets;
dtp->dt_mods = calloc(dtp->dt_modbuckets, sizeof (dt_module_t *));
+#ifdef __FreeBSD__
+ dtp->dt_kmods = calloc(dtp->dt_modbuckets, sizeof (dt_module_t *));
+#endif
dtp->dt_provbuckets = _dtrace_strbuckets;
dtp->dt_provs = calloc(dtp->dt_provbuckets, sizeof (dt_provider_t *));
dt_proc_hash_create(dtp);
@@ -1199,6 +1202,7 @@ alloc:
if (dtp->dt_mods == NULL || dtp->dt_provs == NULL ||
dtp->dt_procs == NULL || dtp->dt_ld_path == NULL ||
#ifdef __FreeBSD__
+ dtp->dt_kmods == NULL ||
dtp->dt_objcopy_path == NULL ||
#endif
dtp->dt_cpp_path == NULL || dtp->dt_cpp_argv == NULL)
@@ -1621,6 +1625,10 @@ dtrace_close(dtrace_hdl_t *dtp)
dtrace_prog_t *pgp;
dt_xlator_t *dxp;
dt_dirpath_t *dirp;
+#ifdef __FreeBSD__
+ dt_kmodule_t *dkm;
+ uint_t h;
+#endif
int i;
if (dtp->dt_procs != NULL)
@@ -1648,6 +1656,15 @@ dtrace_close(dtrace_hdl_t *dtp)
if (dtp->dt_tls != NULL)
dt_idhash_destroy(dtp->dt_tls);
+#ifdef __FreeBSD__
+ for (h = 0; h < dtp->dt_modbuckets; h++)
+ while ((dkm = dtp->dt_kmods[h]) != NULL) {
+ dtp->dt_kmods[h] = dkm->dkm_next;
+ free(dkm->dkm_name);
+ free(dkm);
+ }
+#endif
+
while ((dmp = dt_list_next(&dtp->dt_modlist)) != NULL)
dt_module_destroy(dtp, dmp);
@@ -1697,6 +1714,9 @@ dtrace_close(dtrace_hdl_t *dtp)
#endif
free(dtp->dt_mods);
+#ifdef __FreeBSD__
+ free(dtp->dt_kmods);
+#endif
free(dtp->dt_provs);
free(dtp);
}
Modified: projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c
==============================================================================
--- projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -278,6 +278,14 @@ dt_pragma_depends(const char *prname, dt
} else if (strcmp(cnp->dn_string, "module") == 0) {
dt_module_t *mp = dt_module_lookup_by_name(dtp, nnp->dn_string);
found = mp != NULL && dt_module_getctf(dtp, mp) != NULL;
+#ifdef __FreeBSD__
+ if (!found) {
+ dt_kmodule_t *dkmp = dt_kmodule_lookup(dtp,
+ nnp->dn_string);
+ found = dkmp != NULL &&
+ dt_module_getctf(dtp, dkmp->dkm_module) != NULL;
+ }
+#endif
} else if (strcmp(cnp->dn_string, "library") == 0) {
if (yypcb->pcb_cflags & DTRACE_C_CTL) {
assert(dtp->dt_filetag != NULL);
Modified: projects/clang-trunk/contrib/dtc/checks.c
==============================================================================
--- projects/clang-trunk/contrib/dtc/checks.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/contrib/dtc/checks.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -624,11 +624,11 @@ static void check_avoid_default_addr_siz
if (!reg && !ranges)
return;
- if ((node->parent->addr_cells == -1))
+ if (node->parent->addr_cells == -1)
FAIL(c, "Relying on default #address-cells value for %s",
node->fullpath);
- if ((node->parent->size_cells == -1))
+ if (node->parent->size_cells == -1)
FAIL(c, "Relying on default #size-cells value for %s",
node->fullpath);
}
Modified: projects/clang-trunk/contrib/mdocml/read.c
==============================================================================
--- projects/clang-trunk/contrib/mdocml/read.c Tue Jun 9 19:08:54 2015 (r284187)
+++ projects/clang-trunk/contrib/mdocml/read.c Tue Jun 9 19:14:27 2015 (r284188)
@@ -28,6 +28,7 @@
#include <assert.h>
#include <ctype.h>
#include <errno.h>
+#include <err.h>
#include <fcntl.h>
#include <stdarg.h>
#include <stdint.h>
@@ -35,6 +36,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <zlib.h>
#include "mandoc.h"
#include "mandoc_aux.h"
@@ -792,6 +794,27 @@ mparse_readfd(struct mparse *curp, int f
return(curp->file_status);
}
+/*
+ * hack to avoid depending on gnuzip(1) waiting for upstream proper
+ * support
+ */
+static int
+gunzip(const char *file)
+{
+ gzFile gz;
+ char buf[8192];
+ int r;
+
+ gz = gzopen(file, "r");
+ if (gz == NULL)
+ err(EXIT_FAILURE, "cannot open %s", file);
+
+ while ((r = gzread(gz, buf, sizeof(buf))) > 0)
+ fwrite(buf, 1, r, stdout);
+
+ gzclose(gz);
+ return (EXIT_SUCCESS);
+}
enum mandoclevel
mparse_open(struct mparse *curp, int *fd, const char *file)
{
@@ -846,9 +869,7 @@ mparse_open(struct mparse *curp, int *fd
perror("dup");
exit((int)MANDOCLEVEL_SYSERR);
}
- execlp("gunzip", "gunzip", "-c", file, NULL);
- perror("exec");
- exit((int)MANDOCLEVEL_SYSERR);
+ exit(gunzip(file));
default:
close(pfd[1]);
*fd = pfd[0];
Copied: projects/clang-trunk/contrib/top/top.local.hs (from r284187, head/contrib/top/top.local.hs)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/clang-trunk/contrib/top/top.local.hs Tue Jun 9 19:14:27 2015 (r284188, copy of r284187, head/contrib/top/top.local.hs)
@@ -0,0 +1,68 @@
+/*
+ * Top - a top users display for Berkeley Unix
+ *
+ * Definitions for things that might vary between installations.
+ */
+
+/*
+ * The space command forces an immediate update. Sometimes, on loaded
+ * systems, this update will take a significant period of time (because all
+ * the output is buffered). So, if the short-term load average is above
+ * "LoadMax", then top will put the cursor home immediately after the space
+ * is pressed before the next update is attempted. This serves as a visual
+ * acknowledgement of the command. On Suns, "LoadMax" will get multiplied by
+ * "FSCALE" before being compared to avenrun[0]. Therefore, "LoadMax"
+ * should always be specified as a floating point number.
+ */
+#ifndef LoadMax
+#define LoadMax %LoadMax%
+#endif
+
+/*
+ * "Table_size" defines the size of the hash tables used to map uid to
+ * username. The number of users in /etc/passwd CANNOT be greater than
+ * this number. If the error message "table overflow: too many users"
+ * is printed by top, then "Table_size" needs to be increased. Things will
+ * work best if the number is a prime number that is about twice the number
+ * of lines in /etc/passwd.
+ */
+#ifndef Table_size
+#define Table_size %TableSize%
+#endif
+
+/*
+ * "Nominal_TOPN" is used as the default TOPN when Default_TOPN is Infinity
+ * and the output is a dumb terminal. If we didn't do this, then
+ * installations who use a default TOPN of Infinity will get every
+ * process in the system when running top on a dumb terminal (or redirected
+ * to a file). Note that Nominal_TOPN is a default: it can still be
+ * overridden on the command line, even with the value "infinity".
+ */
+#ifndef Nominal_TOPN
+#define Nominal_TOPN %NominalTopn%
+#endif
+
+#ifndef Default_TOPN
+#define Default_TOPN %topn%
+#endif
+
+#ifndef Default_DELAY
+#define Default_DELAY %delay%
+#endif
+
+/*
+ * If the local system's getpwnam interface uses random access to retrieve
+ * a record (i.e.: 4.3 systems, Sun "yellow pages"), then defining
+ * RANDOM_PW will take advantage of that fact. If RANDOM_PW is defined,
+ * then getpwnam is used and the result is cached. If not, then getpwent
+ * is used to read and cache the password entries sequentially until the
+ * desired one is found.
+ *
+ * We initially set RANDOM_PW to something which is controllable by the
+ * Configure script. Then if its value is 0, we undef it.
+ */
+
+#define RANDOM_PW %random%
+#if RANDOM_PW == 0
+#undef RANDOM_PW
+#endif
Copied: projects/clang-trunk/contrib/top/top.xs (from r284187, head/contrib/top/top.xs)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/clang-trunk/contrib/top/top.xs Tue Jun 9 19:14:27 2015 (r284188, copy of r284187, head/contrib/top/top.xs)
@@ -0,0 +1,448 @@
+.\" NOTE: changes to the manual page for "top" should be made in the
+.\" file "top.X" and NOT in the file "top.1".
+.\" $FreeBSD$
+.nr N %topn%
+.nr D %delay%
+.TH TOP 1 Local
+.UC 4
+.SH NAME
+top \- display and update information about the top cpu processes
+.SH SYNOPSIS
+.B top
+[
+.B \-abCHIijnPqStuvz
+] [
+.BI \-d count
+] [
+.BI \-m io | cpu
+] [
+.BI \-o field
+] [
+.BI \-s time
+] [
+.BI \-J jail
+] [
+.BI \-U username
+] [
+.I number
+]
+.SH DESCRIPTION
+.\" This defines appropriate quote strings for nroff and troff
+.ds lq \&"
+.ds rq \&"
+.if t .ds lq ``
+.if t .ds rq ''
+.\" Just in case these number registers aren't set yet...
+.if \nN==0 .nr N 10
+.if \nD==0 .nr D 2
+.I Top
+displays the top
+.if !\nN==-1 \nN
+processes on the system and periodically updates this information.
+.if \nN==-1 \
+\{\
+If standard output is an intelligent terminal (see below) then
+as many processes as will fit on the terminal screen are displayed
+by default. Otherwise, a good number of them are shown (around 20).
+.\}
+Raw cpu percentage is used to rank the processes. If
+.I number
+is given, then the top
+.I number
+processes will be displayed instead of the default.
+.PP
+.I Top
+makes a distinction between terminals that support advanced capabilities
+and those that do not. This
+distinction affects the choice of defaults for certain options. In the
+remainder of this document, an \*(lqintelligent\*(rq terminal is one that
+supports cursor addressing, clear screen, and clear to end of line.
+Conversely, a \*(lqdumb\*(rq terminal is one that does not support such
+features. If the output of
+.I top
+is redirected to a file, it acts as if it were being run on a dumb
+terminal.
+.SH OPTIONS
+.TP
+.B \-C
+Toggle CPU display mode.
+By default top displays the weighted CPU percentage in the WCPU column
+(this is the same value that
+.IR ps (1)
+displays as CPU).
+Each time
+.B \-C
+flag is passed it toggles between \*(lqraw cpu\*(rq mode
+and \*(lqweighted cpu\*(rq mode, showing the \*(lqCPU\*(rq or
+the \*(lqWCPU\*(rq column respectively.
+.TP
+.B \-S
+Show system processes in the display. Normally, system processes such as
+the pager and the swapper are not shown. This option makes them visible.
+.TP
+.B \-a
+Display command names derived from the argv[] vector, rather than real
+executable name. It's useful when you want to watch applications, that
+puts their status information there. If the real name differs from argv[0],
+it will be displayed in parenthesis.
+.TP
+.B \-b
+Use \*(lqbatch\*(rq mode. In this mode, all input from the terminal is
+ignored. Interrupt characters (such as ^C and ^\e) still have an effect.
+This is the default on a dumb terminal, or when the output is not a terminal.
+.TP
+.B \-H
+Display each thread for a multithreaded process individually.
+By default a single summary line is displayed for each process.
+.TP
+.B \-i
+Use \*(lqinteractive\*(rq mode. In this mode, any input is immediately
+read for processing. See the section on \*(lqInteractive Mode\*(rq
+for an explanation of
+which keys perform what functions. After the command is processed, the
+screen will immediately be updated, even if the command was not
+understood. This mode is the default when standard output is an
+intelligent terminal.
+.TP
+.B \-I
+Do not display idle processes.
+By default, top displays both active and idle processes.
+.TP
+.B \-j
+Display the
+.IR jail (8)
+ID.
+.TP
+.B \-t
+Do not display the
+.I top
+process.
+.TP
+.BI \-m display
+Display either 'cpu' or 'io' statistics. Default is 'cpu'.
+.TP
+.B \-n
+Use \*(lqnon-interactive\*(rq mode. This is identical to \*(lqbatch\*(rq
+mode.
+.TP
+.B \-P
+Display per-cpu CPU usage statistics.
+.TP
+.B \-q
+Renice
+.I top
+to -20 so that it will run faster. This can be used when the system is
+being very sluggish to improve the possibility of discovering the problem.
+This option can only be used by root.
+.TP
+.B \-u
+Do not take the time to map uid numbers to usernames. Normally,
+.I top
+will read as much of the file \*(lq/etc/passwd\*(rq as is necessary to map
+all the user id numbers it encounters into login names. This option
+disables all that, while possibly decreasing execution time. The uid
+numbers are displayed instead of the names.
+.TP
+.B \-v
+Write version number information to stderr then exit immediately.
+No other processing takes place when this option is used. To see current
+revision information while top is running, use the help command \*(lq?\*(rq.
+.TP
+.B \-z
+Do not display the system idle process.
+.TP
+.BI \-d count
+Show only
+.I count
+displays, then exit. A display is considered to be one update of the
+screen. This option allows the user to select the number of displays he
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list