[lsb-discuss] Virtual table analysis for distributions

Denis Silakov dsilakov at gmail.com
Fri Jun 27 19:42:17 UTC 2014


27.06.2014 18:22, Carlos O'Donell пишет:
> On Fri, Jun 27, 2014 at 9:07 AM, Mats Wichmann <mats at wichmann.us> wrote:
>> On 06/27/14 06:23, Denis Silakov wrote:
>>> Hi all,
>>>
>>> as a part of this year's GSoC activity, I have recently pushed updates
>>> from student for the componenttodb scripts that will allow us to use
>>> vtable-dumper to collect information about structure of virtual tables
>>> of C++ classes when collecting distribution information. Next week I'm
>>> planning to merge necessary changes to the database and upload scripts
>>> and finally add vtable data for one of the distributions.
>>>
>>> I hope by the end of the GSoC we will be able to browse these data using
>>> Navigator. This should make our life a little easier, since we
>>> constantly face some unclear problems with virtual tables, especially
>>> when deciding to add more C++ parts to LSB.
>>>
>> Sounds nice.  DB changes won't leak out and affect 5.0 spec, right? This
>> is for the analysis of distros?
> What is this analysis for? ABI/API stability?

Yes, primarily for ABI stability analysis. Currently LSB specifies the 
structure of virtual tables and the libchk checker (its 'classchk' part, 
to be more precise) tries to analyze vtable structure and to check 
whether the differences found (if any) are backward-compatible or not 
(taking into account class inheritance information which is also stored 
in the database). I guess you can find some records in LSB bugzilla 
about libchk failures during virtual table analysis:)

The major problem for LSB is that currently all information about 
virtual tables is collected manually and actually we have such data for 
very few classes. In addition, maybe it will be possible to add some 
kind of such analysis to the Linux AppChecker (in addition to analysis 
of binary symbols), though I am not sure yet if we can really succeed in 
this direction.

-- 
Regards,
Denis.



More information about the lsb-discuss mailing list