Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Oct 2013 02:18:30 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r256037 - in projects/bhyve_npt_pmap: . bin/dd cddl/lib/libdtrace contrib/binutils/bfd contrib/llvm/include/llvm/IR contrib/llvm/lib/AsmParser contrib/llvm/lib/CodeGen/SelectionDAG cont...
Message-ID:  <201310040218.r942IUoX092665@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Fri Oct  4 02:18:30 2013
New Revision: 256037
URL: http://svnweb.freebsd.org/changeset/base/256037

Log:
  IFC

Deleted:
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/ar/Makefile
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/ar/ar.1
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/ranlib/Makefile
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/ranlib/ranlib.1
  projects/bhyve_npt_pmap/usr.bin/dig/
Modified:
  projects/bhyve_npt_pmap/Makefile.inc1
  projects/bhyve_npt_pmap/ObsoleteFiles.inc
  projects/bhyve_npt_pmap/bin/dd/dd.1
  projects/bhyve_npt_pmap/cddl/lib/libdtrace/tcp.d
  projects/bhyve_npt_pmap/contrib/binutils/bfd/elfxx-mips.c
  projects/bhyve_npt_pmap/contrib/llvm/include/llvm/IR/CallingConv.h
  projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLLexer.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLParser.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLToken.h
  projects/bhyve_npt_pmap/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/IR/AsmWriter.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86CallingConv.td
  projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FastISel.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86Subtarget.h
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/bhyve_npt_pmap/etc/mtree/Makefile
  projects/bhyve_npt_pmap/etc/periodic/daily/Makefile
  projects/bhyve_npt_pmap/etc/rc.d/Makefile
  projects/bhyve_npt_pmap/games/fortune/datfiles/freebsd-tips
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/Makefile
  projects/bhyve_npt_pmap/lib/libc/sys/accept.2
  projects/bhyve_npt_pmap/libexec/rtld-elf/rtld.c
  projects/bhyve_npt_pmap/sbin/bsdlabel/bsdlabel.8
  projects/bhyve_npt_pmap/sbin/ccdconfig/ccdconfig.8
  projects/bhyve_npt_pmap/sbin/fdisk/fdisk.8
  projects/bhyve_npt_pmap/sbin/gbde/gbde.8
  projects/bhyve_npt_pmap/sbin/geom/class/eli/geli.8
  projects/bhyve_npt_pmap/sbin/geom/class/shsec/gshsec.8
  projects/bhyve_npt_pmap/sbin/geom/class/virstor/gvirstor.8
  projects/bhyve_npt_pmap/sbin/gvinum/gvinum.8
  projects/bhyve_npt_pmap/sbin/mount_msdosfs/mount_msdosfs.8
  projects/bhyve_npt_pmap/sbin/newfs/newfs.8
  projects/bhyve_npt_pmap/sbin/newfs_msdos/newfs_msdos.8
  projects/bhyve_npt_pmap/sbin/newfs_nandfs/newfs_nandfs.8
  projects/bhyve_npt_pmap/sbin/recoverdisk/recoverdisk.1
  projects/bhyve_npt_pmap/share/man/man4/geom_linux_lvm.4
  projects/bhyve_npt_pmap/share/man/man5/ext2fs.5
  projects/bhyve_npt_pmap/share/man/man5/msdosfs.5
  projects/bhyve_npt_pmap/share/man/man5/reiserfs.5
  projects/bhyve_npt_pmap/share/man/man5/src.conf.5
  projects/bhyve_npt_pmap/share/man/man8/picobsd.8
  projects/bhyve_npt_pmap/share/misc/bsd-family-tree
  projects/bhyve_npt_pmap/sys/arm/samsung/exynos/exynos5_machdep.c
  projects/bhyve_npt_pmap/sys/boot/common/loader.8
  projects/bhyve_npt_pmap/sys/compat/linux/linux_futex.c
  projects/bhyve_npt_pmap/sys/compat/linux/linux_uid16.c
  projects/bhyve_npt_pmap/sys/conf/files.powerpc
  projects/bhyve_npt_pmap/sys/conf/newvers.sh
  projects/bhyve_npt_pmap/sys/kern/vfs_bio.c
  projects/bhyve_npt_pmap/sys/kern/vfs_mount.c
  projects/bhyve_npt_pmap/sys/kern/vfs_subr.c
  projects/bhyve_npt_pmap/sys/mips/conf/MALTA
  projects/bhyve_npt_pmap/sys/net/if_tap.c
  projects/bhyve_npt_pmap/sys/net/if_tun.c
  projects/bhyve_npt_pmap/sys/netinet/in_kdtrace.c
  projects/bhyve_npt_pmap/sys/ofed/drivers/infiniband/core/device.c
  projects/bhyve_npt_pmap/sys/ofed/drivers/infiniband/core/umem.c
  projects/bhyve_npt_pmap/sys/ofed/drivers/infiniband/hw/mlx4/main.c
  projects/bhyve_npt_pmap/sys/ofed/drivers/infiniband/hw/mlx4/qp.c
  projects/bhyve_npt_pmap/sys/ofed/drivers/net/mlx4/main.c
  projects/bhyve_npt_pmap/sys/ofed/include/linux/sysfs.h
  projects/bhyve_npt_pmap/sys/ofed/include/rdma/ib_umem.h
  projects/bhyve_npt_pmap/sys/powerpc/include/proc.h
  projects/bhyve_npt_pmap/sys/security/mac/mac_framework.c
  projects/bhyve_npt_pmap/sys/security/mac/mac_internal.h
  projects/bhyve_npt_pmap/sys/security/mac/mac_posix_shm.c
  projects/bhyve_npt_pmap/sys/security/mac/mac_vfs.c
  projects/bhyve_npt_pmap/tools/build/options/WITHOUT_BINUTILS
  projects/bhyve_npt_pmap/tools/build/options/makeman
  projects/bhyve_npt_pmap/usr.sbin/boot0cfg/boot0cfg.8
  projects/bhyve_npt_pmap/usr.sbin/ntp/config.h
  projects/bhyve_npt_pmap/usr.sbin/ntp/libparse/Makefile
Directory Properties:
  projects/bhyve_npt_pmap/   (props changed)
  projects/bhyve_npt_pmap/cddl/   (props changed)
  projects/bhyve_npt_pmap/contrib/binutils/   (props changed)
  projects/bhyve_npt_pmap/contrib/llvm/   (props changed)
  projects/bhyve_npt_pmap/contrib/llvm/tools/clang/   (props changed)
  projects/bhyve_npt_pmap/gnu/usr.bin/binutils/   (props changed)
  projects/bhyve_npt_pmap/lib/libc/   (props changed)
  projects/bhyve_npt_pmap/sbin/   (props changed)
  projects/bhyve_npt_pmap/share/man/man4/   (props changed)
  projects/bhyve_npt_pmap/sys/   (props changed)
  projects/bhyve_npt_pmap/sys/boot/   (props changed)
  projects/bhyve_npt_pmap/sys/conf/   (props changed)

