public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
@ 2015-04-09 10:25 Ilya Enkovich
  2015-04-09 10:32 ` Gerald Pfeifer
  0 siblings, 1 reply; 3+ messages in thread
From: Ilya Enkovich @ 2015-04-09 10:25 UTC (permalink / raw)
  To: gcc-patches; +Cc: gerald

Hi,

This adds Pointer Bounds Checker and MPX support to GCC 5 changes. Is it OK?

Thanks,
Ilya
--

--- changes.html	2015-04-09 12:18:47.672300000 +0300
+++ changes.html	2015-04-09 12:58:23.677983000 +0300
@@ -158,20 +158,29 @@
       <li><code>-fsanitize=alignment</code>: enable alignment checking, detect
 	  various misaligned objects;</li>
       <li><code>-fsanitize=object-size</code>: enable object size checking, detect
 	  various out-of-bounds accesses.</li>
       <li><code>-fsanitize=vptr</code>: 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.</li>
     </ul>
     </li>
+    <li>Pointer Bounds Checker, a bounds violation detector, has been added and
+      can be enabled via <code>-fcheck-pointer-bounds</code>.  Memory accesses are
+      instrumented with runtime checks of used pointers against their bounds to
+      detect pointer bounds violations (overflows).  The Pointer Bounds Checker
+      is available on IA-32/x86-64 GNU/Linux target with a new ISA extension
+      Intel MPX support.  See Pointer Bounds Checker
+      <a href="https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler">
+	Wiki page</a> for more details.
+    </li>
   </ul>
 
 <h2 id="languages">New Languages and Language specific improvements</h2>
   <ul>
     <li id="offload"><a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">
       OpenMP 4.0 specification</a> offloading features are now supported by the C, C++,
 	and Fortran compilers. Generic changes:
 	<ul>
 	  <li>Infrastructure (suitable for any vendor).</li>
 	  <li>Testsuite which covers offloading from the
@@ -676,20 +685,28 @@
 	AVX-512{BW,DQ,VL,IFMA,VBMI}</a> 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:
 	<code>-mavx512vl</code>, AVX-512 Byte and Word instructions:
 	<code>-mavx512bw</code>, AVX-512 Dword and Qword instructions:
 	<code>-mavx512dq</code>, AVX-512 FMA-52 instructions:
 	<code>-mavx512ifma</code> and for AVX-512 Vector Bit Manipulation
 	Instructions: <code>-mavx512vbmi</code>.</li>
+	<li>New ISA extensions support
+	<a href="https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf">
+	Intel MPX</a> was added to GCC.  New extension is available via <code>-mmpx</code>
+	compiler switch.  Intel MPX is a set of processor features which,
+	with compiler, runtime library and OS support, brings increased robustness to
+	software by runtime checking pointer references against their bounds.
+	In GCC Intel MPX is supported by Pointer Bounds Checker and libmpx runtime
+	libraries.</li>
 	<li>The new <code>-mrecord-mcount</code> option for <code>-pg</code>
 	generates a Linux kernel style table of pointers to mcount or
 	__fentry__ calls at the beginning of functions. The new
 	<code>-mnop-mcount</code> 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.</li>
 	<li>The new <code>-malign-data</code> option controls how
 	GCC aligns variables.  <code>-malign-data=compat</code> uses
 	increased alignment compatible with GCC 4.8 and earlier,

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
  2015-04-09 10:25 [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker Ilya Enkovich
@ 2015-04-09 10:32 ` Gerald Pfeifer
  2015-04-09 11:04   ` Ilya Enkovich
  0 siblings, 1 reply; 3+ messages in thread
From: Gerald Pfeifer @ 2015-04-09 10:32 UTC (permalink / raw)
  To: Ilya Enkovich; +Cc: gcc-patches

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 <code>-mmpx</code> compiler switch" in the second
hunk and also use "run-time" there?

Go ahead and commit with those changes.

Thanks,G
Gerald

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
  2015-04-09 10:32 ` Gerald Pfeifer
@ 2015-04-09 11:04   ` Ilya Enkovich
  0 siblings, 0 replies; 3+ messages in thread
From: Ilya Enkovich @ 2015-04-09 11:04 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc-patches

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 <code>-mmpx</code> 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 @@
       <li><code>-fsanitize=alignment</code>: enable alignment checking, detect
 	  various misaligned objects;</li>
       <li><code>-fsanitize=object-size</code>: enable object size checking, detect
 	  various out-of-bounds accesses.</li>
       <li><code>-fsanitize=vptr</code>: 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.</li>
     </ul>
     </li>
+    <li>Pointer Bounds Checker, a bounds violation detector, has been added and
+      can be enabled via <code>-fcheck-pointer-bounds</code>.  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
+      <a href="https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler">
+	Wiki page</a> for more details.
+    </li>
   </ul>
 
 <h2 id="languages">New Languages and Language specific improvements</h2>
   <ul>
     <li id="offload"><a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">
       OpenMP 4.0 specification</a> offloading features are now supported by the C, C++,
 	and Fortran compilers. Generic changes:
 	<ul>
 	  <li>Infrastructure (suitable for any vendor).</li>
 	  <li>Testsuite which covers offloading from the
@@ -676,20 +685,28 @@
 	AVX-512{BW,DQ,VL,IFMA,VBMI}</a> 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:
 	<code>-mavx512vl</code>, AVX-512 Byte and Word instructions:
 	<code>-mavx512bw</code>, AVX-512 Dword and Qword instructions:
 	<code>-mavx512dq</code>, AVX-512 FMA-52 instructions:
 	<code>-mavx512ifma</code> and for AVX-512 Vector Bit Manipulation
 	Instructions: <code>-mavx512vbmi</code>.</li>
+	<li>New ISA extensions support
+	<a href="https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf">
+	Intel MPX</a> was added to GCC.  This new extension is available via the
+	<code>-mmpx</code> 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.</li>
 	<li>The new <code>-mrecord-mcount</code> option for <code>-pg</code>
 	generates a Linux kernel style table of pointers to mcount or
 	__fentry__ calls at the beginning of functions. The new
 	<code>-mnop-mcount</code> 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.</li>
 	<li>The new <code>-malign-data</code> option controls how
 	GCC aligns variables.  <code>-malign-data=compat</code> uses
 	increased alignment compatible with GCC 4.8 and earlier,

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-04-09 11:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-09 10:25 [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker Ilya Enkovich
2015-04-09 10:32 ` Gerald Pfeifer
2015-04-09 11:04   ` Ilya Enkovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).