1. Introducing The Oracle Solaris Studio 12.2 Release
Changes to Performance Analyzer Tool
Enhancements to the Callers-Callees Tab
New Comparing Experiments Feature
8. Known Problems, Limitations, and Workarounds in This Release
The Thread Analyzer now supports data race detection for code that is instrumented at either the source level or binary level. Source-level instrumentation is unchanged in this release.
To instrument a program's binary code, you need to use the discover tool, which is included in Oracle Solaris Studio and is documented in the discover(1) man page. See also Oracle Solaris Studio 12.2 Discover and Uncover User’s Guide
For instrumenting a program's binary code to detect data races, the discover tool requires the input binary to be compiled under the following conditions:
Operating system version must be at least Oracle Solaris 10 5/08 or OpenSolaris version snv_70
Compiler must be from a release no earlier than Sun Solaris Studio 12 Update 1
One of the compiler optimization flags (-xO1, -xO2, -xO3, -xO4, -xO5) must be used
You might also be able to use the discover tool on an earlier Solaris version running on a SPARC-based system if the binary was compiled with the compiler option -xbinopt=prepare. See the cc(1), CC(1), or f95(1) man pages for information about this compiler option.
If the binary is named a.out, you can create an instrumented binary named a.out_i with the following command:
% discover -i datarace -o a.out_i a.out
See the Oracle Solaris Studio 12.2: Thread Analyzer User’s Guide or tha(1) man page for more information.