PPT Slide
Variations in Program Loading - Shared Libraries
- The shared library routine must be written such that it does not use any private global data of any one particular process, else you couldn’t have more than one process sharing the code.
- This is called reentrant, pure or PIC (Position Independent Code) code. From the “CC” man page:
-pic Produces position-independent code. Use this option to compile source files when building a shared library. Each reference to a global datum is generated as a dereference of a pointer in the global offset table. Each function call is generated in pc-relative addressing mode through a procedure linkage table.