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...
Neel Natu
neel at FreeBSD.org
Fri Oct 4 02:18:39 UTC 2013
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 at 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 ***
More information about the svn-src-projects
mailing list