Modified: projects/bhyve_npt_pmap/Makefile.inc1
==============================================================================
--- projects/bhyve_npt_pmap/Makefile.inc1	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/Makefile.inc1	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1673,7 +1673,7 @@ delete-old-files:
 # the Makefile parser segfault.
 	@exec 3<&0; \
 	${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
-	    -V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | sort -r | \
+	    -V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | \
 	while read file; do \
 		if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
 			chflags noschg "${DESTDIR}/$${file}" 2>/dev/null || true; \
@@ -1738,7 +1738,7 @@ check-old-libs:
 delete-old-dirs:
 	@echo ">>> Removing old directories"
 	@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
-	    -V OLD_DIRS | xargs -n1 | \
+	    -V OLD_DIRS | xargs -n1 | sort -r | \
 	while read dir; do \
 		if [ -d "${DESTDIR}/$${dir}" ]; then \
 			rmdir -v "${DESTDIR}/$${dir}" || true; \

Modified: projects/bhyve_npt_pmap/ObsoleteFiles.inc
==============================================================================
--- projects/bhyve_npt_pmap/ObsoleteFiles.inc	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/ObsoleteFiles.inc	Fri Oct  4 02:18:30 2013	(r256037)
@@ -38,6 +38,11 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131001: ar and ranlib from binutils not used
+OLD_FILES+=usr/bin/gnu-ar
+OLD_FILES+=usr/bin/gnu-ranlib
+OLD_FILES+=usr/share/man/man1/gnu-ar.1.gz
+OLD_FILES+=usr/share/man/man1/gnu-ranlib.1.gz
 # 20130930: BIND removed from base
 OLD_FILES+=etc/namedb
 OLD_FILES+=etc/periodic/daily/470.status-named

Modified: projects/bhyve_npt_pmap/bin/dd/dd.1
==============================================================================
--- projects/bhyve_npt_pmap/bin/dd/dd.1	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/bin/dd/dd.1	Fri Oct  4 02:18:30 2013	(r256037)
@@ -32,7 +32,7 @@
 .\"     @(#)dd.1	8.2 (Berkeley) 1/13/94
 .\" $FreeBSD$
 .\"
-.Dd January 23, 2009
+.Dd October 1, 2013
 .Dt DD 1
 .Os
 .Sh NAME
@@ -378,12 +378,12 @@ will exit.
 .Sh EXAMPLES
 Check that a disk drive contains no bad blocks:
 .Pp
-.Dl "dd if=/dev/ad0 of=/dev/null bs=1m"
+.Dl "dd if=/dev/ada0 of=/dev/null bs=1m"
 .Pp
 Do a refresh of a disk drive, in order to prevent presently
 recoverable read errors from progressing into unrecoverable read errors:
 .Pp
-.Dl "dd if=/dev/ad0 of=/dev/ad0 bs=1m"
+.Dl "dd if=/dev/ada0 of=/dev/ada0 bs=1m"
 .Pp
 Remove parity bit from a file:
 .Pp

Modified: projects/bhyve_npt_pmap/cddl/lib/libdtrace/tcp.d
==============================================================================
--- projects/bhyve_npt_pmap/cddl/lib/libdtrace/tcp.d	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/cddl/lib/libdtrace/tcp.d	Fri Oct  4 02:18:30 2013	(r256037)
@@ -141,6 +141,25 @@ typedef struct tcpinfo {
 	struct tcphdr *tcp_hdr;		/* raw TCP header */
 } tcpinfo_t;
 
+/*
+ * A clone of tcpinfo_t used to handle the fact that the TCP input path
+ * overwrites some fields of the TCP header with their host-order equivalents.
+ * Unfortunately, DTrace doesn't let us simply typedef a new name for struct
+ * tcpinfo and define a separate translator for it.
+ */
+typedef struct tcpinfoh {
+	uint16_t tcp_sport;		/* source port */
+	uint16_t tcp_dport;		/* destination port */
+	uint32_t tcp_seq;		/* sequence number */
+	uint32_t tcp_ack;		/* acknowledgment number */
+	uint8_t tcp_offset;		/* data offset, in bytes */
+	uint8_t tcp_flags;		/* flags */
+	uint16_t tcp_window;		/* window size */
+	uint16_t tcp_checksum;		/* checksum */
+	uint16_t tcp_urgent;		/* urgent data pointer */
+	struct tcphdr *tcp_hdr;		/* raw TCP header */
+} tcpinfoh_t;
+
 #pragma D binding "1.0" translator
 translator csinfo_t < struct tcpcb *p > {
 	cs_addr =	NULL;
@@ -180,7 +199,7 @@ translator tcpsinfo_t < struct tcpcb *p 
 	tcps_sack_snxt =	p == NULL ? 0  : p->sack_newdata;
 	tcps_rto =		p == NULL ? -1  : p->t_rxtcur / 1000; /* XXX */
 	tcps_mss =		p == NULL ? -1  : p->t_maxseg;
-	tcps_retransmit =	-1; /* XXX */
+	tcps_retransmit =	p == NULL ? -1 : p->t_rxtshift > 0 ? 1 : 0;
 };
 
 #pragma D binding "1.0" translator
@@ -197,6 +216,25 @@ translator tcpinfo_t < struct tcphdr *p 
 	tcp_hdr =	(struct tcphdr *)p;
 };
 
