Use of isaexec(architecture optimization) for CSW packages
 
OpenSolaris
 
 Open Source Software for Solaris
An OpenSolaris Community Site
 Current Software Packages
Open Bug Tracking
   

Architecture optimization using isaexec and $ISALIST

It is possible to provide a single package, that provides architecture-specific optimized versions of executables and libraries.

Where there is significant performance gain achievable, this behaviour is strongly encouraged for our package maintainers.

It is sometimes possible/beneficial to provide cpu-optimized libraries, even if there are no cpu-optimized binaries using it.
(eg: generic binary, but cpu-specific-optimized crypto libs)
It is sometimes possible/beneficial to provide cpu-optimized binaries, even if there are no matching cpu-optimized libraries for it to use. (except for the case of "i want to build a (64,32)bit executable but a similar "bittedness" library is not available" !)


If you are building libraries, and are providing multiple versions of a library (each compiled for specific CPU types), then place your libraries in the appropriate subdir of /opt/csw/lib. eg:

/opt/csw/lib/sparcv8/libsomething.so
/opt/csw/lib/sparcv9/libsomething.so
/opt/csw/lib/XXXX/libsomething.so
The "best" library, will be automatically picked up by programs that follow our build standards, linking with '-R/opt/csw/lib/$ISALIST'


If you are building an executable, and wish to provide multiple versions of it, each compiled for a specific CPU type, then place your program in the appropriate subdir of /opt/csw/bin. You must also 'depend' on CSWisaexec, and adjust your prototype file to make your program be a hard link to isaexec.

# In "prototype" file:
l none /opt/csw/bin/yourprog=isaexec

# In "depend" file:
P	CSWisaexec

# File layout
/opt/csw/bin/sparcv8/yourprog
/opt/csw/bin/sparcv9/yourprog
/opt/csw/bin/XXXX/yourprog
/opt/csw/bin/yourprog [hardlinked to isaexec]

Possible values of "XXXX" for a specific platform, are given by the output of the "isalist" program.


  This page maintained by Phil Brown
Director of Software Operations
phil@blastwave.org

Sun™ Logo Published with Permission from Sun Microsystems, Inc.
Valid HTML 4.01!
Valid CSS