Crashes with libQtUiTools.a if linked multiple times into the same process (with Bsymbolic-functions flag)

Friedrich W. H. Kossebau kossebau at kde.org
Tue May 14 09:21:57 UTC 2013


Hi Patrick,

Am Dienstag, 14. Mai 2013, 09:10:07 schrieb Patrick Spendrin:
> Am 14.05.2013 00:28, schrieb Friedrich W. H. Kossebau:
> > Hi Windows-Warriors,
> > 
> > tl;dr how to prevent symbol clashes with static libs multiple times in the
> > same process with the supported windows linkers?
> 
> The problem you seem to hit on Linux doesn't exist on windows, since
> symbols from the static libraries are not public symbols (an equivalent
> of hidden symbols is always switched on).

Okay, good, so Windows build case will get no change/special handling then.

> This means that you can link a
> static library into every binary you have, and still they cannot
> interact there. This also marks the problem: you will not be able to
> share memory between those binaries, which means that a memory region
> allocated from the static library in A.dll cannot be freed by the static
> library in B.dll. similar issues exist for other kinds of memory transfers.

Don't think that is an issue here, as any objects/memory regions allocated in 
libQtUiTools.a should be only dealt with inside the library which links 
libQtUiTools.a into itself, like libkjsembed, krossmoduleforms or libplasma, 
and not exchange them with the other.

Thanks for the answer!

Cheers
Friedrich


More information about the Kde-windows mailing list