ChorusOS 5.0 Application Developer's Guide

Library Types

There are three types of library in the ChorusOS operating system:

Both dynamic and shared library names are suffixed by .so. However, each library type is built in a different way and is readily distinguished. The imake tool does not check that library components are PIC format binary object files. The resulting library may contain .o objects, which are not in PIC format, that can still be dynamically loaded but can no longer be shared.

It is possible to check whether or not a library is shared. To check whether or not the libfoo.so library is shared, for example, run the following GNU command:


% objdump -x libfoo.so | grep TEXTREL

Note -

objdump is located in the chorus_family/tools tree. The specific path includes a family-dependent prefix.


If the library is shared, no output is generated by this command. Only dynamic library object files contain references to TEXTREL.