Developer Guide and Reference

Contents

Checking Run-Time Library Functions

The pointer checker is not supported on
macOS*
systems.
The pointer checker provides checking on C run-time library functions that manipulate memory through pointers. It uses a library of functions that either replace the run-time library function, or wrap them with the appropriate pointer checking mechanisms.
For functions that allocate memory, such as the
malloc()
function or various C++ new functions, the wrapper function create bounds information for the pointers returned by the memory allocator.
For functions that copy memory, such as the
memcpy()
function, the memory address may contain the pointers along with their associated bounds information. The wrapper functions check for out-of-bounds accesses and ensure that any bounds associated with the copied memory are also copied.
The point checker C run-time function wrappers are located in the
libchkpwrap
library. To determine which C run-time routines are wrapped, you can examine the entry points in the library. For example, the following will yield a list of entry points:
Example
// Linux* % nm libchkpwrap.a | egrep 'T __chkp_'
// Windows* (x86) dumpbin /symbols libchkpwrap.lib | egrep 'SECT.*External.* [_]*__chkp_'
The returned list will include entry points that signify wrappers. For example,
__chkp_strcpy
is the wrapper for
strcpy
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804