]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
invoke.texi (Instrumentation Options): Clarify -mmpx linking requirements.
authorSandra Loosemore <sandra@codesourcery.com>
Thu, 21 Jan 2016 01:03:42 +0000 (20:03 -0500)
committerSandra Loosemore <sandra@gcc.gnu.org>
Thu, 21 Jan 2016 01:03:42 +0000 (20:03 -0500)
2016-01-20  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
requirements.

From-SVN: r232648

gcc/ChangeLog
gcc/doc/invoke.texi

index 724681d953062bac61d1c60e08018c35725a9890..82cb6d610d789ab13f972154db7b04c6ccfc2824 100644 (file)
@@ -1,3 +1,8 @@
+2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
+
+       * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
+       requirements.
+
 2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
 
        * common.opt (feliminate-dwarf2-dups): Replace references to
index c00746fdab4261fa8a1cf0d97e7be392dfb13dea..d2819753de2b9e41fe0268ff0393dd4d7b52c887 100644 (file)
@@ -9923,22 +9923,22 @@ is instrumented with checks of the pointer used for memory access against
 bounds associated with that pointer.  
 
 Currently there
-is only an implementation for Intel MPX available, thus x86 target
+is only an implementation for Intel MPX available, thus x86 GNU/Linux target
 and @option{-mmpx} are required to enable this feature.  
 MPX-based instrumentation requires
 a runtime library to enable MPX in hardware and handle bounds
 violation signals.  By default when @option{-fcheck-pointer-bounds}
 and @option{-mmpx} options are used to link a program, the GCC driver
-links against the @file{libmpx} runtime library and @file{libmpxwrappers}
-library.  It also passes '-z bndplt' to a linker in case it supports this
-option (which is checked on libmpx configuration).  Note that old versions
-of linker may ignore option.  Gold linker doesn't support '-z bndplt'
-option.  With no '-z bndplt' support in linker all calls to dynamic libraries
-lose passed bounds reducing overall protection level.  It's highly
-recommended to use linker with '-z bndplt' support.  In case such linker
-is not available it is adviced to always use @option{-static-libmpxwrappers}
-for better protection level or use @option{-static} to completely avoid
-external calls to dynamic libraries.  MPX-based instrumentation
+links against the @file{libmpx} and @file{libmpxwrappers} libraries.
+Bounds checking on calls to dynamic libraries requires a linker
+with @option{-z bndplt} support; if GCC was configured with a linker
+without support for this option (including the Gold linker and older
+versions of ld), a warning is given if you link with @option{-mmpx}
+without also specifying @option{-static}, since the overall effectiveness
+of the bounds checking protection is reduced.
+See also @option{-static-libmpxwrappers}.
+
+MPX-based instrumentation
 may be used for debugging and also may be included in production code
 to increase program security.  Depending on usage, you may
 have different requirements for the runtime library.  The current version