Updated 2007/05/31

Sun[tm] Studio 12: Runtime Libraries Readme

 

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 ("Redistributable"), provided that:

(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 Redistributables:

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
  • 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
  • libsunperf.so

General Linux x86/x64 Platforms

  • CCrti.o
  • CCrtn.o
  • crt1.o
  • crti.o
  • crtn.o
  • gcrt1.o
  • mcrt1.o
  • prof_func.o
  • prof_lib.o
  • values-xa.o
  • values-xc.o
  • values-xi.o
  • values-xpg4.o
  • values-xs.o
  • libsunperf.so

For Solaris SPARC Platform Only

  • misalign.o
  • stack_grow.o
  • stack_grow_KPIC.o
  • pagesize.o
  • wordalignI8.o
  • libcx.so.1
  • libsunperf.so.6
  • libsunperf.so.7
  • libsunperf_isa.so.7

Solaris x86 Platform Only

  • libsunperf.so.3

For Solaris x86 and Linux x86 Platforms

  • libsunperf.so.2

C++ for Solaris SPARC and Solaris x86 Platforms

The following are Redistributables in packages or as individual files:

  • SPROtll7: tools.h++ on Solaris SPARC and x86 Platforms
    • librwtool.so.2
  • SPROtll7x: tools.h++ for Solaris SPARC V9 Platforms Only
    • librwtool.so.2
  • SPROtll7x: tools.h++ on 64-bit Solaris x86 (amd64) Platforms Only.
    • librwtool.so.2
  • SPROstl4o: STLport on Solaris SPARC and x86 Platforms
    • libstlport.so.1
          
  • SPROstl4x: STLport for Solaris SPARC V9 Platforms Only
    • libstlport.so.1
  • SPROstl4x: STLport for 64-bit Solaris x86 (amd64) Platforms Only
    • libstlport.so.1

C++ for Linux x86/x64 Platforms

The following are Redistributables in RPM's or as individual files:
libCrun.so.1
libCstd.so.1
libdemangle.so.1
libiostream.so.1
libmtsk.so.1
libmtsk_db.so.1
librwtool.so.2
libstlport.so.1

Fortran 95 For Solaris SPARC, Solaris x86, and Linux x86 Platforms

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 SPARC v8 version of Fortran 77 legacy libraries, comprising:
    • libF77.so.2
    • libF77.so.3
    • libF77.so.4
    • libF77_mt.so.2
    • libF77_mt.so.3
    • libF77_mt.so.4
    • libFposix.so.1
    • libFposix_c.so.1
    • libM77.so.2
    • libV77.so.2
    • libV77.so.3

  • SPROl77sx: Solaris SPARC v9 version of Fortran 77 legacy libraries, comprising:
    • libF77.so.2
    • libF77.so.3
    • libF77.so.4
    • libF77_mt.so.2
    • libF77_mt.so.3
    • libF77_mt.so.4
    • libFposix.so.1
    • libFposix_c.so.1
    • libM77.so.2
    • libV77.so.2
    • libV77.so.3

  • SPROl90s: Solaris SPARC v8 version of Fortran libraries, comprising:
    • libf77compat.so.1
    • libfai.so.3
    • libfai.so.2
    • libfai.so.1
    • libfai2.so.3
    • libfai2.so.2
    • libfai2.so.1
    • libfmaxlai.so.1
    • libfmaxvai.so.1
    • libfminlai.so.1
    • libfminvai.so.1
    • libfprodai.so.1
    • libfsumai.so.1
    • libfsu.so.1
    • libfui.so.2
    • libfui.so.1
    • libfai_isa.so.1
    • libfai2_isa.so.1
    • libfmaxlai_isa.so.1
    • libfmaxvai_isa.so.1
    • libfminlai_isa.so.1
    • libfminvai_isa.so.1
    • libfprodai_isa.so.1
    • libfsumai_isa.so.1

  • SPROl90s: Solaris x86 version of Fortran libraries, comprising:
    • libfsu.so.1
    • libfui.so.2

  • SPROl90sx: Solaris SPARC v9 version of Fortran libraries, comprising:
    • libf77compat.so.1
    • libfai.so.3
    • libfai.so.2
    • libfai.so.1
    • libfai2.so.3
    • libfai2.so.2
    • libfai2.so.1
    • libfmaxlai.so.1
    • libfmaxvai.so.1
    • libfminlai.so.1
    • libfminvai.so.1
    • libfprodai.so.1
    • libfsumai.so.1
    • libfsu.so.1
    • libfui.so.2
    • libfui.so.1
    • libfai_isa.so.1
    • libfai2_isa.so.1
    • libfmaxlai_isa.so.1
    • libfmaxvai_isa.so.1
    • libfminlai_isa.so.1
    • libfminvai_isa.so.1
    • libfprodai_isa.so.1
    • libfsumai_isa.so.1

  • SPROl90sx: 64-bit Solaris x64 version of Fortran libraries, comprising:
    • libfai.so.1
    • libfsu.so.2
    • libfui.so.2
  • SPROl90sx: 64-bit Linux x64 version of Fortran libraries, comprising:
    • libfai.so.1
    • libfsu.so.1
    • 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:
    • You supply libraries and .o files to be linked into a program by your clients, and
    • Your code contains binaries created by Sun C++, and
    • Some binaries in the final program might have been created by a version of Sun Studio earlier than Sun Studio 8, and
    • Your clients are not expected to have Sun Studio, and
    • 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:
    • You supply libraries and .o files to be linked into a program by your clients, and
    • Your libraries or .o files contain stab information, and
    • You did NOT compile with option "-xs", which causes stabs to be copied to the executable, and
    • 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.

Copyright © 2007 Sun Microsystems, Inc., All rights reserved. Use is subject to license terms.