Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Aug 2013 20:28:14 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r254381 - in projects/camlock: . bin/sh crypto/openssh gnu/lib/libstdc++ include lib lib/libc/db/btree lib/libc/db/hash lib/libc/gmon lib/libc/iconv lib/libc/stdlib lib/libiconv_compat ...
Message-ID:  <201308152028.r7FKSEbN099031@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Aug 15 20:28:13 2013
New Revision: 254381
URL: http://svnweb.freebsd.org/changeset/base/254381

Log:
  MFC @ r254380

Added:
  projects/camlock/lib/libiconv_compat/
     - copied from r254380, head/lib/libiconv_compat/
  projects/camlock/sys/arm/freescale/imx/imx51_machdep.c
     - copied unchanged from r254380, head/sys/arm/freescale/imx/imx51_machdep.c
  projects/camlock/sys/fs/ext2fs/ext2_extents.c
     - copied unchanged from r254380, head/sys/fs/ext2fs/ext2_extents.c
  projects/camlock/sys/fs/ext2fs/ext2_extents.h
     - copied unchanged from r254380, head/sys/fs/ext2fs/ext2_extents.h
     - copied unchanged from r254380, head/sys/x86/include/acpica_machdep.h
  projects/camlock/tools/regression/bin/sh/builtins/local4.0
     - copied unchanged from r254380, head/tools/regression/bin/sh/builtins/local4.0
  projects/camlock/tools/regression/bin/sh/parser/only-redir2.0
     - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir2.0
  projects/camlock/tools/regression/bin/sh/parser/only-redir3.0
     - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir3.0
  projects/camlock/tools/regression/bin/sh/parser/only-redir4.0
     - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir4.0
Directory Properties:
  projects/camlock/sys/x86/include/acpica_machdep.h   (props changed)
Deleted:
  projects/camlock/sys/arm/freescale/imx/imx_machdep.c
