From owner-svn-src-projects@FreeBSD.ORG Wed Feb 4 10:59:57 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0ED6BCC1; Wed, 4 Feb 2015 10:59:57 +0000 (UTC) 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)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EAD5AFA8; Wed, 4 Feb 2015 10:59:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t14AxumL066953; Wed, 4 Feb 2015 10:59:56 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t14Axq7p066936; Wed, 4 Feb 2015 10:59:52 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502041059.t14Axq7p066936@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Wed, 4 Feb 2015 10:59:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r278196 - in projects/building-blocks: cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat cddl/contrib/opensolaris/lib... 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.18-1 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: Wed, 04 Feb 2015 10:59:57 -0000 Author: ngie Date: Wed Feb 4 10:59:51 2015 New Revision: 278196 URL: https://svnweb.freebsd.org/changeset/base/278196 Log: MFhead @ r278194 Added: projects/building-blocks/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff - copied unchanged from r278194, head/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff projects/building-blocks/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff - copied unchanged from r278194, head/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff projects/building-blocks/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff - copied unchanged from r278194, head/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff projects/building-blocks/sys/amd64/include/pvclock.h - copied unchanged from r278194, head/sys/amd64/include/pvclock.h projects/building-blocks/sys/i386/include/pvclock.h - copied unchanged from r278194, head/sys/i386/include/pvclock.h projects/building-blocks/sys/x86/include/pvclock.h - copied unchanged from r278194, head/sys/x86/include/pvclock.h projects/building-blocks/sys/x86/x86/pvclock.c - copied unchanged from r278194, head/sys/x86/x86/pvclock.c Deleted: projects/building-blocks/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff projects/building-blocks/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe (contents, props changed) projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe (contents, props changed) projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c projects/building-blocks/lib/msun/src/s_scalbln.c projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/building-blocks/release/doc/share/mk/doc.relnotes.mk projects/building-blocks/release/tools/gce.conf projects/building-blocks/sbin/Makefile projects/building-blocks/sbin/ifconfig/af_inet6.c projects/building-blocks/sbin/ifconfig/ifconfig.c projects/building-blocks/share/man/man5/src.conf.5 projects/building-blocks/share/mk/src.opts.mk projects/building-blocks/sys/arm/ti/am335x/am335x_prcm.c projects/building-blocks/sys/cam/cam.h projects/building-blocks/sys/cam/cam_periph.c projects/building-blocks/sys/cam/ctl/ctl_frontend_iscsi.c projects/building-blocks/sys/cam/ctl/ctl_frontend_iscsi.h projects/building-blocks/sys/cam/scsi/scsi_cd.c projects/building-blocks/sys/cam/scsi/scsi_da.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/building-blocks/sys/cddl/dev/dtrace/dtrace_load.c projects/building-blocks/sys/cddl/dev/dtrace/dtrace_unload.c projects/building-blocks/sys/conf/files.amd64 projects/building-blocks/sys/conf/files.i386 projects/building-blocks/sys/conf/options projects/building-blocks/sys/dev/drm2/i915/i915_drv.c projects/building-blocks/sys/dev/drm2/i915/i915_drv.h projects/building-blocks/sys/dev/drm2/i915/intel_dp.c projects/building-blocks/sys/dev/drm2/i915/intel_iic.c projects/building-blocks/sys/dev/drm2/ttm/ttm_bo.c projects/building-blocks/sys/dev/drm2/ttm/ttm_page_alloc.c projects/building-blocks/sys/dev/fe/if_fe_isa.c projects/building-blocks/sys/dev/gpio/gpiobus.c projects/building-blocks/sys/dev/gpio/gpiobusvar.h projects/building-blocks/sys/dev/gpio/ofw_gpiobus.c projects/building-blocks/sys/dev/iscsi/iscsi_proto.h projects/building-blocks/sys/dev/usb/controller/xhci.c projects/building-blocks/sys/dev/usb/usb_core.h projects/building-blocks/sys/dev/usb/usb_msctest.c projects/building-blocks/sys/dev/usb/usb_transfer.c projects/building-blocks/sys/dev/xen/timer/timer.c projects/building-blocks/sys/fs/tmpfs/tmpfs_subr.c projects/building-blocks/sys/i386/xen/clock.c projects/building-blocks/sys/kern/sys_pipe.c projects/building-blocks/sys/mips/atheros/if_argevar.h projects/building-blocks/sys/netinet/ip_output.c projects/building-blocks/sys/ofed/include/linux/linux_idr.c projects/building-blocks/sys/rpc/svc_vc.c projects/building-blocks/tools/build/mk/OptionalObsoleteFiles.inc projects/building-blocks/usr.sbin/ctladm/ctladm.c projects/building-blocks/usr.sbin/ctld/ctld.c projects/building-blocks/usr.sbin/ctld/ctld.h projects/building-blocks/usr.sbin/ctld/kernel.c projects/building-blocks/usr.sbin/pkg/pkg.c Directory Properties: projects/building-blocks/ (props changed) projects/building-blocks/cddl/ (props changed) projects/building-blocks/cddl/contrib/opensolaris/ (props changed) projects/building-blocks/contrib/llvm/ (props changed) projects/building-blocks/etc/ (props changed) projects/building-blocks/sbin/ (props changed) projects/building-blocks/share/ (props changed) projects/building-blocks/sys/ (props changed) projects/building-blocks/sys/cddl/contrib/opensolaris/ (props changed) projects/building-blocks/sys/conf/ (props changed) Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/usr/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe Wed Feb 4 10:59:51 2015 (r278196) @@ -1,4 +1,4 @@ -#!/usr/bin/ksh +#!/usr/bin/env ksh # # CDDL HEADER START # Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe ============================================================================== Binary file (source and/or target). No diff available. Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe ============================================================================== Binary file (source and/or target). No diff available. Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c Wed Feb 4 10:59:51 2015 (r278196) @@ -382,6 +382,9 @@ dt_stddev(uint64_t *data, uint64_t norma int64_t norm_avg; uint64_t diff[2]; + if (data[0] == 0) + return (0); + /* * The standard approximation for standard deviation is * sqrt(average(x**2) - average(x)**2), i.e. the square root Copied: projects/building-blocks/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff (from r278194, head/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/building-blocks/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff Wed Feb 4 10:59:51 2015 (r278196, copy of r278194, head/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff) @@ -0,0 +1,33 @@ +Allow clang to be built for mips/mips64 backend types by adding our mips +triple ids + +This only allows testing and does not change the defaults for mips/mips64. +They still build/use gcc by default. + +Differential Revision: https://reviews.freebsd.org/D1190 +Reviewed by: dim + +Introduced here: http://svnweb.freebsd.org/changeset/base/277423 + +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -6592,6 +6592,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c + CmdArgs.push_back("elf32ppc_fbsd"); + } + ++ if (Arg *A = Args.getLastArg(options::OPT_G)) { ++ if (ToolChain.getArch() == llvm::Triple::mips || ++ ToolChain.getArch() == llvm::Triple::mipsel || ++ ToolChain.getArch() == llvm::Triple::mips64 || ++ ToolChain.getArch() == llvm::Triple::mips64el) { ++ StringRef v = A->getValue(); ++ CmdArgs.push_back(Args.MakeArgString("-G" + v)); ++ A->claim(); ++ } ++ } ++ + if (Output.isFilename()) { + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); Copied: projects/building-blocks/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff (from r278194, head/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/building-blocks/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff Wed Feb 4 10:59:51 2015 (r278196, copy of r278194, head/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff) @@ -0,0 +1,83 @@ +Pull in r226664 from upstream llvm trunk (by Tim Northover): + + AArch64: add backend option to reserve x18 (platform register) + + AAPCS64 says that it's up to the platform to specify whether x18 is + reserved, and a first step on that way is to add a flag controlling + it. + + From: Andrew Turner + +Introduced here: http://svnweb.freebsd.org/changeset/base/277774 + +Index: lib/Target/AArch64/AArch64RegisterInfo.cpp +=================================================================== +--- lib/Target/AArch64/AArch64RegisterInfo.cpp ++++ lib/Target/AArch64/AArch64RegisterInfo.cpp +@@ -33,6 +33,10 @@ using namespace llvm; + #define GET_REGINFO_TARGET_DESC + #include "AArch64GenRegisterInfo.inc" + ++static cl::opt ++ReserveX18("aarch64-reserve-x18", cl::Hidden, ++ cl::desc("Reserve X18, making it unavailable as GPR")); ++ + AArch64RegisterInfo::AArch64RegisterInfo(const AArch64InstrInfo *tii, + const AArch64Subtarget *sti) + : AArch64GenRegisterInfo(AArch64::LR), TII(tii), STI(sti) {} +@@ -90,7 +94,7 @@ AArch64RegisterInfo::getReservedRegs(const Machine + Reserved.set(AArch64::W29); + } + +- if (STI->isTargetDarwin()) { ++ if (STI->isTargetDarwin() || ReserveX18) { + Reserved.set(AArch64::X18); // Platform register + Reserved.set(AArch64::W18); + } +@@ -117,7 +121,7 @@ bool AArch64RegisterInfo::isReservedReg(const Mach + return true; + case AArch64::X18: + case AArch64::W18: +- return STI->isTargetDarwin(); ++ return STI->isTargetDarwin() || ReserveX18; + case AArch64::FP: + case AArch64::W29: + return TFI->hasFP(MF) || STI->isTargetDarwin(); +@@ -379,7 +383,7 @@ unsigned AArch64RegisterInfo::getRegPressureLimit( + case AArch64::GPR64commonRegClassID: + return 32 - 1 // XZR/SP + - (TFI->hasFP(MF) || STI->isTargetDarwin()) // FP +- - STI->isTargetDarwin() // X18 reserved as platform register ++ - (STI->isTargetDarwin() || ReserveX18) // X18 reserved as platform register + - hasBasePointer(MF); // X19 + case AArch64::FPR8RegClassID: + case AArch64::FPR16RegClassID: +Index: test/CodeGen/AArch64/arm64-platform-reg.ll +=================================================================== +--- test/CodeGen/AArch64/arm64-platform-reg.ll ++++ test/CodeGen/AArch64/arm64-platform-reg.ll +@@ -1,4 +1,5 @@ +-; RUN: llc -mtriple=arm64-apple-ios -o - %s | FileCheck %s --check-prefix=CHECK-DARWIN ++; RUN: llc -mtriple=arm64-apple-ios -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18 ++; RUN: llc -mtriple=arm64-freebsd-gnu -aarch64-reserve-x18 -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18 + ; RUN: llc -mtriple=arm64-linux-gnu -o - %s | FileCheck %s + + ; x18 is reserved as a platform register on Darwin but not on other +@@ -16,11 +17,11 @@ define void @keep_live() { + ; CHECK: ldr x18 + ; CHECK: str x18 + +-; CHECK-DARWIN-NOT: ldr fp +-; CHECK-DARWIN-NOT: ldr x18 +-; CHECK-DARWIN: Spill +-; CHECK-DARWIN-NOT: ldr fp +-; CHECK-DARWIN-NOT: ldr x18 +-; CHECK-DARWIN: ret ++; CHECK-RESERVE-X18-NOT: ldr fp ++; CHECK-RESERVE-X18-NOT: ldr x18 ++; CHECK-RESERVE-X18: Spill ++; CHECK-RESERVE-X18-NOT: ldr fp ++; CHECK-RESERVE-X18-NOT: ldr x18 ++; CHECK-RESERVE-X18: ret + ret void + } Copied: projects/building-blocks/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff (from r278194, head/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/building-blocks/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff Wed Feb 4 10:59:51 2015 (r278196, copy of r278194, head/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff) @@ -0,0 +1,54 @@ +Pull in r227062 from upstream clang trunk (by Renato Golin): + + Allows Clang to use LLVM's fixes-x18 option + + This patch allows clang to have llvm reserve the x18 + platform register on AArch64. FreeBSD will use this in the kernel for + per-cpu data but has no need to reserve this register in userland so + will need this flag to reserve it. + + This uses llvm r226664 to allow this register to be reserved. + + Patch by Andrew Turner. + +Introduced here: http://svnweb.freebsd.org/changeset/base/277775 + +Index: tools/clang/include/clang/Driver/Options.td +=================================================================== +--- tools/clang/include/clang/Driver/Options.td ++++ tools/clang/include/clang/Driver/Options.td +@@ -1141,6 +1141,9 @@ def mno_long_calls : Flag<["-"], "mno-long-calls"> + def mgeneral_regs_only : Flag<["-"], "mgeneral-regs-only">, Group, + HelpText<"Generate code which only uses the general purpose registers (AArch64 only)">; + ++def ffixed_x18 : Flag<["-"], "ffixed-x18">, Group, ++ HelpText<"Reserve the x18 register (AArch64 only)">; ++ + def mvsx : Flag<["-"], "mvsx">, Group; + def mno_vsx : Flag<["-"], "mno-vsx">, Group; + def mfprnd : Flag<["-"], "mfprnd">, Group; +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -887,6 +887,11 @@ void Clang::AddAArch64TargetArgs(const ArgList &Ar + if (A->getOption().matches(options::OPT_mno_global_merge)) + CmdArgs.push_back("-mno-global-merge"); + } ++ ++ if (Args.hasArg(options::OPT_ffixed_x18)) { ++ CmdArgs.push_back("-backend-option"); ++ CmdArgs.push_back("-aarch64-reserve-x18"); ++ } + } + + // Get CPU and ABI names. They are not independent +Index: tools/clang/test/Driver/aarch64-fixed-x18.c +=================================================================== +--- tools/clang/test/Driver/aarch64-fixed-x18.c ++++ tools/clang/test/Driver/aarch64-fixed-x18.c +@@ -0,0 +1,4 @@ ++// RUN: %clang -target aarch64-none-gnu -ffixed-x18 -### %s 2> %t ++// RUN: FileCheck --check-prefix=CHECK-FIXED-X18 < %t %s ++ ++// CHECK-FIXED-X18: "-backend-option" "-aarch64-reserve-x18" Modified: projects/building-blocks/lib/msun/src/s_scalbln.c ============================================================================== --- projects/building-blocks/lib/msun/src/s_scalbln.c Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/lib/msun/src/s_scalbln.c Wed Feb 4 10:59:51 2015 (r278196) @@ -35,7 +35,9 @@ scalbln (double x, long n) { int in; - in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n; + in = (int)n; + if (in != n) + in = (n > 0) ? INT_MAX: INT_MIN; return (scalbn(x, in)); } @@ -44,7 +46,9 @@ scalblnf (float x, long n) { int in; - in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n; + in = (int)n; + if (in != n) + in = (n > 0) ? INT_MAX: INT_MIN; return (scalbnf(x, in)); } @@ -53,6 +57,8 @@ scalblnl (long double x, long n) { int in; - in = (n > INT_MAX) ? INT_MAX : (n < INT_MIN) ? INT_MIN : n; + in = (int)n; + if (in != n) + in = (n > 0) ? INT_MAX: INT_MIN; return (scalbnl(x, in)); } Modified: projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml Wed Feb 4 10:36:10 2015 (r278195) +++ projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml Wed Feb 4 10:59:51 2015 (r278196) @@ -90,12 +90,8 @@ information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for &os; &release.current; can be found on the &os; Web site. - - - - What's New - This section describes the most user-visible new or changed + This document describes the most user-visible new or changed features in &os; since &release.prev;. In general, changes described here are unique to the &release.branch; branch unless specifically marked as &merged; features. @@ -109,397 +105,78 @@ between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. + - - Security Advisories - - No advisories. - - - - - Kernel Changes - - Support for GPS ports has been added to - &man.uhso.4;. - - The if_nf10bmac(4) - device has been added, providing support for NetFPGA-10G - Embedded CPU Ethernet Core. - - - The if_nf10bmac(4) driver operates on - the FPGA, and is not suited for the PCI host - interface. - - - The &man.full.4; device has been added, - and the lindev(4) device has been removed. - Prior to this change, lindev(4) provided - only the /dev/full character device, - returning ENOSPC on write attempts. As - this device is not specific to &linux;, a native &os; version - has been added. - - The &man.mpr.4; - device has been added, providing support for LSI Fusion-MPT - 3 12Gb SCSI/SATA controllers. + + Upgrading from Previous Releases of &os; - The &man.mrsas.4; driver has been added, - providing support for LSI MegaRAID SAS controllers. The - &man.mfi.4; driver will attach to the controller, by default. - To enable &man.mrsas.4; add - hw.mfi.mrsas_enable=1 to - /boot/loader.conf, which turns off - &man.mfi.4; device probing. + Binary upgrades between RELEASE versions + (and snapshots of the various security branches) are supported + using the &man.freebsd-update.8; utility. The binary upgrade + procedure will update unmodified userland utilities, as well as + unmodified GENERIC kernels distributed as a part of an official + &os; release. The &man.freebsd-update.8; utility requires that + the host being upgraded have Internet connectivity. - - At this time, the &man.mfiutil.8; utility and the &os; - version of MegaCLI and - StorCli do not work with - &man.mrsas.4;. - + Source-based upgrades (those based on recompiling the &os; + base system from source code) from previous versions are + supported, according to the instructions in + /usr/src/UPDATING. - A kernel bug that inhibited proper - functionality of the dev.cpu.0.freq - &man.sysctl.8; on &intel; processors with Turbo - Boost ™ enabled has been fixed. + + Upgrading &os; should only be attempted after backing up + all data and configuration files. + + - The IMAGACT_BINMISC - kernel configuration option has been enabled by default, - which enables application execution through emulators, such - as Qemu. + + Security and Errata - Support for the &man.cxgbe.4; Terminator - 5 (T5) 10G/40G cards has been added to &man.netmap.4;. + This section lists the various Security Advisories and + Errata Notices since &release.prev;. - The VT kernel - configuration file has been removed, and the &man.vt.4; - driver is included in the GENERIC kernel. - To enable &man.vt.4;, enter set kern.vty=vt - at the &man.loader.8; prompt during boot, or add - kern.vty=vt to &man.loader.conf.5; and - reboot the system. + + Security Advisories - Support for - &man.dtrace.1; stack tracing has been fixed for - &os;/&arch.powerpc;, using the trapexit() - and asttrapexit() functions instead of - checking within addressed kernel space. + No advisories. - Hardware context support has been - added to the drm/i915 driver, adding - support for Mesa 9.2 and - later. + - The &man.vt.4; driver has been updated, - replacing the bitmapped kern.vt.spclkeys - &man.sysctl.8; with individual - kern.vt.kbd_* variants. + + Errata Notices - The &man.hpet.4; driver has been updated - to create a - /dev/hpetN - device, providing access to HPET from - userspace. + No errata notices. - The &man.vt.4; driver has been made the - default system console driver. The &man.syscons.4; driver is - still available, and can be enabled by adding - kern.vty=sc in &man.loader.conf.5;. - Alternatively, &man.syscons.4; can be enabled at boot time by - entering set kern.vty=sc at the - &man.loader.8; prompt. + + - An issue that could cause a system to - hang when entering ACPI - S3 state (suspend to - RAM) has been corrected in the &man.acpi.4; - and &man.pci.4; drivers. + + Userland - The power management unit - subsystem has been updated to support power button events on - certain &arch.powerpc; hardware, such as aluminum - PowerBook ®. + This section covers changes and additions to userland + applications, contributed software, and system utilities. - The &man.hwpmc.4; - driver has been updated to correct performance counter - sampling on G4 (MPC74xxx) and G5 class processors. + + Userland Configuration Changes - The - OpenCrypto framework has been - updated to include AES-ICM and - AES-GCM modes, both of which have also been - added to the &man.aesni.4; driver. + The default &man.newsyslog.conf.5; now + includes files in the + /etc/newsyslog.conf.d/ and + /usr/local/etc/newsyslog.conf.d/ + directories by default for &man.newsyslog.8;. - - Virtualization Support + The &man.mailwrapper.8; utility has been + updated to use &man.mailer.conf.5; from the + LOCALBASE environment variable, which + defaults to /usr/local + if unset. - Support for the Virtual - Interrupt Delivery feature of &intel; VT-x is - enabled if supported by the CPU. This feature can be - disabled by running sysctl - hw.vmm.vmx.use_apic_vid=0. Additionally, to - persist this setting across reboots, add - hw.vmm.vmx.use_apic_vid=0 to - /etc/sysctl.conf. - - Support for Posted Interrupt - Processing is enabled if supported by the CPU. - This feature can be disabled by running sysctl - hw.vmm.vmx.use_apic_pir=0. Additionally, to - persist this setting across reboots, add - hw.vmm.vmx.use_apic_pir=0 to - /etc/sysctl.conf. - - Unmapped IO support has been added to - &man.virtio_blk.4;. - - Unmapped IO support has been added to - &man.virtio_scsi.4;. - - The &man.virtio_random.4; driver has - been added to harvest entropy from the host system. - - Support for running - a &os;/&arch.amd64; Xen guest - instance as PVH guest has been added. - PVH mode, short for - Para-Virtualized Hardware, uses - para-virtualized drivers for boot and I/O, and uses hardware - virtualization extensions for all other tasks, without the - need for emulation. - - The &man.virtio.console.4; driver has - been added, which provides an interface to VirtIO console - devices through a &man.tty.4; device. - - - - ARM Support - - The &man.nand.4; device is enabled for - ARM devices by default. - - An issue that could cause - instability when detecting SD cards on - the Raspberry Pi SOC has been - fixed. - - The bcm2835_cpufreq - driver has been added, which supports CPU - frequency and voltage control on the Raspberry Pi - SOC. - - - - Boot Loader Changes - -   - - - - Hardware Support - - The &man.asmc.4; driver has been - updated to support the &apple; MacMini 3,1. - - Support for &os;/ia64 has been dropped - as of &os; 11. - - - Multimedia Support - -   - - - - Network Interface Support - - Support for Broadcom chipsets - BCM57764, BCM57767, BCM57782, BCM57786 and BCM57787 has - been added to &man.bge.4;. - - Support for the &intel; - Centrino™ Wireless-N 135 chipset has been - added. - - Firmware for &intel; Centrino™ - Wireless-N 105 devices has been added to the base - system. - - The deprecated nve(4) driver has - been removed. Users of NVIDIA nForce MCP network adapters - are advised to use the &man.nfe.4; driver instead, which - has been the default driver for this hardware since - &os; 7.0. - - The &man.ath.hal.4; driver has been - updated to support the Atheros AR1111 chipset. - - Support for the &intel; - Centrino™ Wireless-N 105 chipset has been - added. - - A bug in &man.ipfw.4; that could - potentially lead to a kernel panic when using - &man.dummynet.4; at layer 2 has been fixed. - - The &man.alc.4; driver has been - updated to support AR816x and AR817x ethernet - controllers. - - The &man.vxlan.4; driver has been - added, which creates a virtual Layer 2 (Ethernet) network - overlaid in a Layer 3 (IP/UDP) network. The &man.vxlan.4; - driver is analogous to &man.vlan.4;, but is designed to be - better suited for large, multiple-tenant datacenter - environments. - - The &man.gre.4; driver has been - significantly overhauled, and has been split into two - separate modules, &man.gre.4; and &man.me.4;. - - - - - Network Protocols - - Support for the IPX network transport - protocol has been removed, and will not be supported in - &os; 11 and later releases. - - Support for PLPMTUD - blackhole detection (RFC 4821) has been - added to the &man.tcp.4; stack, disabled by default. New - control tunables have been added: - - - - - - - - Tunable - Description - - - - - - net.inet.tcp.pmtud_blackhole_detection - Enables or disables PLPMTUD - blackhole detection - - - - net.inet.tcp.pmtud_blackhole_mss - MSS to try for IPv4 - - - - net.inet.tcp.v6pmtud_blackhole_mss - MSS to try for IPv6 - - - - - - New monitoring &man.sysctl.8;s haven been added: - - - - - - - - Tunable - Description - - - - - - net.inet.tcp.pmtud_blackhole_activated - Number of times the code was activated to - attempt downshifting the - MSS - - - - net.inet.tcp.pmtud_blackhole_min_activated - Number of times the blackhole - MSS was used in an attempt to - downshift - - - - net.inet.tcp.pmtud_blackhole_failed - Number of times that the blackhole failed to - connect after downshifting the - MSS - - - - - - - - Disks and Storage - - Support for the - disklabel64 partitioning scheme has been - added to &man.gpart.8;. - - The asr(4) driver - has been removed, and is no longer supported. - - The - &man.ctl.4; subsystem has been updated, increasing the ports - limit from 128 to 256, - and LUN limit from 256 - to 1024. - - - - File Systems - - The - new filesystem automount facility, &man.autofs.5;, has been - added. The new &man.autofs.5; facility is similar to that - found in other &unix;-like operating systems, such as - OS X™ and Solaris™. The &man.autofs.5; - facility uses a &sun;-compatible &man.auto.master.5; - configuration file, and is administered with the - &man.automount.8; userland utility, and the - &man.automountd.8; and &man.autounmountd.8; daemons. - - - ZFS - - The - arc_meta_limit statistics are now - visible through the kstat - &man.sysctl.8;. As a result of this change, the - vfs.zfs.arc_meta_used &man.sysctl.8; - has been removed, and replaced with the - kstat.zfs.misc.arcstats.arc_meta_used - &man.sysctl.8;. - - + The MK_ARM_EABI + &man.src.conf.5; option has been removed. - - Userland Changes + + Userland Application Changes The &man.casperd.8; daemon has been @@ -532,9 +209,6 @@ network packets using the Capsicum framework to drop privileges. - &os;/&arch.i386; guests can be run under - bhyve. - The &man.ps.1; utility has been updated to include the -J flag, used to filter output by matching &man.jail.8; IDs and names. @@ -555,23 +229,6 @@ ends event collection after the specified number of seconds. - The default &man.newsyslog.conf.5; now - includes files in the - /etc/newsyslog.conf.d/ and - /usr/local/etc/newsyslog.conf.d/ - directories by default for &man.newsyslog.8;. - - The &man.readline.3; library is now - statically linked in software within the base system, and the - shared library is no longer installed, allowing the Ports - Collection to use a modern version of the library. - - The &man.mailwrapper.8; utility has been - updated to use &man.mailer.conf.5; from the - LOCALBASE environment variable, which - defaults to /usr/local - if unset. - The &man.ps.1; utility has been updated to include a new keyword, tracer, which displays the PID of the tracing @@ -580,10 +237,6 @@ Support for adding empty partitions has been added to the &man.mkimg.1; utility. - The &man.bsdinstall.8; partition editor - and &man.sade.8; utility have been updated to include native - ZFS support. - The &man.primes.6; utility has been updated to correctly enumerate prime numbers between 4295098369 and @@ -628,65 +281,20 @@ - The &man.strptime.3; library has been - updated to add support for POSIX-2001 - features %U and - %W. - - The &os; installation utility, - &man.bsdinstall.8;, has been updated to set the - canmount &man.zfs.8; property to - off for the /var dataset, preventing the - contents of directories within /var from conflicting when - using multiple boot environments, such as that provided by - sysutils/beadm. - - The MK_ARM_EABI - &man.src.conf.5; option has been removed. - Userland &man.ctf.5; support in &man.dtrace.1; has been added. With this change, &man.dtrace.1; is able to resolve type info for function and USDT probe arguments, and function return values. - The &man.dl.iterate.phdr.3; library has been - changed to always return the path name of the - ELF object in the - dlpi_name structure member. - - A - userland library for Chelsio Terminator 5 based iWARP cards - has been added, allowing userland RDMA - applications to work over compatible - NICs. - - The &man.bsdconfig.8; utility has been - updated to skip the initial &man.tzsetup.8; - UTC versus wall-clock time prompt when run - in a virtual machine, determined when the - kern.vm_guest &man.sysctl.8; is set to - 1. - The &man.elfdump.1; utility has been updated to support capability mode provided by &man.capsicum.4;. - The &man.gpio.3; library has been added, - providing a wrapper around the &man.gpio.4; kernel - interface. - The &man.fstyp.8; utility has been added, which is used to determine the filesystem on a specified device. - The &man.bsdinstall.8; utility has been - updated to use the new &man.dpv.3; library to display progress - when extracting the &os; distributions. - The libedit library has been updated to support UTF-8, which additionally provides unicode support to &man.sh.1;. @@ -694,44 +302,9 @@ The &man.ptrace.2; system call has been updated include support for Altivec registers on &os;/&arch.powerpc;. - - - <acronym>ABI</acronym> Compatibility - - The &linux; compatibility version has - been updated to 2.6.18. The - compat.linux.osrelease &man.sysctl.8; is - evaluated when building the emulators/linux-c6 and related - ports. - - - - <filename>/etc/rc.d</filename> Scripts - - The &man.rc.8; subsystem has been - updated to allow configuring services in ${LOCALBASE}/etc/rc.conf.d/. - If LOCALBASE is unset, it defaults to - /usr/local. - - The mrouted - &man.rc.8; script has been removed from the base system. An - equivalent script is available from the net/mrouted port. - - - - <filename>/etc/periodic</filename> Scripts - - The daily &man.periodic.8; script - 110.clean-tmps has been updated to - avoid crossing filesystem mount boundaries when cleaning - files in /tmp. - - + Contributed Software - - Ports/Packages Collection Infrastructure + + Installation and Configuration Tools -   - + The &man.bsdinstall.8; partition editor + and &man.sade.8; utility have been updated to include native + ZFS support. - - Release Engineering and Integration + The &os; installation utility, + &man.bsdinstall.8;, has been updated to set the + canmount &man.zfs.8; property to + off for the /var dataset, preventing the + contents of directories within /var from conflicting when + using multiple boot environments, such as that provided by + sysutils/beadm. - The - Release Engineering build tools have been updated to include - support for producing virtual machine disk images for various - cloud hosting providers. + The &man.bsdconfig.8; utility has been + updated to skip the initial &man.tzsetup.8; + UTC versus wall-clock time prompt when run + in a virtual machine, determined when the + kern.vm_guest &man.sysctl.8; is set to + 1. + + The &man.bsdinstall.8; utility has been + updated to use the new &man.dpv.3; library to display progress + when extracting the &os; distributions. - - Documentation + + <filename class="directory">/etc/rc.d</filename> + Scripts + + The &man.rc.8; subsystem has been + updated to allow configuring services in ${LOCALBASE}/etc/rc.conf.d/. + If LOCALBASE is unset, it defaults to + /usr/local. + + The mrouted + &man.rc.8; script has been removed from the base system. An + equivalent script is available from the net/mrouted port. + -   + + <filename class="directory">/etc/periodic</filename> + Scripts + + The daily &man.periodic.8; script + 110.clean-tmps has been updated to avoid + crossing filesystem mount boundaries when cleaning files in + /tmp. - - - Upgrading from Previous Releases of &os; + + Runtime Libraries and API - Binary upgrades between RELEASE versions - (and snapshots of the various security branches) are supported *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***