+/*
+ * This translator differs from the one for tcpinfo_t in that the sequence
+ * number, acknowledgement number, window size and urgent pointer are already
+ * in host order and thus don't need to be converted.
+ */
+#pragma D binding "1.0" translator
+translator tcpinfoh_t < struct tcphdr *p > {
+	tcp_sport =	p == NULL ? 0  : ntohs(p->th_sport);
+	tcp_dport =	p == NULL ? 0  : ntohs(p->th_dport);
+	tcp_seq =	p == NULL ? -1 : p->th_seq;
+	tcp_ack =	p == NULL ? -1 : p->th_ack;
+	tcp_offset =	p == NULL ? -1 : (p->th_off >> 2);
+	tcp_flags =	p == NULL ? 0  : p->th_flags;
+	tcp_window =	p == NULL ? 0  : (p->th_win);
+	tcp_checksum =	p == NULL ? 0  : ntohs(p->th_sum);
+	tcp_urgent =	p == NULL ? 0  : p->th_urp;
+	tcp_hdr =	(struct tcphdr *)p;
+};
+
 #pragma D binding "1.0" translator
 translator tcplsinfo_t < int s > {
 	tcps_state =	s;

Modified: projects/bhyve_npt_pmap/contrib/binutils/bfd/elfxx-mips.c
==============================================================================
--- projects/bhyve_npt_pmap/contrib/binutils/bfd/elfxx-mips.c	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/binutils/bfd/elfxx-mips.c	Fri Oct  4 02:18:30 2013	(r256037)
@@ -557,6 +557,10 @@ static bfd *reldyn_sorting_bfd;
 #define MIPS_ELF_DYN_SIZE(abfd) \
   (get_elf_backend_data (abfd)->s->sizeof_dyn)
 
+/* The size of the rld_map pointer.  */
+#define MIPS_ELF_RLD_MAP_SIZE(abfd) \
+  (get_elf_backend_data (abfd)->s->arch_size / 8)
+
 /* The size of a GOT entry.  */
 #define MIPS_ELF_GOT_SIZE(abfd) \
   (get_elf_backend_data (abfd)->s->arch_size / 8)
@@ -7492,7 +7496,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 	{
 	  /* We add a room for __rld_map.  It will be filled in by the
 	     rtld to contain a pointer to the _r_debug structure.  */
-	  s->size += 4;
+	  s->size += MIPS_ELF_RLD_MAP_SIZE (output_bfd);
 	}
       else if (SGI_COMPAT (output_bfd)
 	       && CONST_STRNEQ (name, ".compact_rel"))

Modified: projects/bhyve_npt_pmap/contrib/llvm/include/llvm/IR/CallingConv.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/include/llvm/IR/CallingConv.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/include/llvm/IR/CallingConv.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -119,8 +119,17 @@ namespace CallingConv {
     SPIR_KERNEL = 76,
 
     /// Intel_OCL_BI - Calling conventions for Intel OpenCL built-ins
-    Intel_OCL_BI = 77
+    Intel_OCL_BI = 77,
 
+    /// \brief The C convention as specified in the x86-64 supplement to the
+    /// System V ABI, used on most non-Windows systems.
+    X86_64_SysV = 78,
+
+    /// \brief The C convention as implemented on Windows/x86-64. This
+    /// convention differs from the more common \c X86_64_SysV convention
+    /// in a number of ways, most notably in that XMM registers used to pass
+    /// arguments are shadowed by GPRs, and vice versa.
+    X86_64_Win64 = 79
   };
 } // End CallingConv namespace
 

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLLexer.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLLexer.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLLexer.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -556,6 +556,8 @@ lltok::Kind LLLexer::LexIdentifier() {
   KEYWORD(spir_kernel);
   KEYWORD(spir_func);
   KEYWORD(intel_ocl_bicc);
+  KEYWORD(x86_64_sysvcc);
+  KEYWORD(x86_64_win64cc);
 
   KEYWORD(cc);
   KEYWORD(c);

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLParser.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLParser.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLParser.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1337,6 +1337,8 @@ bool LLParser::ParseOptionalVisibility(u
 ///   ::= 'ptx_device'
 ///   ::= 'spir_func'
 ///   ::= 'spir_kernel'
+///   ::= 'x86_64_sysvcc'
+///   ::= 'x86_64_win64cc'
 ///   ::= 'cc' UINT
 ///
 bool LLParser::ParseOptionalCallingConv(CallingConv::ID &CC) {
@@ -1357,6 +1359,8 @@ bool LLParser::ParseOptionalCallingConv(
   case lltok::kw_spir_kernel:    CC = CallingConv::SPIR_KERNEL; break;
   case lltok::kw_spir_func:      CC = CallingConv::SPIR_FUNC; break;
   case lltok::kw_intel_ocl_bicc: CC = CallingConv::Intel_OCL_BI; break;
+  case lltok::kw_x86_64_sysvcc:  CC = CallingConv::X86_64_SysV; break;
+  case lltok::kw_x86_64_win64cc: CC = CallingConv::X86_64_Win64; break;
   case lltok::kw_cc: {
       unsigned ArbitraryCC;
       Lex.Lex();

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLToken.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLToken.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/AsmParser/LLToken.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -84,12 +84,13 @@ namespace lltok {
     kw_c,
 
     kw_cc, kw_ccc, kw_fastcc, kw_coldcc,
-	  kw_intel_ocl_bicc,
+    kw_intel_ocl_bicc,
     kw_x86_stdcallcc, kw_x86_fastcallcc, kw_x86_thiscallcc,
     kw_arm_apcscc, kw_arm_aapcscc, kw_arm_aapcs_vfpcc,
     kw_msp430_intrcc,
     kw_ptx_kernel, kw_ptx_device,
     kw_spir_kernel, kw_spir_func,
+    kw_x86_64_sysvcc, kw_x86_64_win64cc,
 
     // Attributes:
     kw_attributes,

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -615,7 +615,10 @@ void DAGTypeLegalizer::RemapValue(SDValu
     // replaced with other values.
     RemapValue(I->second);
     N = I->second;
-    assert(N.getNode()->getNodeId() != NewNode && "Mapped to new node!");
+
+    // Note that it is possible to have N.getNode()->getNodeId() == NewNode at
+    // this point because it is possible for a node to be put in the map before
+    // being processed.
   }
 }
 

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/IR/AsmWriter.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/IR/AsmWriter.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/IR/AsmWriter.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -81,6 +81,8 @@ static void PrintCallingConv(unsigned cc
   case CallingConv::MSP430_INTR:   Out << "msp430_intrcc"; break;
   case CallingConv::PTX_Kernel:    Out << "ptx_kernel"; break;
   case CallingConv::PTX_Device:    Out << "ptx_device"; break;
+  case CallingConv::X86_64_SysV:   Out << "x86_64_sysvcc"; break;
+  case CallingConv::X86_64_Win64:  Out << "x86_64_win64cc"; break;
   }
 }
 

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86CallingConv.td
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86CallingConv.td	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86CallingConv.td	Fri Oct  4 02:18:30 2013	(r256037)
@@ -156,6 +156,11 @@ def RetCC_X86_32 : CallingConv<[
 def RetCC_X86_64 : CallingConv<[
   // HiPE uses RetCC_X86_64_HiPE
   CCIfCC<"CallingConv::HiPE", CCDelegateTo<RetCC_X86_64_HiPE>>,
+
+  // Handle explicit CC selection
+  CCIfCC<"CallingConv::X86_64_Win64", CCDelegateTo<RetCC_X86_Win64_C>>,
+  CCIfCC<"CallingConv::X86_64_SysV", CCDelegateTo<RetCC_X86_64_C>>,
+
   // Mingw64 and native Win64 use Win64 CC
   CCIfSubtarget<"isTargetWin64()", CCDelegateTo<RetCC_X86_Win64_C>>,
 
@@ -489,6 +494,8 @@ def CC_X86_32 : CallingConv<[
 def CC_X86_64 : CallingConv<[
   CCIfCC<"CallingConv::GHC", CCDelegateTo<CC_X86_64_GHC>>,
   CCIfCC<"CallingConv::HiPE", CCDelegateTo<CC_X86_64_HiPE>>,
+  CCIfCC<"CallingConv::X86_64_Win64", CCDelegateTo<CC_X86_Win64_C>>,
+  CCIfCC<"CallingConv::X86_64_SysV", CCDelegateTo<CC_X86_64_C>>,
 
   // Mingw64 and native Win64 use Win64 CC
   CCIfSubtarget<"isTargetWin64()", CCDelegateTo<CC_X86_Win64_C>>,

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FastISel.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FastISel.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FastISel.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -717,10 +717,11 @@ bool X86FastISel::X86SelectRet(const Ins
   CallingConv::ID CC = F.getCallingConv();
   if (CC != CallingConv::C &&
       CC != CallingConv::Fast &&
-      CC != CallingConv::X86_FastCall)
+      CC != CallingConv::X86_FastCall &&
+      CC != CallingConv::X86_64_SysV)
     return false;
 
-  if (Subtarget->isTargetWin64())
+  if (Subtarget->isCallingConvWin64(CC))
     return false;
 
   // Don't handle popping bytes on return for now.
@@ -1643,9 +1644,6 @@ bool X86FastISel::FastLowerArguments() {
   if (!FuncInfo.CanLowerReturn)
     return false;
 
-  if (Subtarget->isTargetWin64())
-    return false;
-
   const Function *F = FuncInfo.Fn;
   if (F->isVarArg())
     return false;
@@ -1653,7 +1651,10 @@ bool X86FastISel::FastLowerArguments() {
   CallingConv::ID CC = F->getCallingConv();
   if (CC != CallingConv::C)
     return false;
-  
+
+  if (Subtarget->isCallingConvWin64(CC))
+    return false;
+
   if (!Subtarget->is64Bit())
     return false;
   
@@ -1757,8 +1758,10 @@ bool X86FastISel::DoSelectCall(const Ins
   // Handle only C and fastcc calling conventions for now.
   ImmutableCallSite CS(CI);
   CallingConv::ID CC = CS.getCallingConv();
+  bool isWin64 = Subtarget->isCallingConvWin64(CC);
   if (CC != CallingConv::C && CC != CallingConv::Fast &&
-      CC != CallingConv::X86_FastCall)
+      CC != CallingConv::X86_FastCall && CC != CallingConv::X86_64_Win64 &&
+      CC != CallingConv::X86_64_SysV)
     return false;
 
   // fastcc with -tailcallopt is intended to provide a guaranteed
@@ -1772,7 +1775,7 @@ bool X86FastISel::DoSelectCall(const Ins
 
   // Don't know how to handle Win64 varargs yet.  Nothing special needed for
   // x86-32.  Special handling for x86-64 is implemented.
-  if (isVarArg && Subtarget->isTargetWin64())
+  if (isVarArg && isWin64)
     return false;
 
   // Fast-isel doesn't know about callee-pop yet.
@@ -1902,7 +1905,7 @@ bool X86FastISel::DoSelectCall(const Ins
                  I->getParent()->getContext());
 
   // Allocate shadow area for Win64
-  if (Subtarget->isTargetWin64())
+  if (isWin64)
     CCInfo.AllocateStack(32, 8);
 
   CCInfo.AnalyzeCallOperands(ArgVTs, ArgFlags, CC_X86);
@@ -2016,7 +2019,7 @@ bool X86FastISel::DoSelectCall(const Ins
             X86::EBX).addReg(Base);
   }
 
-  if (Subtarget->is64Bit() && isVarArg && !Subtarget->isTargetWin64()) {
+  if (Subtarget->is64Bit() && isVarArg && !isWin64) {
     // Count the number of XMM registers allocated.
     static const uint16_t XMMArgRegs[] = {
       X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3,
@@ -2085,7 +2088,7 @@ bool X86FastISel::DoSelectCall(const Ins
   if (Subtarget->isPICStyleGOT())
     MIB.addReg(X86::EBX, RegState::Implicit);
 
-  if (Subtarget->is64Bit() && isVarArg && !Subtarget->isTargetWin64())
+  if (Subtarget->is64Bit() && isVarArg && !isWin64)
     MIB.addReg(X86::AL, RegState::Implicit);
 
   // Add implicit physical register uses to the call.

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -125,6 +125,15 @@ FixupLEAPass::postRAConvertToLEA(Machine
       // which requires isImm() to be true
       return 0;
     }
+    break;
+  case X86::ADD16rr:
+  case X86::ADD16rr_DB:
+    if (MI->getOperand(1).getReg() != MI->getOperand(2).getReg()) {
+      // if src1 != src2, then convertToThreeAddress will
+      // need to create a Virtual register, which we cannot do
+      // after register allocation.
+      return 0;
+    }
   }
   return TII->convertToThreeAddress(MFI, MBBI, 0);
 }

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1883,13 +1883,19 @@ static bool IsTailCallConvention(Calling
           CC == CallingConv::HiPE);
 }
 
+/// \brief Return true if the calling convention is a C calling convention.
+static bool IsCCallConvention(CallingConv::ID CC) {
+  return (CC == CallingConv::C || CC == CallingConv::X86_64_Win64 ||
+          CC == CallingConv::X86_64_SysV);
+}
+
 bool X86TargetLowering::mayBeEmittedAsTailCall(CallInst *CI) const {
   if (!CI->isTailCall() || getTargetMachine().Options.DisableTailCalls)
     return false;
 
   CallSite CS(CI);
   CallingConv::ID CalleeCC = CS.getCallingConv();
-  if (!IsTailCallConvention(CalleeCC) && CalleeCC != CallingConv::C)
+  if (!IsTailCallConvention(CalleeCC) && !IsCCallConvention(CalleeCC))
     return false;
 
   return true;
@@ -1964,7 +1970,7 @@ X86TargetLowering::LowerFormalArguments(
   MachineFrameInfo *MFI = MF.getFrameInfo();
   bool Is64Bit = Subtarget->is64Bit();
   bool IsWindows = Subtarget->isTargetWindows();
-  bool IsWin64 = Subtarget->isTargetWin64();
+  bool IsWin64 = Subtarget->isCallingConvWin64(CallConv);
 
   assert(!(isVarArg && IsTailCallConvention(CallConv)) &&
          "Var args not supported with calling convention fastcc, ghc or hipe");
@@ -1975,9 +1981,8 @@ X86TargetLowering::LowerFormalArguments(
                  ArgLocs, *DAG.getContext());
 
   // Allocate shadow area for Win64
-  if (IsWin64) {
+  if (IsWin64)
     CCInfo.AllocateStack(32, 8);
-  }
 
   CCInfo.AnalyzeFormalArguments(Ins, CC_X86);
 
@@ -2290,7 +2295,7 @@ X86TargetLowering::LowerCall(TargetLower
 
   MachineFunction &MF = DAG.getMachineFunction();
   bool Is64Bit        = Subtarget->is64Bit();
-  bool IsWin64        = Subtarget->isTargetWin64();
+  bool IsWin64        = Subtarget->isCallingConvWin64(CallConv);
   bool IsWindows      = Subtarget->isTargetWindows();
   StructReturnType SR = callIsStructReturn(Outs);
   bool IsSibcall      = false;
@@ -2323,9 +2328,8 @@ X86TargetLowering::LowerCall(TargetLower
                  ArgLocs, *DAG.getContext());
 
   // Allocate shadow area for Win64
-  if (IsWin64) {
+  if (IsWin64)
     CCInfo.AllocateStack(32, 8);
-  }
 
   CCInfo.AnalyzeCallOperands(Outs, CC_X86);
 
@@ -2831,13 +2835,12 @@ X86TargetLowering::IsEligibleForTailCall
                                     const SmallVectorImpl<SDValue> &OutVals,
                                     const SmallVectorImpl<ISD::InputArg> &Ins,
                                                      SelectionDAG &DAG) const {
-  if (!IsTailCallConvention(CalleeCC) &&
-      CalleeCC != CallingConv::C)
+  if (!IsTailCallConvention(CalleeCC) && !IsCCallConvention(CalleeCC))
     return false;
 
   // If -tailcallopt is specified, make fastcc functions tail-callable.
   const MachineFunction &MF = DAG.getMachineFunction();
-  const Function *CallerF = DAG.getMachineFunction().getFunction();
+  const Function *CallerF = MF.getFunction();
 
   // If the function return type is x86_fp80 and the callee return type is not,
   // then the FP_EXTEND of the call result is not a nop. It's not safe to
@@ -2847,6 +2850,8 @@ X86TargetLowering::IsEligibleForTailCall
 
   CallingConv::ID CallerCC = CallerF->getCallingConv();
   bool CCMatch = CallerCC == CalleeCC;
+  bool IsCalleeWin64 = Subtarget->isCallingConvWin64(CalleeCC);
+  bool IsCallerWin64 = Subtarget->isCallingConvWin64(CallerCC);
 
   if (getTargetMachine().Options.GuaranteedTailCallOpt) {
     if (IsTailCallConvention(CalleeCC) && CCMatch)
@@ -2878,7 +2883,7 @@ X86TargetLowering::IsEligibleForTailCall
 
     // Optimizing for varargs on Win64 is unlikely to be safe without
     // additional testing.
-    if (Subtarget->isTargetWin64())
+    if (IsCalleeWin64 || IsCallerWin64)
       return false;
 
     SmallVector<CCValAssign, 16> ArgLocs;
@@ -2953,9 +2958,8 @@ X86TargetLowering::IsEligibleForTailCall
                    getTargetMachine(), ArgLocs, *DAG.getContext());
 
     // Allocate shadow area for Win64
-    if (Subtarget->isTargetWin64()) {
+    if (IsCalleeWin64)
       CCInfo.AllocateStack(32, 8);
-    }
 
     CCInfo.AnalyzeCallOperands(Outs, CC_X86);
     if (CCInfo.getNextStackOffset()) {

Modified: projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86Subtarget.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86Subtarget.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/lib/Target/X86/X86Subtarget.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -338,7 +338,13 @@ public:
   }
   bool isPICStyleStubAny() const {
     return PICStyle == PICStyles::StubDynamicNoPIC ||
-           PICStyle == PICStyles::StubPIC; }
+           PICStyle == PICStyles::StubPIC;
+  }
+
+  bool isCallingConvWin64(CallingConv::ID CC) const {
+    return (isTargetWin64() && CC != CallingConv::X86_64_SysV) ||
+           CC == CallingConv::X86_64_Win64;
+  }
 
   /// ClassifyGlobalReference - Classify a global variable reference for the
   /// current subtarget according to how we should reference it in a non-pcrel

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang-c/Index.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang-c/Index.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang-c/Index.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -2683,6 +2683,8 @@ enum CXCallingConv {
   CXCallingConv_AAPCS_VFP = 7,
   CXCallingConv_PnaclCall = 8,
   CXCallingConv_IntelOclBicc = 9,
+  CXCallingConv_X86_64Win64 = 10,
+  CXCallingConv_X86_64SysV = 11,
 
   CXCallingConv_Invalid = 100,
   CXCallingConv_Unexposed = 200

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/AST/Type.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/AST/Type.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/AST/Type.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -3335,7 +3335,9 @@ public:
     attr_thiscall,
     attr_pascal,
     attr_pnaclcall,
-    attr_inteloclbicc
+    attr_inteloclbicc,
+    attr_ms_abi,
+    attr_sysv_abi
   };
 
 private:

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Attr.td	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Attr.td	Fri Oct  4 02:18:30 2013	(r256037)
@@ -417,6 +417,10 @@ def MayAlias : InheritableAttr {
   let Spellings = [GNU<"may_alias">, CXX11<"gnu", "may_alias">];
 }
 
+def MSABI : InheritableAttr {
+  let Spellings = [GNU<"ms_abi">, CXX11<"gnu", "ms_abi">];
+}
+
 def MSP430Interrupt : InheritableAttr {
   let Spellings = [];
   let Args = [UnsignedArgument<"Number">];
@@ -664,6 +668,10 @@ def StdCall : InheritableAttr {
                    Keyword<"__stdcall">, Keyword<"_stdcall">];
 }
 
+def SysVABI : InheritableAttr {
+  let Spellings = [GNU<"sysv_abi">, CXX11<"gnu", "sysv_abi">];
+}
+
 def ThisCall : InheritableAttr {
   let Spellings = [GNU<"thiscall">, CXX11<"gnu", "thiscall">,
                    Keyword<"__thiscall">, Keyword<"_thiscall">];

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h	Fri Oct  4 02:18:30 2013	(r256037)
@@ -206,6 +206,8 @@ namespace clang {
     CC_X86FastCall, // __attribute__((fastcall))
     CC_X86ThisCall, // __attribute__((thiscall))
     CC_X86Pascal,   // __attribute__((pascal))
+    CC_X86_64Win64, // __attribute__((ms_abi))
+    CC_X86_64SysV,  // __attribute__((sysv_abi))
     CC_AAPCS,       // __attribute__((pcs("aapcs")))
     CC_AAPCS_VFP,   // __attribute__((pcs("aapcs-vfp")))
     CC_PnaclCall,   // __attribute__((pnaclcall))

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -921,6 +921,8 @@ struct XMLDumper : public XMLDeclVisitor
     case CC_X86StdCall: return set("cc", "x86_stdcall");
     case CC_X86ThisCall: return set("cc", "x86_thiscall");
     case CC_X86Pascal: return set("cc", "x86_pascal");
+    case CC_X86_64Win64: return set("cc", "x86_64_win64");
+    case CC_X86_64SysV: return set("cc", "x86_64_sysv");
     case CC_AAPCS: return set("cc", "aapcs");
     case CC_AAPCS_VFP: return set("cc", "aapcs_vfp");
     case CC_PnaclCall: return set("cc", "pnaclcall");

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1311,6 +1311,8 @@ void MicrosoftCXXNameMangler::mangleCall
   switch (CC) {
     default:
       llvm_unreachable("Unsupported CC for mangling");
+    case CC_X86_64Win64:
+    case CC_X86_64SysV:
     case CC_Default:
     case CC_C: Out << 'A'; break;
     case CC_X86Pascal: Out << 'C'; break;

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/Type.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/Type.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/Type.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1574,6 +1574,8 @@ StringRef FunctionType::getNameForCallCo
   case CC_X86FastCall: return "fastcall";
   case CC_X86ThisCall: return "thiscall";
   case CC_X86Pascal: return "pascal";
+  case CC_X86_64Win64: return "ms_abi";
+  case CC_X86_64SysV: return "sysv_abi";
   case CC_AAPCS: return "aapcs";
   case CC_AAPCS_VFP: return "aapcs-vfp";
   case CC_PnaclCall: return "pnaclcall";

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -650,6 +650,12 @@ void TypePrinter::printFunctionProtoAfte
   case CC_IntelOclBicc:
     OS << " __attribute__((intel_ocl_bicc))";
     break;
+   case CC_X86_64Win64:
+     OS << " __attribute__((ms_abi))";
+     break;
+   case CC_X86_64SysV:
+     OS << " __attribute__((sysv_abi))";
+     break;
   }
   if (Info.getNoReturn())
     OS << " __attribute__((noreturn))";
@@ -1160,6 +1166,8 @@ void TypePrinter::printAttributedAfter(c
   case AttributedType::attr_stdcall: OS << "stdcall"; break;
   case AttributedType::attr_thiscall: OS << "thiscall"; break;
   case AttributedType::attr_pascal: OS << "pascal"; break;
+  case AttributedType::attr_ms_abi: OS << "ms_abi"; break;
+  case AttributedType::attr_sysv_abi: OS << "sysv_abi"; break;
   case AttributedType::attr_pcs: {
     OS << "pcs(";
    QualType t = T->getEquivalentType();

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Basic/Targets.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Basic/Targets.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -3182,8 +3182,9 @@ public:
 
   virtual CallingConvCheckResult checkCallingConvention(CallingConv CC) const {
     return (CC == CC_Default ||
-            CC == CC_C || 
-            CC == CC_IntelOclBicc) ? CCCR_OK : CCCR_Warning;
+            CC == CC_C ||
+            CC == CC_IntelOclBicc ||
+            CC == CC_X86_64Win64) ? CCCR_OK : CCCR_Warning;
   }
 
   virtual CallingConv getDefaultCallingConv(CallingConvMethodType MT) const {
@@ -3219,6 +3220,11 @@ public:
   virtual BuiltinVaListKind getBuiltinVaListKind() const {
     return TargetInfo::CharPtrBuiltinVaList;
   }
+  virtual CallingConvCheckResult checkCallingConvention(CallingConv CC) const {
+    return (CC == CC_C ||
+            CC == CC_IntelOclBicc ||
+            CC == CC_X86_64SysV) ? CCCR_OK : CCCR_Warning;
+  }
 };
 } // end anonymous namespace
 

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -41,6 +41,8 @@ static unsigned ClangCallConvToLLVMCallC
   case CC_X86StdCall: return llvm::CallingConv::X86_StdCall;
   case CC_X86FastCall: return llvm::CallingConv::X86_FastCall;
   case CC_X86ThisCall: return llvm::CallingConv::X86_ThisCall;
+  case CC_X86_64Win64: return llvm::CallingConv::X86_64_Win64;
+  case CC_X86_64SysV: return llvm::CallingConv::X86_64_SysV;
   case CC_AAPCS: return llvm::CallingConv::ARM_AAPCS;
   case CC_AAPCS_VFP: return llvm::CallingConv::ARM_AAPCS_VFP;
   case CC_IntelOclBicc: return llvm::CallingConv::Intel_OCL_BI;

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -3961,6 +3961,16 @@ static void handleCallConvAttr(Sema &S, 
                PascalAttr(Attr.getRange(), S.Context,
                           Attr.getAttributeSpellingListIndex()));
     return;
+  case AttributeList::AT_MSABI:
+    D->addAttr(::new (S.Context)
+               MSABIAttr(Attr.getRange(), S.Context,
+                         Attr.getAttributeSpellingListIndex()));
+    return;
+  case AttributeList::AT_SysVABI:
+    D->addAttr(::new (S.Context)
+               SysVABIAttr(Attr.getRange(), S.Context,
+                           Attr.getAttributeSpellingListIndex()));
+    return;
   case AttributeList::AT_Pcs: {
     PcsAttr::PCSType PCS;
     switch (CC) {
@@ -4036,6 +4046,14 @@ bool Sema::CheckCallingConvAttr(const At
   case AttributeList::AT_StdCall: CC = CC_X86StdCall; break;
   case AttributeList::AT_ThisCall: CC = CC_X86ThisCall; break;
   case AttributeList::AT_Pascal: CC = CC_X86Pascal; break;
+  case AttributeList::AT_MSABI:
+    CC = Context.getTargetInfo().getTriple().isOSWindows() ? CC_C :
+                                                             CC_X86_64Win64;
+    break;
+  case AttributeList::AT_SysVABI:
+    CC = Context.getTargetInfo().getTriple().isOSWindows() ? CC_X86_64SysV :
+                                                             CC_C;
+    break;
   case AttributeList::AT_Pcs: {
     Expr *Arg = attr.getArg(0);
     StringLiteral *Str = dyn_cast<StringLiteral>(Arg);
@@ -4876,6 +4894,8 @@ static void ProcessInheritableDeclAttr(S
   case AttributeList::AT_FastCall:
   case AttributeList::AT_ThisCall:
   case AttributeList::AT_Pascal:
+  case AttributeList::AT_MSABI:
+  case AttributeList::AT_SysVABI:
   case AttributeList::AT_Pcs:
   case AttributeList::AT_PnaclCall:
   case AttributeList::AT_IntelOclBicc:

Modified: projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
==============================================================================
--- projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp	Fri Oct  4 02:18:30 2013	(r256037)
@@ -105,6 +105,8 @@ static void diagnoseBadTypeAttribute(Sem
     case AttributeList::AT_StdCall: \
     case AttributeList::AT_ThisCall: \
     case AttributeList::AT_Pascal: \
+    case AttributeList::AT_MSABI: \
+    case AttributeList::AT_SysVABI: \
     case AttributeList::AT_Regparm: \
     case AttributeList::AT_Pcs: \
     case AttributeList::AT_PnaclCall: \
@@ -3296,6 +3298,10 @@ static AttributeList::Kind getAttrListKi
     return AttributeList::AT_PnaclCall;
   case AttributedType::attr_inteloclbicc:
     return AttributeList::AT_IntelOclBicc;
+  case AttributedType::attr_ms_abi:
+    return AttributeList::AT_MSABI;
+  case AttributedType::attr_sysv_abi:
+    return AttributeList::AT_SysVABI;
   }
   llvm_unreachable("unexpected attribute kind!");
 }

Modified: projects/bhyve_npt_pmap/etc/mtree/Makefile
==============================================================================
--- projects/bhyve_npt_pmap/etc/mtree/Makefile	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/etc/mtree/Makefile	Fri Oct  4 02:18:30 2013	(r256037)
@@ -2,21 +2,13 @@
 
 .include <bsd.own.mk>
 
-FILES=	${_BIND.chroot.dist} \
-	${_BIND.include.dist} \
-	${_BSD.debug.dist} \
+FILES=	${_BSD.debug.dist} \
 	BSD.include.dist \
 	BSD.root.dist \
 	${_BSD.sendmail.dist} \
 	BSD.usr.dist \
 	BSD.var.dist
 
-.if ${MK_BIND} != "no"
-_BIND.chroot.dist=	BIND.chroot.dist
-.if ${MK_BIND_LIBS} != "no"
-_BIND.include.dist=	BIND.include.dist
-.endif
-.endif
 .if ${MK_DEBUG_FILES} != "no"
 _BSD.debug.dist=	BSD.debug.dist
 .endif

Modified: projects/bhyve_npt_pmap/etc/periodic/daily/Makefile
==============================================================================
--- projects/bhyve_npt_pmap/etc/periodic/daily/Makefile	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/etc/periodic/daily/Makefile	Fri Oct  4 02:18:30 2013	(r256037)
@@ -24,10 +24,6 @@ FILES=	100.clean-disks \
 FILES+=	310.accounting
 .endif
 
-.if ${MK_BIND_NAMED} != "no"
-FILES+=	470.status-named
-.endif
-
 .if ${MK_CALENDAR} != "no"
 FILES+=	300.calendar
 .endif

Modified: projects/bhyve_npt_pmap/etc/rc.d/Makefile
==============================================================================
--- projects/bhyve_npt_pmap/etc/rc.d/Makefile	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/etc/rc.d/Makefile	Fri Oct  4 02:18:30 2013	(r256037)
@@ -21,11 +21,11 @@ FILES=	DAEMON \
 	auditd \
 	auditdistd \
 	bgfsck \
-	bluetooth \
+	${_bluetooth} \
 	bootparams \
 	bridge \
 	bsnmpd \
-	bthidd \
+	${_bthidd} \
 	ccd \
 	cleanvar \
 	cleartmp \
@@ -48,7 +48,7 @@ FILES=	DAEMON \
 	gptboot \
 	gssd \
 	hastd \
-	hcsecd \
+	${_hcsecd} \
 	hostapd \
 	hostid \
 	hostid_save \
@@ -182,6 +182,9 @@ _nscd=		nscd
 .endif
 
 .if ${MK_BLUETOOTH} != "no"
+_bluetooth=	bluetooth
+_bthidd=	bthidd
+_hcsecd=	hcsecd
 _ubthidhci=	ubthidhci
 .endif
 

Modified: projects/bhyve_npt_pmap/games/fortune/datfiles/freebsd-tips
==============================================================================
--- projects/bhyve_npt_pmap/games/fortune/datfiles/freebsd-tips	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/games/fortune/datfiles/freebsd-tips	Fri Oct  4 02:18:30 2013	(r256037)
@@ -8,8 +8,8 @@ a root login. You can add a user to the 
 By pressing "Scroll Lock" you can use the arrow keys to scroll backward
 through the console output.  Press "Scroll Lock" again to turn it off.
 %
-Can't remember if you've installed a certain port or not? Try "pkg_info
--Ix port_name".
+Can't remember if you've installed a certain port or not? Try "pkg info
+-x port_name".
 %
 Ever wonder what those numbers after command names were, as in cat(1)?  It's
 the section of the manual the man page is in.  "man man" will tell you more.
@@ -96,12 +96,6 @@ If you want to play CDs with FreeBSD, a 
 Type 'cdcontrol' then 'help' to learn more.  (You may need to set the CDROM
 environment variable in order to make cdcontrol want to start.)
 %
-If you want to quickly check for duplicate package/port installations,
-try the following pkg_info command.
-
-	pkg_info | sort | sed -e 's/-[0-9].*$//' | \
-	uniq -c | grep -v '^[[:space:]]*1'
-%
 If you'd like to keep track of applications in the FreeBSD ports tree, take a
 look at FreshPorts;
 
@@ -356,11 +350,10 @@ adjust, just type 'mixer'.
 %
 You can automatically download and install binary packages by doing
 
-	pkg_add -r <URL>
+	pkg install <package>
 
-where you replace <URL> with the URL to the package.  This will also
-automatically install the packages the package you download is dependent on
-(ie, the packages it needs in order to work.)
+This will also automatically install the packages that are dependencies
+for the package you install (ie, the packages it needs in order to work.)
 %
 You can change the video mode on all consoles by adding something like
 the following to /etc/rc.conf:
@@ -448,8 +441,7 @@ You can use /etc/make.conf to control th
 on this system.  Example entries are in
 /usr/share/examples/etc/make.conf.
 %
-You can use "pkg_info" to see a list of packages you have installed.
-		-- Konstantinos Konstantinidis <kkonstan@duth.gr>
+You can use "pkg info" to see a list of packages you have installed.
 %
 You can use the 'fetch' command to retrieve files over ftp or http.
 

Modified: projects/bhyve_npt_pmap/gnu/usr.bin/binutils/Makefile
==============================================================================
--- projects/bhyve_npt_pmap/gnu/usr.bin/binutils/Makefile	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/gnu/usr.bin/binutils/Makefile	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 SUBDIR=		libiberty libbfd libopcodes libbinutils \
-		addr2line ar as ld nm objcopy objdump ranlib readelf \
+		addr2line as ld nm objcopy objdump readelf \
 		size strings strip doc
 
 .include <bsd.subdir.mk>

Modified: projects/bhyve_npt_pmap/lib/libc/sys/accept.2
==============================================================================
--- projects/bhyve_npt_pmap/lib/libc/sys/accept.2	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/lib/libc/sys/accept.2	Fri Oct  4 02:18:30 2013	(r256037)
@@ -28,7 +28,7 @@
 .\"     @(#)accept.2	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd May 1, 2013
+.Dd October 1, 2013
 .Dt ACCEPT 2
 .Os
 .Sh NAME
@@ -155,13 +155,20 @@ For some applications, performance may b
 .Xr accept_filter 9
 to pre-process incoming connections.
 .Pp
-Portable programs should not rely on the
+When using
+.Fn accept ,
+portable programs should not rely on the
 .Dv O_NONBLOCK
 and
 .Dv O_ASYNC
 properties and the signal destination being inherited,
 but should set them explicitly using
-.Xr fcntl 2 .
+.Xr fcntl 2 ;
+.Fn accept4
+sets these properties consistently,
+but may not be fully portable across
+.Ux
+platforms.
 .Sh RETURN VALUES
 These calls return \-1 on error.
 If they succeed, they return a non-negative

Modified: projects/bhyve_npt_pmap/libexec/rtld-elf/rtld.c
==============================================================================
--- projects/bhyve_npt_pmap/libexec/rtld-elf/rtld.c	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/libexec/rtld-elf/rtld.c	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1111,11 +1111,7 @@ digest_dynamic1(Obj_Entry *obj, int earl
 		break;
 
 	case DT_MIPS_RLD_MAP:
-#ifdef notyet
-		if (!early)
-			dbg("Filling in DT_DEBUG entry");
-		((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug;
-#endif
+		*((Elf_Addr *)(dynp->d_un.d_ptr)) = (Elf_Addr) &r_debug;
 		break;
 #endif
 

Modified: projects/bhyve_npt_pmap/sbin/bsdlabel/bsdlabel.8
==============================================================================
--- projects/bhyve_npt_pmap/sbin/bsdlabel/bsdlabel.8	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/sbin/bsdlabel/bsdlabel.8	Fri Oct  4 02:18:30 2013	(r256037)
@@ -31,7 +31,7 @@
 .\"	@(#)disklabel.8	8.2 (Berkeley) 4/19/94
 .\" $FreeBSD$
 .\"
-.Dd March 5, 2011
+.Dd October 1, 2013
 .Dt BSDLABEL 8
 .Os
 .Sh NAME
@@ -457,9 +457,9 @@ such as
 and
 .Cm * ,
 which could be used as a source file for
-.Dq Li "bsdlabel -R ad0s1 new_label_file" :
+.Dq Li "bsdlabel -R ada0s1 new_label_file" :
 .Bd -literal -offset 4n
-# /dev/ad0s1:
+# /dev/ada0s1:
 
 8 partitions:
 #        size   offset    fstype   [fsize bsize bps/cpg]

Modified: projects/bhyve_npt_pmap/sbin/ccdconfig/ccdconfig.8
==============================================================================
--- projects/bhyve_npt_pmap/sbin/ccdconfig/ccdconfig.8	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/sbin/ccdconfig/ccdconfig.8	Fri Oct  4 02:18:30 2013	(r256037)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 17, 1995
+.Dd October 1, 2013
 .Dt CCDCONFIG 8
 .Os
 .Sh NAME
@@ -180,7 +180,7 @@ and read it from
 mdadm --create --chunk=32 --level=0 --raid-devices=2 /dev/md0 \\
    /dev/hda1 /dev/hdb1
 # Make the RAID-0 just created available on FreeBSD:
-ccdconfig -c /dev/ccd0 32 linux /dev/ad0s1 /dev/ad0s2
+ccdconfig -c /dev/ccd0 32 linux /dev/ada0s1 /dev/ada0s2
 .Ed
 .Pp
 When you create a new ccd disk you generally want to

Modified: projects/bhyve_npt_pmap/sbin/fdisk/fdisk.8
==============================================================================
--- projects/bhyve_npt_pmap/sbin/fdisk/fdisk.8	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/sbin/fdisk/fdisk.8	Fri Oct  4 02:18:30 2013	(r256037)
@@ -1,6 +1,6 @@
 .\" $FreeBSD$
 .\"
-.Dd May 24, 2009
+.Dd October 1, 2013
 .Dt FDISK 8
 .Os
 .Sh NAME
@@ -159,7 +159,7 @@ mounted root device.
 When called with no arguments, it prints the sector 0 slice table.
 An example follows:
 .Bd -literal
-	******* Working on device /dev/ad0 *******
+	******* Working on device /dev/ada0 *******
 	parameters extracted from in-core disklabel are:
 	cylinders=769 heads=15 sectors/track=33 (495 blks/cyl)
 

Modified: projects/bhyve_npt_pmap/sbin/gbde/gbde.8
==============================================================================
--- projects/bhyve_npt_pmap/sbin/gbde/gbde.8	Fri Oct  4 01:42:27 2013	(r256036)
+++ projects/bhyve_npt_pmap/sbin/gbde/gbde.8	Fri Oct  4 02:18:30 2013	(r256037)
@@ -31,7 +31,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 8, 2006
+.Dd October 1, 2013
 .Dt GBDE 8
 .Os
 .Sh NAME
@@ -207,23 +207,23 @@ used).
 .Sh EXAMPLES
 To initialize a device, using default parameters:
 .Pp
-.Dl "gbde init /dev/ad0s1f -L /etc/ad0s1f.lock"
+.Dl "gbde init /dev/ada0s1f -L /etc/ada0s1f.lock"
 .Pp
 To attach an encrypted device:
 .Pp
-.Dl "gbde attach ad0s1f -l /etc/ad0s1f.lock"
+.Dl "gbde attach ada0s1f -l /etc/ada0s1f.lock"
 .Pp
 The encrypted device has the suffix
 .Pa .bde
 so a typical
 command to create and mount a file system would be:
 .Pp
-.Dl "newfs /dev/ad0s1f.bde"
-.Dl "mount /dev/ad0s1f.bde /secret"
+.Dl "newfs /dev/ada0s1f.bde"
+.Dl "mount /dev/ada0s1f.bde /secret"
 .Pp
 To detach an encrypted device:
 .Pp
-.Dl "gbde detach ad0s1f"
+.Dl "gbde detach ada0s1f"
 .Pp
 Please notice that detaching an encrypted device corresponds to
 physically removing it, do not forget to unmount the file system first.
@@ -231,11 +231,11 @@ physically removing it, do not forget to
 To initialize the second key using a detached lockfile and a trivial
 pass-phrase:
 .Pp
-.Dl "gbde setkey ad0s1f -n 2 -P foo -L key2.lockfile"

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



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