Modified:
  projects/camlock/UPDATING
  projects/camlock/bin/sh/parser.c
  projects/camlock/bin/sh/var.c
  projects/camlock/crypto/openssh/sftp.c
  projects/camlock/gnu/lib/libstdc++/config.h
  projects/camlock/include/Makefile
  projects/camlock/include/iconv.h
  projects/camlock/lib/Makefile
  projects/camlock/lib/libc/db/btree/bt_open.c
  projects/camlock/lib/libc/db/hash/hash_page.c
  projects/camlock/lib/libc/gmon/gmon.c
  projects/camlock/lib/libc/iconv/Symbol.map
  projects/camlock/lib/libc/iconv/iconv.c
  projects/camlock/lib/libc/stdlib/system.c
  projects/camlock/lib/libkiconv/xlat16_iconv.c
  projects/camlock/release/release.conf.sample
  projects/camlock/release/release.sh
  projects/camlock/sbin/init/init.c
  projects/camlock/share/man/man7/release.7
  projects/camlock/share/man/man9/EVENTHANDLER.9
  projects/camlock/share/man/man9/netisr.9
  projects/camlock/share/misc/committers-ports.dot
  projects/camlock/share/mk/bsd.own.mk
  projects/camlock/sys/amd64/amd64/initcpu.c
  projects/camlock/sys/amd64/include/acpica_machdep.h
  projects/camlock/sys/arm/freescale/imx/files.imx51
  projects/camlock/sys/arm/freescale/imx/imx_gpt.c
  projects/camlock/sys/arm/freescale/imx/imx_gptreg.h
  projects/camlock/sys/cam/ata/ata_da.c
  projects/camlock/sys/cam/ctl/ctl.c
  projects/camlock/sys/cam/scsi/scsi_da.c
  projects/camlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
  projects/camlock/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
  projects/camlock/sys/cddl/dev/dtrace/dtrace_load.c
  projects/camlock/sys/cddl/dev/dtrace/dtrace_unload.c
  projects/camlock/sys/cddl/dev/fbt/fbt.c
  projects/camlock/sys/cddl/dev/sdt/sdt.c
  projects/camlock/sys/compat/freebsd32/freebsd32_misc.c
  projects/camlock/sys/conf/files
  projects/camlock/sys/conf/kern.post.mk
  projects/camlock/sys/dev/aacraid/aacraid_pci.c
  projects/camlock/sys/dev/acpica/Osd/OsdSynch.c
  projects/camlock/sys/dev/advansys/adw_pci.c
  projects/camlock/sys/dev/aic7xxx/ahc_pci.c
  projects/camlock/sys/dev/aic7xxx/ahd_pci.c
  projects/camlock/sys/dev/amr/amr_pci.c
  projects/camlock/sys/dev/an/if_an_pci.c
  projects/camlock/sys/dev/arcmsr/arcmsr.c
  projects/camlock/sys/dev/asr/asr.c
  projects/camlock/sys/dev/ata/ata-pci.c
  projects/camlock/sys/dev/bktr/bktr_os.c
  projects/camlock/sys/dev/buslogic/bt_pci.c
  projects/camlock/sys/dev/bwi/bwimac.c
  projects/camlock/sys/dev/dpt/dpt_pci.c
  projects/camlock/sys/dev/e1000/if_em.c
  projects/camlock/sys/dev/e1000/if_igb.c
  projects/camlock/sys/dev/e1000/if_lem.c
  projects/camlock/sys/dev/fatm/if_fatm.c
  projects/camlock/sys/dev/firewire/fwohci_pci.c
  projects/camlock/sys/dev/fxp/if_fxp.c
  projects/camlock/sys/dev/hatm/if_hatm.c
  projects/camlock/sys/dev/iir/iir.c
  projects/camlock/sys/dev/iir/iir.h
  projects/camlock/sys/dev/iir/iir_ctrl.c
  projects/camlock/sys/dev/iir/iir_pci.c
  projects/camlock/sys/dev/ips/ips_pci.c
  projects/camlock/sys/dev/isp/isp_freebsd.c
  projects/camlock/sys/dev/isp/isp_pci.c
  projects/camlock/sys/dev/iwn/if_iwn.c
  projects/camlock/sys/dev/ixgb/if_ixgb.c
  projects/camlock/sys/dev/ixgbe/ixgbe.c
  projects/camlock/sys/dev/ixgbe/ixv.c
  projects/camlock/sys/dev/mfi/mfi_pci.c
  projects/camlock/sys/dev/mfi/mfi_syspd.c
  projects/camlock/sys/dev/mly/mly.c
  projects/camlock/sys/dev/mn/if_mn.c
  projects/camlock/sys/dev/mps/mps_pci.c
  projects/camlock/sys/dev/mpt/mpt_pci.c
  projects/camlock/sys/dev/mwl/if_mwl_pci.c
  projects/camlock/sys/dev/mxge/if_mxge.c
  projects/camlock/sys/dev/nvme/nvme.c
  projects/camlock/sys/dev/nvme/nvme.h
  projects/camlock/sys/dev/nvme/nvme_ctrlr.c
  projects/camlock/sys/dev/nvme/nvme_private.h
  projects/camlock/sys/dev/pccbb/pccbb_pci.c
  projects/camlock/sys/dev/pst/pst-pci.c
  projects/camlock/sys/dev/rp/rp_pci.c
  projects/camlock/sys/dev/safe/safe.c
  projects/camlock/sys/dev/sound/pci/als4000.c
  projects/camlock/sys/dev/sound/pci/aureal.c
  projects/camlock/sys/dev/sound/pci/cmi.c
  projects/camlock/sys/dev/sound/pci/cs4281.c
  projects/camlock/sys/dev/sound/pci/csa.c
  projects/camlock/sys/dev/sound/pci/ds1.c
  projects/camlock/sys/dev/sound/pci/emu10k1.c
  projects/camlock/sys/dev/sound/pci/emu10kx.c
  projects/camlock/sys/dev/sound/pci/envy24.c
  projects/camlock/sys/dev/sound/pci/envy24ht.c
  projects/camlock/sys/dev/sound/pci/es137x.c
  projects/camlock/sys/dev/sound/pci/fm801.c
  projects/camlock/sys/dev/sound/pci/hdspe.c
  projects/camlock/sys/dev/sound/pci/maestro.c
  projects/camlock/sys/dev/sound/pci/maestro3.c
  projects/camlock/sys/dev/sound/pci/neomagic.c
  projects/camlock/sys/dev/sound/pci/solo.c
  projects/camlock/sys/dev/sound/pci/t4dwave.c
  projects/camlock/sys/dev/sound/pci/via82c686.c
  projects/camlock/sys/dev/sound/pci/vibes.c
  projects/camlock/sys/dev/stge/if_stge.c
  projects/camlock/sys/dev/sym/sym_hipd.c
  projects/camlock/sys/dev/tdfx/tdfx_pci.c
  projects/camlock/sys/dev/twa/tw_osl_freebsd.c
  projects/camlock/sys/dev/tws/tws.c
  projects/camlock/sys/dev/ubsec/ubsec.c
  projects/camlock/sys/dev/wi/if_wi_pci.c
  projects/camlock/sys/fs/ext2fs/ext2_alloc.c
  projects/camlock/sys/fs/ext2fs/ext2_balloc.c
  projects/camlock/sys/fs/ext2fs/ext2_bmap.c
  projects/camlock/sys/fs/ext2fs/ext2_dinode.h
  projects/camlock/sys/fs/ext2fs/ext2_extern.h
  projects/camlock/sys/fs/ext2fs/ext2_inode.c
  projects/camlock/sys/fs/ext2fs/ext2_inode_cnv.c
  projects/camlock/sys/fs/ext2fs/ext2_subr.c
  projects/camlock/sys/fs/ext2fs/ext2_vfsops.c
  projects/camlock/sys/fs/ext2fs/ext2_vnops.c
  projects/camlock/sys/fs/ext2fs/ext2fs.h
  projects/camlock/sys/fs/ext2fs/inode.h
  projects/camlock/sys/fs/nfs/nfsport.h
  projects/camlock/sys/fs/nfs/nfsrvcache.h
  projects/camlock/sys/fs/nfsserver/nfs_nfsdcache.c
  projects/camlock/sys/fs/nfsserver/nfs_nfsdport.c
  projects/camlock/sys/geom/raid/g_raid.c
  projects/camlock/sys/geom/raid/g_raid.h
  projects/camlock/sys/geom/raid/tr_raid5.c
  projects/camlock/sys/i386/include/acpica_machdep.h
  projects/camlock/sys/ia64/include/acpica_machdep.h
  projects/camlock/sys/kern/kern_descrip.c
  projects/camlock/sys/kern/kern_event.c
  projects/camlock/sys/kern/kern_exec.c
  projects/camlock/sys/kern/kern_exit.c
  projects/camlock/sys/kern/kern_fork.c
  projects/camlock/sys/kern/kern_linker.c
  projects/camlock/sys/kern/kern_malloc.c
  projects/camlock/sys/kern/kern_proc.c
  projects/camlock/sys/kern/kern_rangelock.c
  projects/camlock/sys/kern/kern_sdt.c
  projects/camlock/sys/kern/kern_sig.c
  projects/camlock/sys/kern/kern_timeout.c
  projects/camlock/sys/kern/subr_vmem.c
  projects/camlock/sys/kern/sys_pipe.c
  projects/camlock/sys/kern/sys_socket.c
  projects/camlock/sys/kern/tty_pts.c
  projects/camlock/sys/kern/uipc_mqueue.c
  projects/camlock/sys/kern/uipc_sem.c
  projects/camlock/sys/kern/uipc_shm.c
  projects/camlock/sys/kern/uipc_syscalls.c
  projects/camlock/sys/kern/vfs_syscalls.c
  projects/camlock/sys/kern/vfs_vnops.c
  projects/camlock/sys/modules/dtrace/sdt/Makefile
  projects/camlock/sys/modules/ext2fs/Makefile
  projects/camlock/sys/net80211/ieee80211.c
  projects/camlock/sys/net80211/ieee80211_action.c
  projects/camlock/sys/net80211/ieee80211_node.c
  projects/camlock/sys/net80211/ieee80211_phy.c
  projects/camlock/sys/net80211/ieee80211_power.c
  projects/camlock/sys/net80211/ieee80211_proto.c
  projects/camlock/sys/net80211/ieee80211_scan_sta.c
  projects/camlock/sys/netinet/ip_carp.c
  projects/camlock/sys/netinet/sctp_dtrace_define.h
  projects/camlock/sys/netinet/sctp_output.c
  projects/camlock/sys/ofed/include/linux/linux_compat.c
  projects/camlock/sys/opencrypto/cryptodev.c
  projects/camlock/sys/pci/ncr.c
  projects/camlock/sys/sys/eventhandler.h
  projects/camlock/sys/sys/file.h
  projects/camlock/sys/sys/linker.h
  projects/camlock/sys/sys/param.h
  projects/camlock/sys/sys/rangelock.h
  projects/camlock/sys/sys/sdt.h
  projects/camlock/sys/sys/socket.h
  projects/camlock/sys/sys/vmmeter.h
  projects/camlock/sys/vm/memguard.c
  projects/camlock/sys/vm/vm_kern.h
  projects/camlock/sys/vm/vm_page.c
  projects/camlock/sys/vm/vm_page.h
  projects/camlock/sys/vm/vm_pageout.c
  projects/camlock/sys/x86/isa/clock.c
  projects/camlock/tools/build/mk/OptionalObsoleteFiles.inc
  projects/camlock/usr.bin/calendar/calendars/calendar.freebsd
  projects/camlock/usr.bin/dtc/input_buffer.cc
  projects/camlock/usr.bin/kdump/kdump.c
  projects/camlock/usr.bin/kdump/mksubr
  projects/camlock/usr.bin/su/su.c
  projects/camlock/usr.sbin/bsdinstall/scripts/mirrorselect
