[Libreoffice] linking against a .a and *not* exporting those symbols ?
Michael Meeks
michael.meeks at novell.com
Tue Jul 26 10:19:47 PDT 2011
Hi Caolan,
On Tue, 2011-07-26 at 15:46 +0100, Caolán McNamara wrote:
> a) On a vanilla/universal build we build static .as under Linux from
> openssl-0.9.8, i.e. libssl.a and libcrypto.o.
Oooh - nice catch :-)
> b) liboox links against these .a's. The resulting .so by default exports
> the symbols of the .a which it used e.g.
>
> nm -D workdir/unxlngx6/LinkTarget/Library/libooxlo.so|grep
> EVP_MD_CTX_create
> 0000000000666d00 T EVP_MD_CTX_create
That is really dumb :-) this is presumably the joy of using visibility
markup instead of map files.
> Is there a *easy* way to force the symbols of the .a to hidden
> visibility at oox link-time ?. Munging the openssl build itself would be
> painful, making a version-script would be painful, using objcopy or
> something sounds insane.
So some degree of munging the openssl build is necessary I think. If we
can be sure that we are going to link statically to that openssl - then
I believe if we compile it with:
-fvisibility=hidden
Then all of its symbols should disappear when we link them into liboox
- if we're lucky, perhaps some of the code will go too.
Or perhaps I mis-understood ;-) is it easy to inject those flags ?
ATB,
Michael.
--
michael.meeks at novell.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice
mailing list