Memory corruption occurs when using
memcpy and IBM® Rational® Purify® on some Solaris® machines. Some characters or data are replaced with ASCII character 255, which in most fonts looks like a lower-case y with an umlaut (two dots) over it: ÿ.
This problem occurs when the version of memcpy that comes from libc_psr.so.1 has been instrumented.
Resolving the problem
The library itself is an auxiliary library, meaning that it is optional, and provides optimised, sometimes hand-coded functional replacements for many memory functions defined in libc.so.1, including the memcpy function.
The version of memcpy from libc_psr.so.1 is not supported with Purify.
To resolve this issue, follow these steps:
- Specify the -PROCESS_DT_AUX_ENTRIES=false switch either on the Purify command
line or in the PURIFYOPTIONS environment variable.
- After specifying the switch, rebuild the binary under test with Purify to ensure that the libc library has been instrumented correctly without auxiliary dependencies.
The - PROCESS_DT_AUX_ENTRIES=false switch creates an instrumented application that makes no reference at all to libc_psr.so.1.
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.