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)