ld -shared -Bsymbolic and C++ shared library
Geoffrey Keating
geoffk@apple.com
Thu Jul 27 22:37:00 GMT 2006
"H. J. Lu" <hjl@lucon.org> writes:
> 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
> relocations.
You may find this would be easier to use if you just had a flag which
made -Bsymbolic apply only to non-weak symbols.
More information about the Binutils
mailing list