This is the mail archive of the
mailing list for the GCC project.
ld -shared -Bsymbolic and C++ shared library
- From: "H. J. Lu" <hjl at lucon dot org>
- To: gcc at gcc dot gnu dot org
- Cc: binutils at sources dot redhat dot com
- Date: Sun, 16 Jul 2006 10:26:04 -0700
- Subject: ld -shared -Bsymbolic and C++ shared library
ld -shared -Bsymbolic will reduce number of dynamic relocations in
a shared library. Unfortunately, it won't work correctly with C++
exception and maybe other language features.
However, I think it is possible to make -shared -Bsymbolic to work
for C++ by providing a way to specify a list of symbols which must
be dynamic. We then can do
# g++ -Wl,-Bsymbolic -shared -xxx "list of dynamic symbols" -o libfoo.so ...
and libfoo.so written in C++ will work correctly with much fewer dynamic