Directory Properties:
  projects/camlock/   (props changed)
  projects/camlock/crypto/openssh/   (props changed)
  projects/camlock/gnu/lib/   (props changed)
  projects/camlock/lib/libc/   (props changed)
  projects/camlock/sbin/   (props changed)
  projects/camlock/sys/   (props changed)
  projects/camlock/sys/cddl/contrib/opensolaris/   (props changed)
  projects/camlock/sys/conf/   (props changed)
  projects/camlock/usr.bin/calendar/   (props changed)

Modified: projects/camlock/UPDATING
==============================================================================
--- projects/camlock/UPDATING	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/UPDATING	Thu Aug 15 20:28:13 2013	(r254381)
@@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20130813:
+	WITH_ICONV has been split into two feature sets.  WITH_ICONV now
+	enables just the iconv* functionality and is now on by default.
+	WITH_LIBICONV_COMPAT enables the libiconv api and link time
+	compatability.  Set WITHOUT_ICONV to build the old way.
+	If you have been using WITH_ICONV before, you will very likely
+	need to turn on WITH_LIBICONV_COMPAT.
+
 20130806:
 	INVARIANTS option now enables DEBUG for code with OpenSolaris and
 	Illumos origin, including ZFS.  If you have INVARIANTS in your

Modified: projects/camlock/bin/sh/parser.c
==============================================================================
--- projects/camlock/bin/sh/parser.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/bin/sh/parser.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -577,6 +577,9 @@ TRACE(("expecting DO got %s %s\n", tokna
 	case TSEMI:
 	case TAND:
 	case TOR:
+	case TPIPE:
+	case TENDCASE:
+	case TFALLTHRU:
 		/*
 		 * An empty command before a ; doesn't make much sense, and
 		 * should certainly be disallowed in the case of `if ;'.

Modified: projects/camlock/bin/sh/var.c
==============================================================================
--- projects/camlock/bin/sh/var.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/bin/sh/var.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -710,6 +710,7 @@ localcmd(int argc __unused, char **argv 
 {
 	char *name;
 
+	nextopt("");
 	if (! in_function())
 		error("Not in a function");
 	while ((name = *argptr++) != NULL) {

Modified: projects/camlock/crypto/openssh/sftp.c
==============================================================================
--- projects/camlock/crypto/openssh/sftp.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/crypto/openssh/sftp.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -1328,7 +1328,8 @@ parse_dispatch_command(struct sftp_conn 
 	case I_SYMLINK:
 		sflag = 1;
 	case I_LINK:
-		path1 = make_absolute(path1, *pwd);
+		if (!sflag)
+			path1 = make_absolute(path1, *pwd);
 		path2 = make_absolute(path2, *pwd);
 		err = (sflag ? do_symlink : do_hardlink)(conn, path1, path2);
 		break;

Modified: projects/camlock/gnu/lib/libstdc++/config.h
==============================================================================
--- projects/camlock/gnu/lib/libstdc++/config.h	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/gnu/lib/libstdc++/config.h	Thu Aug 15 20:28:13 2013	(r254381)
@@ -212,13 +212,13 @@
 #define HAVE_LOG10F 1
 
 /* Define to 1 if you have the `log10l' function. */
-/* #undef HAVE_LOG10L */
+#define HAVE_LOG10L 1
 
 /* Define to 1 if you have the `logf' function. */
 #define HAVE_LOGF 1
 
 /* Define to 1 if you have the `logl' function. */
-/* #undef HAVE_LOGL */
+#define HAVE_LOGL 1
 
 /* Define to 1 if you have the <machine/endian.h> header file. */
 #define HAVE_MACHINE_ENDIAN_H 1

Modified: projects/camlock/include/Makefile
==============================================================================
--- projects/camlock/include/Makefile	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/include/Makefile	Thu Aug 15 20:28:13 2013	(r254381)
@@ -72,10 +72,6 @@ _dev_ieee488=	dev/ieee488
 INCS+=	hesiod.h
 .endif
 
-.if ${MK_ICONV} != "no"
-INCS+=	iconv.h
-.endif
-
 .if ${MK_BLUETOOTH} != "no"
 LSUBSUBDIRS+=	netgraph/bluetooth/include
 .endif
@@ -85,6 +81,20 @@ LSUBSUBDIRS+=	netgraph/bluetooth/include
 _netipx=	netipx
 #.endif
 
+# Handle the #define aliases for libiconv
+.if ${MK_ICONV} == "yes"
+CLEANFILES+=	_libiconv_compat.h
+INCS+=		_libiconv_compat.h iconv.h
+_libiconv_compat.h:	${.CURDIR}/Makefile
+	echo "/* Indicate whether libiconv symbols are present */" > _libiconv_compat.h
+.if ${MK_LIBICONV_COMPAT} == "yes"
+	echo "#define __LIBICONV_COMPAT" >> _libiconv_compat.h
+.else
+	echo "#undef __LIBICONV_COMPAT" >> _libiconv_compat.h
+.endif
+.endif
+	
+
 # Define SHARED to indicate whether you want symbolic links to the system
 # source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
 # probably only useful for developers and should be avoided if you do not

Modified: projects/camlock/include/iconv.h
==============================================================================
--- projects/camlock/include/iconv.h	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/include/iconv.h	Thu Aug 15 20:28:13 2013	(r254381)
@@ -41,20 +41,23 @@
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
-#define iconv_open		libiconv_open
-#define iconv_close		libiconv_close
-#define iconv			libiconv
-#define iconv_t			libiconv_t
+#include <_libiconv_compat.h>
+#ifdef __LIBICONV_COMPAT
+#define libiconv_open		iconv_open
+#define libiconv_close		iconv_close
+#define libiconv		iconv
+#define libiconv_t		iconv_t
+#endif
 
 struct __tag_iconv_t;
 typedef	struct __tag_iconv_t	*iconv_t;
 
 __BEGIN_DECLS
-iconv_t	libiconv_open(const char *, const char *);
-size_t	libiconv(iconv_t, const char ** __restrict,
-		     size_t * __restrict, char ** __restrict,
-		     size_t * __restrict);
-int	libiconv_close(iconv_t);
+iconv_t	iconv_open(const char *, const char *);
+size_t	iconv(iconv_t, const char ** __restrict,
+	      size_t * __restrict, char ** __restrict,
+	      size_t * __restrict);
+int	iconv_close(iconv_t);
 /*
  * non-portable interfaces for iconv
  */
@@ -67,20 +70,28 @@ size_t	__iconv(iconv_t, const char **, s
 /*
  * GNU interfaces for iconv
  */
-#define iconv_open_into		libiconv_open_into
-#define iconvctl		libiconvctl
-#define iconvlist		libiconvlist
+#ifdef __LIBICONV_COMPAT
+#define libiconv_open_into		iconv_open_into
+#define libiconvctl			iconvctl
+#define libiconvlist			iconvlist
+#define libiconv_set_relocation_prefix	iconv_set_relocation_prefix
+#endif
 
 /* We have iconvctl() */
-#define _LIBICONV_VERSION	0x0108
-extern int _libiconv_version;
+#define _ICONV_VERSION	0x0108
+extern int _iconv_version;
+
+#ifdef __LIBICONV_COMPAT
+#define _libiconv_version		_iconv_version
+#define _LIBICONV_VERSION		_ICONV_VERSION
+#endif
 
 typedef struct {
 	void	*spaceholder[64];
 } iconv_allocation_t;
 
 int	 iconv_open_into(const char *, const char *, iconv_allocation_t *);
-void	 libiconv_set_relocation_prefix (const char *orig_prefix,
+void	 iconv_set_relocation_prefix(const char *orig_prefix,
 	     const char *curr_prefix);
 
 /*

Modified: projects/camlock/lib/Makefile
==============================================================================
--- projects/camlock/lib/Makefile	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/Makefile	Thu Aug 15 20:28:13 2013	(r254381)
@@ -78,6 +78,7 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	${_libgpib} \
 	${_libgssapi} \
 	${_librpcsec_gss} \
+	${_libiconv_compat} \
 	libipsec \
 	${_libipx} \
 	libjail \
@@ -189,6 +190,10 @@ _libcxxrt=	libcxxrt
 _libcplusplus=	libc++
 .endif
 
+.if ${MK_LIBICONV_COMPAT} != "no"
+_libiconv_compat=	libiconv_compat
+.endif
+
 .if ${MK_LIBTHR} != "no"
 _libthr=	libthr
 .endif

Modified: projects/camlock/lib/libc/db/btree/bt_open.c
==============================================================================
--- projects/camlock/lib/libc/db/btree/bt_open.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/db/btree/bt_open.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -196,7 +196,7 @@ __bt_open(const char *fname, int flags, 
 			goto einval;
 		}
 
-		if ((t->bt_fd = _open(fname, flags, mode)) < 0)
+		if ((t->bt_fd = _open(fname, flags | O_CLOEXEC, mode)) < 0)
 			goto err;
 
 	} else {
@@ -207,9 +207,6 @@ __bt_open(const char *fname, int flags, 
 		F_SET(t, B_INMEM);
 	}
 
-	if (_fcntl(t->bt_fd, F_SETFD, 1) == -1)
-		goto err;
-
 	if (_fstat(t->bt_fd, &sb))
 		goto err;
 	if (sb.st_size) {
@@ -405,7 +402,7 @@ tmp(void)
 
 	(void)sigfillset(&set);
 	(void)_sigprocmask(SIG_BLOCK, &set, &oset);
-	if ((fd = mkstemp(path)) != -1)
+	if ((fd = mkostemp(path, O_CLOEXEC)) != -1)
 		(void)unlink(path);
 	(void)_sigprocmask(SIG_SETMASK, &oset, NULL);
 	return(fd);

Modified: projects/camlock/lib/libc/db/hash/hash_page.c
==============================================================================
--- projects/camlock/lib/libc/db/hash/hash_page.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/db/hash/hash_page.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -862,10 +862,8 @@ open_temp(HTAB *hashp)
 	/* Block signals; make sure file goes away at process exit. */
 	(void)sigfillset(&set);
 	(void)_sigprocmask(SIG_BLOCK, &set, &oset);
-	if ((hashp->fp = mkstemp(path)) != -1) {
+	if ((hashp->fp = mkostemp(path, O_CLOEXEC)) != -1)
 		(void)unlink(path);
-		(void)_fcntl(hashp->fp, F_SETFD, 1);
-	}
 	(void)_sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL);
 	return (hashp->fp != -1 ? 0 : -1);
 }

Modified: projects/camlock/lib/libc/gmon/gmon.c
==============================================================================
--- projects/camlock/lib/libc/gmon/gmon.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/gmon/gmon.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -163,13 +163,13 @@ _mcleanup(void)
 	else
 		snprintf(outname, sizeof(outname), "%s.gmon", _getprogname());
 
-	fd = _open(outname, O_CREAT|O_TRUNC|O_WRONLY, 0666);
+	fd = _open(outname, O_CREAT|O_TRUNC|O_WRONLY|O_CLOEXEC, 0666);
 	if (fd < 0) {
 		_warn("_mcleanup: %s", outname);
 		return;
 	}
 #ifdef DEBUG
-	log = _open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY, 0664);
+	log = _open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY|O_CLOEXEC, 0664);
 	if (log < 0) {
 		_warn("_mcleanup: gmon.log");
 		return;

Modified: projects/camlock/lib/libc/iconv/Symbol.map
==============================================================================
--- projects/camlock/lib/libc/iconv/Symbol.map	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/iconv/Symbol.map	Thu Aug 15 20:28:13 2013	(r254381)
@@ -18,6 +18,7 @@ FBSD_1.2 {
 };
 
 FBSD_1.3 {
+	_iconv_version;
 	iconv;
 	iconv_open;
 	iconv_close;
@@ -49,6 +50,7 @@ FBSDprivate_1.0 {
 	_citrus_bcs_strtoul;
 	_citrus_bcs_tolower;
 	_citrus_bcs_toupper;
+	_citrus_bcs_trunc_rws_len;
 	_citrus_bcs_trunc_ws_len;
 	_citrus_csmapper_open;
 	_citrus_csmapper_close;

Modified: projects/camlock/lib/libc/iconv/iconv.c
==============================================================================
--- projects/camlock/lib/libc/iconv/iconv.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/iconv/iconv.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -47,17 +47,21 @@
 #include "citrus_hash.h"
 #include "citrus_iconv.h"
 
-__weak_reference(libiconv, iconv);
-__weak_reference(libiconv_open, iconv_open);
-__weak_reference(libiconv_open_into, iconv_open_into);
-__weak_reference(libiconv_close, iconv_close);
-__weak_reference(libiconvlist, iconvlist);
-__weak_reference(libiconvctl, iconvctl);
-__weak_reference(libiconv_set_relocation_prefix, iconv_set_relocation_prefix);
+#include <_libiconv_compat.h>
+#ifdef __LIBICONV_COMPAT
+__weak_reference(iconv, libiconv);
+__weak_reference(iconv_open, libiconv_open);
+__weak_reference(iconv_open_into, libiconv_open_into);
+__weak_reference(iconv_close, libiconv_close);
+__weak_reference(iconvlist, libiconvlist);
+__weak_reference(iconvctl, libiconvctl);
+__weak_reference(iconv_set_relocation_prefix, libiconv_set_relocation_prefix);
+__weak_reference(_iconv_version, _libiconv_version);
+#endif
 
 #define ISBADF(_h_)	(!(_h_) || (_h_) == (iconv_t)-1)
 
-int _libiconv_version = _LIBICONV_VERSION;
+int _iconv_version = _ICONV_VERSION;
 
 iconv_t		 _iconv_open(const char *out, const char *in,
 		    struct _citrus_iconv *prealloc);
@@ -100,14 +104,14 @@ _iconv_open(const char *out, const char 
 }
 
 iconv_t
-libiconv_open(const char *out, const char *in)
+iconv_open(const char *out, const char *in)
 {
 
 	return (_iconv_open(out, in, NULL));
 }
 
 int
-libiconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr)
+iconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr)
 {
 	struct _citrus_iconv *handle;
 
@@ -116,7 +120,7 @@ libiconv_open_into(const char *out, cons
 }
 
 int
-libiconv_close(iconv_t handle)
+iconv_close(iconv_t handle)
 {
 
 	if (ISBADF(handle)) {
@@ -130,7 +134,7 @@ libiconv_close(iconv_t handle)
 }
 
 size_t
-libiconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout)
+iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout)
 {
 	size_t ret;
 	int err;
@@ -210,7 +214,7 @@ qsort_helper(const void *first, const vo
 }
 
 void
-libiconvlist(int (*do_one) (unsigned int, const char * const *,
+iconvlist(int (*do_one) (unsigned int, const char * const *,
     void *), void *data)
 {
 	char **list, **names;
@@ -264,7 +268,7 @@ __inline const char
 }
 
 int
-libiconvctl(iconv_t cd, int request, void *argument)
+iconvctl(iconv_t cd, int request, void *argument)
 {
 	struct _citrus_iconv *cv;
 	struct iconv_hooks *hooks;
@@ -316,7 +320,7 @@ libiconvctl(iconv_t cd, int request, voi
 }
 
 void
-libiconv_set_relocation_prefix(const char *orig_prefix __unused,
+iconv_set_relocation_prefix(const char *orig_prefix __unused,
     const char *curr_prefix __unused)
 {
 

Modified: projects/camlock/lib/libc/stdlib/system.c
==============================================================================
--- projects/camlock/lib/libc/stdlib/system.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libc/stdlib/system.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
 #include <signal.h>
 #include <stdlib.h>
 #include <stddef.h>
+#include <string.h>
 #include <unistd.h>
 #include <paths.h>
 #include <errno.h>
@@ -56,37 +57,36 @@ __system(const char *command)
 	if (!command)		/* just checking... */
 		return(1);
 
-	/*
-	 * Ignore SIGINT and SIGQUIT, block SIGCHLD. Remember to save
-	 * existing signal dispositions.
-	 */
-	ign.sa_handler = SIG_IGN;
-	(void)sigemptyset(&ign.sa_mask);
-	ign.sa_flags = 0;
-	(void)_sigaction(SIGINT, &ign, &intact);
-	(void)_sigaction(SIGQUIT, &ign, &quitact);
 	(void)sigemptyset(&newsigblock);
 	(void)sigaddset(&newsigblock, SIGCHLD);
 	(void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock);
-	switch(pid = fork()) {
+	switch(pid = vfork()) {
 	case -1:			/* error */
-		break;
+		(void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL);
+		return (-1);
 	case 0:				/* child */
 		/*
 		 * Restore original signal dispositions and exec the command.
 		 */
-		(void)_sigaction(SIGINT, &intact, NULL);
-		(void)_sigaction(SIGQUIT,  &quitact, NULL);
 		(void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL);
 		execl(_PATH_BSHELL, "sh", "-c", command, (char *)NULL);
 		_exit(127);
-	default:			/* parent */
-		savedpid = pid;
-		do {
-			pid = _wait4(savedpid, &pstat, 0, (struct rusage *)0);
-		} while (pid == -1 && errno == EINTR);
-		break;
 	}
+	/* 
+	 * If we are running means that the child has either completed
+	 * its execve, or has failed.
+	 * Block SIGINT/QUIT because sh -c handles it and wait for
+	 * it to clean up.
+	 */
+	memset(&ign, 0, sizeof(ign));
+	ign.sa_handler = SIG_IGN;
+	(void)sigemptyset(&ign.sa_mask);
+	(void)_sigaction(SIGINT, &ign, &intact);
+	(void)_sigaction(SIGQUIT, &ign, &quitact);
+	savedpid = pid;
+	do {
+		pid = _wait4(savedpid, &pstat, 0, (struct rusage *)0);
+	} while (pid == -1 && errno == EINTR);
 	(void)_sigaction(SIGINT, &intact, NULL);
 	(void)_sigaction(SIGQUIT,  &quitact, NULL);
 	(void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL);

Modified: projects/camlock/lib/libkiconv/xlat16_iconv.c
==============================================================================
--- projects/camlock/lib/libkiconv/xlat16_iconv.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/lib/libkiconv/xlat16_iconv.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -49,8 +49,6 @@
 
 #include "quirks.h"
 
-typedef void *iconv_t;
-
 struct xlat16_table {
 	uint32_t *	idx[0x200];
 	void *		data;
@@ -61,6 +59,7 @@ static struct xlat16_table kiconv_xlat16
 static int chklocale(int, const char *);
 
 #ifdef ICONV_DLOPEN
+typedef void *iconv_t;
 static int my_iconv_init(void);
 static iconv_t (*my_iconv_open)(const char *, const char *);
 static size_t (*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *);

Modified: projects/camlock/release/release.conf.sample
==============================================================================
--- projects/camlock/release/release.conf.sample	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/release/release.conf.sample	Thu Aug 15 20:28:13 2013	(r254381)
@@ -10,18 +10,13 @@ CHROOTDIR="/scratch"
 SVNROOT="svn://svn.FreeBSD.org"
 
 ## Set the src/, ports/, and doc/ branches or tags.
-SRCBRANCH="base/head"
-DOCBRANCH="doc/head"
-PORTBRANCH="ports/head"
+SRCBRANCH="base/head@rHEAD"
+DOCBRANCH="doc/head@rHEAD"
+PORTBRANCH="ports/head@rHEAD"
 
 ## Run svn co --force for src checkout.
 #SRC_FORCE_CHECKOUT=yes
 
-## Set the src/, ports/, and doc/ revisions.
-SRCREVISION="-rHEAD"
-DOCREVISION="-rHEAD"
-PORTREVISION="-rHEAD"
-
 ## Set to override the default target architecture.
 #TARGET="amd64"
 #TARGET_ARCH="amd64"

Modified: projects/camlock/release/release.sh
==============================================================================
--- projects/camlock/release/release.sh	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/release/release.sh	Thu Aug 15 20:28:13 2013	(r254381)
@@ -41,19 +41,14 @@ CHROOTDIR="/scratch"
 # The default svn checkout server, and svn branches for src/, doc/,
 # and ports/.
 SVNROOT="svn://svn.freebsd.org"
-SRCBRANCH="base/head"
-DOCBRANCH="doc/head"
-PORTBRANCH="ports/head"
+SRCBRANCH="base/head@rHEAD"
+DOCBRANCH="doc/head@rHEAD"
+PORTBRANCH="ports/head@rHEAD"
 
 # Sometimes one needs to checkout src with --force svn option.
 # If custom kernel configs copied to src tree before checkout, e.g.
 SRC_FORCE_CHECKOUT=
 
-# The default src/, doc/, and ports/ revisions.
-SRCREVISION="-rHEAD"
-DOCREVISION="-rHEAD"
-PORTREVISION="-rHEAD"
-
 # The default make.conf and src.conf to use.  Set to /dev/null
 # by default to avoid polluting the chroot(8) environment with
 # non-default settings.
@@ -62,34 +57,22 @@ SRC_CONF="/dev/null"
 
 # The number of make(1) jobs, defaults to the number of CPUs available for
 # buildworld, and half of number of CPUs available for buildkernel.
-WORLD_FLAGS="-j$(sysctl -n hw.ncpu)"
-KERNEL_FLAGS="-j$(expr $(sysctl -n hw.ncpu) / 2)"
+NCPU=$(sysctl -n hw.ncpu)
+if [ ${NCPU} -gt 1 ]; then
+	WORLD_FLAGS="-j${NCPU}"
+	KERNEL_FLAGS="-j$(expr ${NCPU} / 2)"
+fi
 MAKE_FLAGS="-s"
 
 # The name of the kernel to build, defaults to GENERIC.
 KERNEL="GENERIC"
 
-# The TARGET and TARGET_ARCH to build, defaults to the running system.
-TARGET="$(uname -p)"
-TARGET_ARCH="${TARGET}"
-
 # Set to non-empty value to disable checkout of doc/ and/or ports/.  Disabling
 # ports/ checkout also forces NODOC to be set.
 NODOC=
 NOPORTS=
 MAKE_FLAGS="${MAKE_FLAGS}"
 
-get_rev_branch () {
-	# Set up the OSVERSION, BRANCH, and REVISION based on the src/ tree
-	# checked out.
-	OSVERSION=$(grep '#define __FreeBSD_version' ${CHROOTDIR}/usr/src/sys/sys/param.h | awk '{print $3}')
-	BRANCH=$(grep '^BRANCH=' ${CHROOTDIR}/usr/src/sys/conf/newvers.sh \
-		| awk -F\= '{print $2}' | sed -e 's,",,g')
-	REVISION=$(grep '^REVISION=' ${CHROOTDIR}/usr/src/sys/conf/newvers.sh \
-		| awk -F\= '{print $2}' | sed -e 's,",,g')
-	OSRELEASE="${REVISION}-${BRANCH}"
-}
-
 usage() {
 	echo "Usage: $0 [-c release.conf]"
 	exit 1
@@ -136,7 +119,11 @@ fi
 # this file, unless overridden by release.conf.  In most cases, these
 # will not need to be changed.
 CONF_FILES="__MAKE_CONF=${MAKE_CONF} SRCCONF=${SRC_CONF}"
-ARCH_FLAGS="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}"
+if [ "x${TARGET}" != "x" ] && [ "x${TARGET_ARCH}" != "x" ]; then
+	ARCH_FLAGS="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}"
+else
+	ARCH_FLAGS=
+fi
 CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}"
 CHROOT_IMAKEFLAGS="${CONF_FILES}"
 CHROOT_DMAKEFLAGS="${CONF_FILES}"
@@ -165,16 +152,14 @@ set -e # Everything must succeed
 
 mkdir -p ${CHROOTDIR}/usr
 
-svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION
+svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src
 if [ "x${NODOC}" = "x" ]; then
-	svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc $DOCREVISION
+	svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc
 fi
 if [ "x${NOPORTS}" = "x" ]; then
-	svn co ${SVNROOT}/${PORTBRANCH} ${CHROOTDIR}/usr/ports $PORTREVISION
+	svn co ${SVNROOT}/${PORTBRANCH} ${CHROOTDIR}/usr/ports
 fi
 
-get_rev_branch
-
 cd ${CHROOTDIR}/usr/src
 make ${CHROOT_WMAKEFLAGS} buildworld
 make ${CHROOT_IMAKEFLAGS} installworld DESTDIR=${CHROOTDIR}

Modified: projects/camlock/sbin/init/init.c
==============================================================================
--- projects/camlock/sbin/init/init.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/sbin/init/init.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -1729,7 +1729,8 @@ setprocresources(const char *cname)
 	login_cap_t *lc;
 	if ((lc = login_getclassbyname(cname, NULL)) != NULL) {
 		setusercontext(lc, (struct passwd*)NULL, 0,
-		    LOGIN_SETPRIORITY | LOGIN_SETRESOURCES);
+		    LOGIN_SETPRIORITY | LOGIN_SETRESOURCES |
+		    LOGIN_SETLOGINCLASS | LOGIN_SETCPUMASK);
 		login_close(lc);
 	}
 }

Modified: projects/camlock/share/man/man7/release.7
==============================================================================
--- projects/camlock/share/man/man7/release.7	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/share/man/man7/release.7	Thu Aug 15 20:28:13 2013	(r254381)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 11, 2013
+.Dd August 14, 2013
 .Dt RELEASE 7
 .Os
 .Sh NAME
@@ -149,41 +149,23 @@ The
 .Li src/
 branch to use.
 Defaults to
-.Va head/ .
+.Va head/@rHEAD .
 .It Va DOCBRANCH
 The
 .Li doc/
 branch to use.
 Defaults to
-.Va head/ .
+.Va head/@rHEAD .
 .It Va PORTBRANCH
 The
 .Li ports/
 branch to use.
 Defaults to
-.Va head/ .
-.It Va SRCREVISION
-The revision of the
-.Li src/
-tree to use.
-Defaults to the current top of tree revision.
-.It Va DOCREVISION
-The revision of the
-.Li doc/
-tree to use.
-Defaults to the current top of tree revision.
-.It Va PORTREVISION
-The revision of the
-.Li ports/
-tree to use.
-Defaults to the current top of tree revision.
+.Va head/@rHEAD .
 .It Va TARGET
-The target machine type for the release.
-Defaults to the current machine type.
+The target machine type for cross-building a release.
 .It Va TARGET_ARCH
-The target machine architecture for the release.
-Defaults to the value of
-.Va TARGET .
+The target machine architecture for cross-building a release.
 .Pp
 For the supported list of
 .Va TARGET
@@ -227,7 +209,7 @@ Defaults to setting the number of
 .Xr make 1
 jobs
 .Pq Ar -j
-to the number of CPUs available on the system.
+to the number of CPUs available on a SMP-capable system.
 .It Va KERNEL_FLAGS
 Additional flags to pass to
 .Xr make 1
@@ -238,7 +220,7 @@ Defaults to setting the number of
 .Xr make 1
 jobs
 .Pq Ar -j
-to half the number of CPUs available on the system.
+to half the number of CPUs available on a SMP-capable system.
 .It Va NODOC
 Set to a non-empty value to skip the
 .Li doc/

Modified: projects/camlock/share/man/man9/EVENTHANDLER.9
==============================================================================
--- projects/camlock/share/man/man9/EVENTHANDLER.9	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/share/man/man9/EVENTHANDLER.9	Thu Aug 15 20:28:13 2013	(r254381)
@@ -23,7 +23,7 @@
 .\" SUCH DAMAGE.
 .\" $FreeBSD$
 .\"
-.Dd May 11, 2012
+.Dd August 1, 2013
 .Dt EVENTHANDLER 9
 .Os
 .Sh NAME
@@ -199,6 +199,12 @@ Callbacks invoked when a new network int
 Callbacks invoked when a network interface is taken down.
 .It Vt bpf_track
 Callbacks invoked when a BPF listener attaches to/detaches from network interface.
+.It Vt kld_load
+Callbacks invoked after a linker file has been loaded.
+.It Vt kld_unload
+Callbacks invoked before a linker file is about to be unloaded.
+These callbacks may be used to return an error and prevent the unload from
+proceeding.
 .It Vt power_profile_change
 Callbacks invoked when the power profile of the system changes.
 .It Vt process_exec

Modified: projects/camlock/share/man/man9/netisr.9
==============================================================================
--- projects/camlock/share/man/man9/netisr.9	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/share/man/man9/netisr.9	Thu Aug 15 20:28:13 2013	(r254381)
@@ -83,7 +83,7 @@ and
 .Nm
 supports multi-processor execution of handlers, and relies on a combination
 of source ordering and protocol-specific ordering and work-placement
-policies to decide how do distribute work across one or more worker
+policies to decide how to distribute work across one or more worker
 threads.
 Registering protocols will declare one of three policies:
 .Bl -tag -width NETISR_POLICY_SOURCE

Modified: projects/camlock/share/misc/committers-ports.dot
==============================================================================
--- projects/camlock/share/misc/committers-ports.dot	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/share/misc/committers-ports.dot	Thu Aug 15 20:28:13 2013	(r254381)
@@ -155,6 +155,7 @@ miwi [label="Martin Wilke\nmiwi@FreeBSD.
 mm [label="Martin Matuska\nmm@FreeBSD.org\n2007/04/04"]
 mnag [label="Marcus Alves Grando\nmnag@FreeBSD.org\n2005/09/15"]
 mva [label="Marcus von Appen\nmva@FreeBSD.org\n2009/02/16"]
+nemysis [label="Rusmir Dusko\nnemysis@FreeBSD.org\n2013/07/31"]
 nemoliu [label="Tong Liu\nnemoliu@FreeBSD.org\n2007/04/25"]
 netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2002/03/19"]
 nobutaka [label="Nobutaka Mantani\nnobutaka@FreeBSD.org\n2001/11/02"]
@@ -421,6 +422,7 @@ miwi -> lme
 miwi -> makc
 miwi -> mandree
 miwi -> mva
+miwi -> nemysis
 miwi -> nox
 miwi -> olivierd
 miwi -> pawel
@@ -456,6 +458,8 @@ pav -> josef
 pav -> kwm
 pav -> mnag
 
+pawel -> nemysis
+
 pgj -> ashish
 pgj -> jacula
 
@@ -525,9 +529,12 @@ wen -> cs
 wen -> culot
 wen -> pawel
 
+wg -> nemysis
+
 will -> lioux
 
 wxs -> jsa
+wxs -> nemysis
 wxs -> sahil
 wxs -> skreuzer
 wxs -> swills

Modified: projects/camlock/share/mk/bsd.own.mk
==============================================================================
--- projects/camlock/share/mk/bsd.own.mk	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/share/mk/bsd.own.mk	Thu Aug 15 20:28:13 2013	(r254381)
@@ -292,6 +292,7 @@ __DEFAULT_YES_OPTIONS = \
     GPIO \
     GROFF \
     HTML \
+    ICONV \
     INET \
     INET6 \
     INFO \
@@ -377,7 +378,7 @@ __DEFAULT_NO_OPTIONS = \
     GNU_PATCH \
     GPL_DTC \
     HESIOD \
-    ICONV \
+    LIBICONV_COMPAT \
     INSTALL_AS_USER \
     LDNS_UTILS \
     NMTREE \
@@ -484,6 +485,10 @@ MK_BIND_NAMED:=	no
 MK_BIND_UTILS:=	no
 .endif
 
+.if ${MK_ICONV} == "no"
+MK_LIBICONV_COMPAT:=	no
+.endif
+
 .if ${MK_LDNS} == "no"
 MK_LDNS_UTILS:=	no
 .endif

Modified: projects/camlock/sys/amd64/amd64/initcpu.c
==============================================================================
--- projects/camlock/sys/amd64/amd64/initcpu.c	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/sys/amd64/amd64/initcpu.c	Thu Aug 15 20:28:13 2013	(r254381)
@@ -192,7 +192,7 @@ initializecpu(void)
 }
 
 void
-initializecpucache()
+initializecpucache(void)
 {
 
 	/*

Modified: projects/camlock/sys/amd64/include/acpica_machdep.h
==============================================================================
--- projects/camlock/sys/amd64/include/acpica_machdep.h	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/sys/amd64/include/acpica_machdep.h	Thu Aug 15 20:28:13 2013	(r254381)
@@ -1,80 +1,6 @@
 /*-
- * Copyright (c) 2002 Mitsuru IWASAKI
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (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$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-/******************************************************************************
- *
- * Name: acpica_machdep.h - arch-specific defines, etc.
- *       $Revision$
- *
- *****************************************************************************/
-
-#ifndef __ACPICA_MACHDEP_H__
-#define	__ACPICA_MACHDEP_H__
-
-#ifdef _KERNEL
-/*
- * Calling conventions:
- *
- * ACPI_SYSTEM_XFACE        - Interfaces to host OS (handlers, threads)
- * ACPI_EXTERNAL_XFACE      - External ACPI interfaces 
- * ACPI_INTERNAL_XFACE      - Internal ACPI interfaces
- * ACPI_INTERNAL_VAR_XFACE  - Internal variable-parameter list interfaces
- */
-#define	ACPI_SYSTEM_XFACE
-#define	ACPI_EXTERNAL_XFACE
-#define	ACPI_INTERNAL_XFACE
-#define	ACPI_INTERNAL_VAR_XFACE
-
-/* Asm macros */
-
-#define	ACPI_ASM_MACROS
-#define	BREAKPOINT3
-#define	ACPI_DISABLE_IRQS() disable_intr()
-#define	ACPI_ENABLE_IRQS()  enable_intr()
-
-#define	ACPI_FLUSH_CPU_CACHE()	wbinvd()
-
-/* Section 5.2.9.1:  global lock acquire/release functions */
-extern int	acpi_acquire_global_lock(uint32_t *lock);
-extern int	acpi_release_global_lock(uint32_t *lock);
-#define	ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq)	do {			\
-	(Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock));	\
-} while (0)
-#define	ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq)	do {			\
-	(Acq) = acpi_release_global_lock(&((GLptr)->GlobalLock));	\
-} while (0)
- 
-void	acpi_SetDefaultIntrModel(int model);
-void	acpi_cpu_c1(void);
-void	*acpi_map_table(vm_paddr_t pa, const char *sig);
-void	acpi_unmap_table(void *table);
-vm_paddr_t acpi_find_table(const char *sig);
-
-#endif /* _KERNEL */
-
-#endif /* __ACPICA_MACHDEP_H__ */
+#include <x86/acpica_machdep.h>

Modified: projects/camlock/sys/arm/freescale/imx/files.imx51
==============================================================================
--- projects/camlock/sys/arm/freescale/imx/files.imx51	Thu Aug 15 20:19:17 2013	(r254380)
+++ projects/camlock/sys/arm/freescale/imx/files.imx51	Thu Aug 15 20:28:13 2013	(r254381)
@@ -8,7 +8,7 @@ arm/arm/irq_dispatch.S			standard
 kern/kern_clocksource.c			standard
 
 # Init
-arm/freescale/imx/imx_machdep.c		standard
+arm/freescale/imx/imx51_machdep.c	standard
 arm/freescale/imx/common.c		standard
 arm/freescale/imx/bus_space.c		standard
 

Copied: projects/camlock/sys/arm/freescale/imx/imx51_machdep.c (from r254380, head/sys/arm/freescale/imx/imx51_machdep.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/camlock/sys/arm/freescale/imx/imx51_machdep.c	Thu Aug 15 20:28:13 2013	(r254381, copy of r254380, head/sys/arm/freescale/imx/imx51_machdep.c)
@@ -0,0 +1,142 @@
+/*-
+ * Copyright (c) 1994-1998 Mark Brinicombe.
+ * Copyright (c) 1994 Brini.
+ * Copyright (c) 2012, 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ *
+ * This code is derived from software written for Brini by Mark Brinicombe
+ * Portions of this software were developed by Oleksandr Rybalko
+ * under sponsorship from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed by Brini.
+ * 4. The name of the company nor the name of the author may be used to
+ *    endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45
+ */
+
+#include "opt_platform.h"
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#define _ARM32_BUS_DMA_PRIVATE
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/reboot.h>
+
+#include <vm/vm.h>
+#include <vm/pmap.h>
+
+#include <machine/bus.h>
+#include <machine/frame.h> /* For trapframe_t, used in <machine/machdep.h> */
+#include <machine/machdep.h>
+#include <machine/pmap.h>
+
+#include <dev/fdt/fdt_common.h>
+
+#define	IMX51_DEV_VIRT_BASE	0xe0000000
+vm_offset_t
+initarm_lastaddr(void)
+{
+
+	boothowto |= RB_VERBOSE|RB_MULTIPLE;
+	bootverbose = 1;
+
+	if (fdt_immr_addr(IMX51_DEV_VIRT_BASE) != 0)
+		while (1);
+
+	/* Platform-specific initialisation */
+	return (fdt_immr_va - ARM_NOCACHE_KVA_SIZE);
+}
+
+/*
+ * Set initial values of GPIO output ports
+ */
+void
+initarm_gpio_init(void)
+{
+
+}
+
+void
+initarm_late_init(void)
+{
+
+}
+
+#define FDT_DEVMAP_MAX	2
+static struct pmap_devmap fdt_devmap[FDT_DEVMAP_MAX] = {
+	{ 0, 0, 0, 0, 0, },
+	{ 0, 0, 0, 0, 0, }
+};
+
+/*
+ * Construct pmap_devmap[] with DT-derived config data.
+ */
+int
+platform_devmap_init(void)
+{
+
+	/*
+	 * Map segment where UART1 and UART2 located.
+	 */
+	fdt_devmap[0].pd_va = IMX51_DEV_VIRT_BASE + 0x03f00000;
+	fdt_devmap[0].pd_pa = 0x73f00000;
+	fdt_devmap[0].pd_size = 0x00100000;
+	fdt_devmap[0].pd_prot = VM_PROT_READ | VM_PROT_WRITE;
+	fdt_devmap[0].pd_cache = PTE_NOCACHE;
+
+	pmap_devmap_bootstrap_table = &fdt_devmap[0];
+	return (0);
+}
+
+struct arm32_dma_range *
+bus_dma_get_range(void)
+{

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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