Adriaan van Os wrote:
Waldek Hebisch wrote:
Adriaan van Os wrote:
Waldek Hebisch wrote:
However, if you use multiple shared libraries and static libgpc, then each shared library will bring its own copy of libgpc. In particular there will be two copies of libgpc data. Depending on dynamic linker you will get dynamic link errors or subtle errors at runtime.
Unless global symbols from libgpc are marked as non-global in the shared library, e.g.
That is the case of subtle errors: consider things like signal handlers or file buffers. You do not want handler from library A to clean up only library A when library B caused an error. You do not want to have two file buffers for a single file. While I have _not_ checked that any of the above may happen in gpc runtime, just by Murphy something will get broken.