Re: [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
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.html2015-04-09 12:18:47.67230 +0300 +++ changes.html2015-04-09 14:00:43.880487000 +0300 @@ -158,20 +158,29 @@ licode-fsanitize=alignment/code: enable alignment checking, detect various misaligned objects;/li licode-fsanitize=object-size/code: enable object size checking, detect various out-of-bounds accesses./li licode-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 +liPointer 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=languagesNew Languages and Language specific improvements/h2 ul li id=offloada 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 liInfrastructure (suitable for any vendor)./li liTestsuite 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 + liNew 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 liThe 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 liThe 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,
Re: [wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
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
[wwwdocs] Update changes.html with Intel MPX and Pointer Bounds Checker
Hi, This adds Pointer Bounds Checker and MPX support to GCC 5 changes. Is it OK? Thanks, Ilya -- --- changes.html2015-04-09 12:18:47.67230 +0300 +++ changes.html2015-04-09 12:58:23.677983000 +0300 @@ -158,20 +158,29 @@ licode-fsanitize=alignment/code: enable alignment checking, detect various misaligned objects;/li licode-fsanitize=object-size/code: enable object size checking, detect various out-of-bounds accesses./li licode-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 +liPointer 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=languagesNew Languages and Language specific improvements/h2 ul li id=offloada 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 liInfrastructure (suitable for any vendor)./li liTestsuite 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 + liNew 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 liThe 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 liThe 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,