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

Re: dpkg symbol handling: looking for advice on #MISSING symbols



Stefano Zacchiroli wrote:

> Hi all,
>   I'm new to the dpkg symbol handling stuff and I'm trying to add
> symbols support to the gtkmathview source package. According to
>
http://qa.debian.org/cgi-bin/mole/seedsymbols/.raw/seedsymbols/libgtkmathview0c2a_i386
> there are already symbols which have been missing between stable version
> (0.7.7) and the latest two versions in unstable (0.8.0-{1,2}), list
> attached.  However, upstream author claims that no symbols have been
> removed in between.
> 
> AFAIU in the list there are a lot of template generated code symbols and
> other stuff coming from the C++ standard library. Can it be that
> something changed in the C++ name handling code or something such? Or

AFAIK, no.

> something which should have been marked as private has been leaked
> erroneously in the public ABI?

I just don't know what you mean by "mark as private".

I'm not an expert on linking and only had a brief look at it but, AFAICT
there are three kinds of functions missing:

1) inline functions that somehow weren't generated, but are still in the
source -- -fkeep-inline-functions should take care of that (or,
maybe, -fvisibility-inlines-hidden)

2) templated code like std::find -- this should be probably with hidden
visibility, unless it is an explicit instantiation. Since the code already
marks some classes as "exported", you could probably do -fvisibility=hidden
without too much effort

3) functions that changed their signatures -- there upstream _did_ change
the API, so if you want applications built with the old version run with
the new one, you have to reintroduce the overloads with the old signatures

Regards
    Jiri Palecek




Reply to: