From patchwork Thu Apr 9 11:04:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Enkovich X-Patchwork-Id: 459658 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id CF3DA140134 for ; Thu, 9 Apr 2015 21:05:00 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass reason="1024-bit key; unprotected key" header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=t2hirDis; dkim-adsp=none (unprotected policy); dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; q=dns; s=default; b=GJO7KgyxVtroLcd/l TguctnSeEF6Hi30MmmsVj6MPolHjPk9CXtD6QZ8Q6IvmT6nn2C9ITUS8MZMWCsMX z2EUv/Zu7gV8vPdJEpxqOgpo2I43atiGLlb71agvQUH2xm8HsSynozB8a07IQzV/ ssvSlrGzrgsKUMmL4S6HUVAM3U= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=default; bh=7oMrWaDae73UstO3az5BcII nSzo=; b=t2hirDis3aL2KCPCAsEkQNrR7duN1qVmILODFpKsIsvB6PxAEmYsCeV mhwIfUrTf9VKDzLD88sQXsMIPFuhDr8KpQOzwF006Gb5bNtaX/t/UmfUQSLkkTM8 ukGm84Ab+IoAHCVkDOl7B1uOo3eqosLQdVr9uJOTpnYyfMud9skc= Received: (qmail 20700 invoked by alias); 9 Apr 2015 11:04:51 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 20682 invoked by uid 89); 9 Apr 2015 11:04:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f47.google.com Received: from mail-wg0-f47.google.com (HELO mail-wg0-f47.google.com) (74.125.82.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 09 Apr 2015 11:04:48 +0000 Received: by wgyo15 with SMTP id o15so105430905wgy.2 for ; Thu, 09 Apr 2015 04:04:46 -0700 (PDT) X-Received: by 10.181.11.137 with SMTP id ei9mr5106580wid.48.1428577485924; Thu, 09 Apr 2015 04:04:45 -0700 (PDT) Received: from msticlxl57.ims.intel.com (fmdmzpr01-ext.fm.intel.com. [192.55.54.36]) by mx.google.com with ESMTPSA id ks2sm19599194wjb.29.2015.04.09.04.04.43 (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 09 Apr 2015 04:04:45 -0700 (PDT) Date: Thu, 9 Apr 2015 14:04:34 +0300 From: Ilya Enkovich To: Gerald Pfeifer Cc: gcc-patches@gcc.gnu.org Subject: Re: [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker Message-ID: <20150409110318.GI11622@msticlxl57.ims.intel.com> References: <20150409102457.GH11622@msticlxl57.ims.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes On 09 Apr 12:32, Gerald Pfeifer wrote: > On Thu, 9 Apr 2015, Ilya Enkovich wrote: > > This adds Pointer Bounds Checker and MPX support to GCC 5 changes. > > Is it OK? > > Nice, thank you! > > Can you just replace "runtime checks" by "run-time checks" and > "IA-32/x86-64 GNU/Linux target" by "x86/x86-64 GNU/Linux targets" > (x86, as we had agreed upon recently, and targets, Plural) and > add "the" to "See Pointer Bounds Checker"? > > Similarly, can you please add "This" and "the" to "New extension > is available via -mmpx compiler switch" in the second > hunk and also use "run-time" there? > > Go ahead and commit with those changes. > > Thanks,G > Gerald Thank you for comments! Here is an updated version to be committed. Ilya --- changes.html 2015-04-09 12:18:47.672300000 +0300 +++ changes.html 2015-04-09 14:00:43.880487000 +0300 @@ -158,20 +158,29 @@
  • -fsanitize=alignment: enable alignment checking, detect various misaligned objects;
  • -fsanitize=object-size: enable object size checking, detect various out-of-bounds accesses.
  • -fsanitize=vptr: enable checking of C++ member function calls, member accesses and some conversions between pointers to base and derived classes, detect if the referenced object does not have the correct dynamic type.
  • +
  • Pointer Bounds Checker, a bounds violation detector, has been added and + can be enabled via -fcheck-pointer-bounds. Memory accesses are + instrumented with run-time checks of used pointers against their bounds to + detect pointer bounds violations (overflows). The Pointer Bounds Checker + is available on x86/x86-64 GNU/Linux targets with a new ISA extension + Intel MPX support. See the Pointer Bounds Checker + + Wiki page for more details. +
  • New Languages and Language specific improvements

    • OpenMP 4.0 specification offloading features are now supported by the C, C++, and Fortran compilers. Generic changes:
      • Infrastructure (suitable for any vendor).
      • Testsuite which covers offloading from the @@ -676,20 +685,28 @@ AVX-512{BW,DQ,VL,IFMA,VBMI} of Intel's CPU codenamed Skylake Server was added to GCC. That includes inline assembly support, new intrinsics, and basic autovectorization. These new AVX-512 extensions are available via the following GCC switches: AVX-512 Vector Length EVEX feature: -mavx512vl, AVX-512 Byte and Word instructions: -mavx512bw, AVX-512 Dword and Qword instructions: -mavx512dq, AVX-512 FMA-52 instructions: -mavx512ifma and for AVX-512 Vector Bit Manipulation Instructions: -mavx512vbmi.
      • +
      • New ISA extensions support + + Intel MPX was added to GCC. This new extension is available via the + -mmpx compiler switch. Intel MPX is a set of processor features which, + with compiler, run-time library and OS support, brings increased robustness to + software by run-time checking pointer references against their bounds. + In GCC Intel MPX is supported by Pointer Bounds Checker and libmpx run-time + libraries.
      • The new -mrecord-mcount option for -pg generates a Linux kernel style table of pointers to mcount or __fentry__ calls at the beginning of functions. The new -mnop-mcount option in addition also generates nops in place of the __fentry__ or mcount call, so that a call per function can be later patched in. This can be used for low overhead tracing or hot code patching.
      • The new -malign-data option controls how GCC aligns variables. -malign-data=compat uses increased alignment compatible with GCC 4.8 and earlier,