Re: stripping private symbols

Havoc Pennington <hp redhat com> writes:

> Attached patch passes the -export-symbols-regex option to libtool to
> strip out all underscore-prefixed symbols. This seems to have the side
> effect of also stripping all local symbols, I don't know if that makes
> any difference. Due to the local-symbol stripping nm reports less than
> 2000 symbols after this patch is applied, vs. 6000 or so before.
> I noticed that lots of the libraries we build (such as the x11 and
> linux-fb GDK backend libs) don't get -export-dynamic, -rpath, or
> -version-info, while the main GDK and GTK libs do get those
> options. Bug or feature?

Well, these options are irrelevant for convenience libraries.
Especially -rpath: the absence of -rpath is the makes a convenience
library a convenience library!

Noticing that gdk-pixbuf doesn't have -rpath, it appears that
automake now automatically adds -rpath for installed libraries,
so we probably can remove it for GDK and GTK+.

I don't fully understand -export-dynamic; I think it may only be
needed when linking application programs.
> Anyhow, I only added the -export-symbols-regex option to makefiles
> that already had the other libtool options.

Probably good enough for now. The input-method modules could be even
more aggressively -export-symbols-regex'ed, but there aren't a
lot of private exported symbols for those modules, and they
aren't link-time hazards.
> This libtool option conceivably breaks stuff, but if so we should find
> out sooner rather than later, so I think it should go ahead and go in.

Fine with me.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]