Go to main content
Oracle® Developer Studio 12.5: C++ User's Guide

Exit Print View

Updated: July 2016
 
 

1.4 Binary Compatibility Verification

On Oracle Solaris systems, program binaries compiled with the Oracle Developer Studio compilers are marked with architecture hardware flags indicating the instruction sets assumed by the compiled binary. At runtime these marker flags are checked to verify that the binary can run on the hardware it is attempting to execute on.

If a program does not contain these architecture hardware flags, or if the platform does not enable the appropriate features or instruction set extensions, running the program could result in segmentation faults or incorrect results without any explicit warning messages.

On Oracle Linux, however, there is no such verification check. Running binary objects compiled by Oracle Developer Studio compilers on older hardware platforms could result in runtime failures; on Oracle Linux it is the user's responsibility to deploy these binaries on suitable hardware platforms.

This warning extends also to programs that employ .il inline assembly language functions or __asm() assembler code that utilize SSE, SSE2, SSE2a, and SSE3 and newer instructions and extensions.