DISTRIBUTION BY DEVELOPERS. Subject to the terms and conditions of the Software License Agreement and the obligations, restrictions, and exceptions set forth below, You may reproduce and distribute the portions of Software identified below ("each a Redistributable"), provided that you comply with the following (note that You may be entitled to reproduce and distribute other portions of the Software not defined here as a Redistributable under certain other licenses as described in the THIRDPARTYLICENSEREADME, if applicable): (a) You distribute the Redistributable complete and unmodified and only bundled as part of Your applets and applications ("Programs"), (b) Your Programs add significant and primary functionality to the Software, (c) You distribute Redistributable for the sole purpose of running your Programs, (d) You do not distribute additional software intended to replace any component(s) of the Redistributable, (e) You do not remove or alter any proprietary legends or notices contained in or on the Redistributable. (f) You only distribute the Redistributable subject to a license agreement that protects Sun's interests consistent with the terms contained in the Software License Agreement, and (g) You agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Redistributable. The following files are each a Redistributable: General Solaris[tm] on SPARC(R) and x86 Platforms: * bb_link.o * CCrti.o * CCrtn.o * crt1.o * crti.o * crtn.o * gcrt1.o * mcrt1.o * prof_func.o * prof_lib.o * prof_tsd.o * values-xa.o * values-xc.o * values-xi.o * values-xpg4.o * values-xs.o * values-xt.o * libcomplex.so.5 * libgc.so.1 * libm9x.so.0 * libsunmath.so.1 * libscalapack.so.1 * libblacs_openmpi.so.1 * pagesize.o * xprof_fini.o For Solaris SPARC Platform Only: * misalign.o * wordalignI8.o * libcx.so.1 * libsunperf.so.8 For Solaris x86 Platform Only: * libsunperf.so.3 * libsunperf.so.4 C++ for Solaris SPARC and Solaris x86 Platform Editions: The following are Redistributables in packages or as individual files: * SPROtll7: tools.h++ on Solaris SPARC and x86 Platforms o librwtool.so.2 * SPROtll7x: tools.h++ for Solaris SPARC V9 Platforms Only o librwtool.so.2 * SPROtll7x: tools.h++ on 64-bit Solaris x86 (amd64) Platforms Only. o librwtool.so.2 * SPROstl4o: STLport on Solaris SPARC and x86 Platforms o libstlport.so.1 * SPROstl4x: STLport for Solaris SPARC V9 Platforms Only o libstlport.so.1 * SPROstl4x: STLport for 64-bit Solaris x86 (amd64) Platforms Only o libstlport.so.1 Fortran 95 For Solaris SPARC and Solaris x86 Platform Editions: To reliably satisfy dependencies between your applications, Sun Studio libraries, and intra-library dependencies, it is recommended that you distribute the following libraries in packages rather than as individual files. The following packages and individual files are Redistributables: * SPROl77s: Solaris 32-bit SPARC Fortran 77 legacy libraries, comprising: o libF77.so.2 o libF77.so.3 o libF77.so.4 o libF77_mt.so.2 o libF77_mt.so.3 o libF77_mt.so.4 o libFposix.so.1 o libFposix_c.so.1 o libM77.so.2 o libV77.so.2 o libV77.so.3 * SPROl77sx: Solaris 64-bit SPARC Fortran 77 legacy libraries, comprising: o libF77.so.2 o libF77.so.3 o libF77.so.4 o libF77_mt.so.2 o libF77_mt.so.3 o libF77_mt.so.4 o libFposix.so.1 o libFposix_c.so.1 o libM77.so.2 o libV77.so.2 o libV77.so.3 * SPROl90s: Solaris 32-bit SPARC Fortran libraries, comprising: o libf77compat.so.1 o libfai.so.3 o libfai.so.2 o libfai.so.1 o libfai2.so.3 o libfai2.so.2 o libfai2.so.1 o libfmaxlai.so.1 o libfmaxvai.so.1 o libfminlai.so.1 o libfminvai.so.1 o libfprodai.so.1 o libfsumai.so.1 o libfsu.so.1 o libfui.so.2 o libfui.so.1 o libfai_isa.so.1 o libfai2_isa.so.1 o libfmaxlai_isa.so.1 o libfmaxvai_isa.so.1 o libfminlai_isa.so.1 o libfminvai_isa.so.1 o libfprodai_isa.so.1 o libfsumai_isa.so.1 * SPROl90s: Solaris 32-bit x86 Fortran libraries, comprising: o libfsu.so.1 o libfui.so.2 o libfui.so.1 * SPROl90sx: Solaris 64-bit SPARC Fortran libraries, comprising: o libf77compat.so.1 o libfai.so.3 o libfai.so.2 o libfai.so.1 o libfai2.so.3 o libfai2.so.2 o libfai2.so.1 o libfmaxlai.so.1 o libfmaxvai.so.1 o libfminlai.so.1 o libfminvai.so.1 o libfprodai.so.1 o libfsumai.so.1 o libfsu.so.1 o libfui.so.2 o libfui.so.1 o libfai_isa.so.1 o libfai2_isa.so.1 o libfmaxlai_isa.so.1 o libfmaxvai_isa.so.1 o libfminlai_isa.so.1 o libfminvai_isa.so.1 o libfprodai_isa.so.1 o libfsumai_isa.so.1 * SPROl90sx: Solaris 64-bit x86 (x64) Fortran libraries, comprising: o libfai.so.1 o libfsu.so.1 o libfui.so.2 * sun-l90s-12.0-1.i386.rpm: Linux 32-bit x86 (x64) Fortran libraries, comprising: o libfai.so.1 o libfsu.so.1 o libfui.so.1 * sun-l90sx-12.0-1.x86_64.rpm: Linux 64-bit x86 (x64) Fortran libraries, comprising: o libfai.so.1 o libfsu.so.1 o libfui.so.1 Link-time Libraries: The following libraries are redistributable with object files and libraries that clients link into programs: * libCCexcept.so.1 You would need to ship libCCexcept.so.1 with your product only when all of these conditions are met: o You supply libraries and .o files to be linked into a program by your clients, and o Your code contains binaries created by Sun C++, and o Some binaries in the final program might have been created by a version of Sun Studio earlier than Sun Studio 8, and o Your clients are not expected to have Sun Studio, and o You provide a script or makefile that does the linking using ld directly instead of using CC. Beginning with Sun Studio 8, the Sun C++ compiler (C++ 5.5) changed the way it emitted data about C++ exceptions in object files, putting data in previously unused fields. If C++ object files created by earlier compilers were linked directly with object files created by C++ 5.5 or later, C++ exceptions might not work correctly. The Solaris linker (ld) has an interface whereby "helper libraries" can be provided to perform extra processing on object files. The CC driver tells the linker to use libCCexcept.so.1 to process object files, converting old-style exception data to the new format in memory at program link time. (The original object files are not modified.) Library libCCexcept.so.1 is used only by the Solaris linker when creating an executable program or shared library. The library is never linked to user programs. The library is included in Sun Studio, so ISVs do not normally need to supply the library to their clients. * libldstab_ws.so.1 You would need to ship libldstab_ws with your product only when all of these conditions are met: o You supply libraries and .o files to be linked into a program by your clients, and o Your libraries or .o files contain stab information, and o You did NOT compile with option "-xs", which causes stabs to be copied to the executable, and o Your clients are not expected to have Sun Studio N_OBJ index stabs require processing by the linker to insert the directory and file name of the object file being linked. The Solaris linker (ld) has an interface whereby "helper libraries" can be provided to perform extra processing on object files. The CC driver tells the linker to use libldstab_ws.so to process object files, filling in the N_OBJ stabs at program link time. (The original object files are not modified.) Library libldstab_ws.so.1 is used only by the Solaris linker when creating an executable program or shared library. The library is never linked to user programs. The library is included in Sun Studio, so ISVs do not normally need to supply the library to their clients.