System V (SysV) has a defined model for accessing the program and imported data and code from other models. If required, the linker automatically generates the required Procedure Linkage Table (PLT) and Global Offset Table (GOT) sections.
SysV shared libraries are compiled with position independent
code using the
--apcs=/fpic compiler command-line
You must also use the linker command-line option
declare that a shared library is position independent because this
affects the construction of the PLT and GOT sections.
By default, the linker produces an error message if the command-line
--shared is given without the
If you must create a shared library that is not position independent, you
can turn the error message off by using