45 lines
2.1 KiB
Plaintext
45 lines
2.1 KiB
Plaintext
Non-Shared Libraries and Dynamic Shared Objects
|
|
-------------------------------------------------
|
|
|
|
In IRIX 3 and IRIX 4, Silicon Graphics used static shared libraries
|
|
in order to maintain binary compatibility across hardware platforms
|
|
and operating system releases.
|
|
|
|
With IRIX 5, Silicon Graphics has moved to using Dynamic Shared Objects
|
|
in order to continue to guarantee binary compatibility across platforms
|
|
and operating system releases AND to meet the requirements of the SVR4 ABI.
|
|
In particular, using DSOs is required for compliance with the SVR4 ABI.
|
|
|
|
Silicon Graphics believes that DSO is far superior to non_shared
|
|
compilation mode in application portability, binary compatibility,
|
|
memory usage, and system performance. Indeed, almost all executables
|
|
in IRIX 5.2 are constructed using Dynamic Shared Objects.
|
|
|
|
DSOs allow SGI to ship platform-specific implementations of
|
|
performance-critical functionality (eq. libm.so, libgl.so). Programs
|
|
intended to run on multiple platforms will likely benefit from this. In
|
|
addition, application programs will benefit from performance and reliability
|
|
improvements in DSOs without the applications having to be rebuilt and
|
|
re-released.
|
|
|
|
For some applications, there is a small performance penalty associated
|
|
with DSOs; and we are continuously working to improve the performance of
|
|
these programs. In addition, the SPEC benchmark suite requires the shipment
|
|
of non_shared versions of a few libraries. Currently, these are the only
|
|
non_shared libraries shipped by Silicon Graphics.
|
|
|
|
Silicon Graphics will continue to respond to the changing needs of
|
|
its customers. While SGI currently ships only those non_shared libraries
|
|
required by SPEC, a compelling customer need for a library that does not
|
|
currently exist in /usr/lib/nonshared will be considered; please contact SGI.
|
|
|
|
But please be aware that internal interfaces sometimes change due to
|
|
continuous improvement in the OS and/or compilers. This change is
|
|
transparent to DSO users; but applications built with non_shared libraries
|
|
might require relinking in future releases.
|
|
|
|
See Also:
|
|
dso(5)
|
|
|
|
|