* [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).