From owner-svn-src-projects@FreeBSD.ORG Fri Oct 4 02:18:39 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 19E64A7F; Fri, 4 Oct 2013 02:18:39 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0395D2DEB; Fri, 4 Oct 2013 02:18:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r942IcdH092716; Fri, 4 Oct 2013 02:18:38 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r942IUoX092665; Fri, 4 Oct 2013 02:18:30 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201310040218.r942IUoX092665@svn.freebsd.org> From: Neel Natu Date: Fri, 4 Oct 2013 02:18:30 +0000 (UTC) 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... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Oct 2013 02:18:39 -0000 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>, + + // Handle explicit CC selection + CCIfCC<"CallingConv::X86_64_Win64", CCDelegateTo>, + CCIfCC<"CallingConv::X86_64_SysV", CCDelegateTo>, + // Mingw64 and native Win64 use Win64 CC CCIfSubtarget<"isTargetWin64()", CCDelegateTo>, @@ -489,6 +494,8 @@ def CC_X86_32 : CallingConv<[ def CC_X86_64 : CallingConv<[ CCIfCC<"CallingConv::GHC", CCDelegateTo>, CCIfCC<"CallingConv::HiPE", CCDelegateTo>, + CCIfCC<"CallingConv::X86_64_Win64", CCDelegateTo>, + CCIfCC<"CallingConv::X86_64_SysV", CCDelegateTo>, // Mingw64 and native Win64 use Win64 CC CCIfSubtarget<"isTargetWin64()", CCDelegateTo>, 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 &OutVals, const SmallVectorImpl &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 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(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 -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 + pkg install -where you replace 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 +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 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 ***