Symbols files for C++ libraries for Ubuntu main

Sebastien Bacher seb128 at ubuntu.com
Mon Jun 12 08:16:51 UTC 2023


Hey Steve,

Le 09/06/2023 à 21:10, Steve Langasek a écrit :
> I wouldn't say that it doesn't protect you.  It's a pain to set up initially
> and as you note, you can even have to do further fix-ups as a result of
> toolchain changes, as the set of template functions and other C++ sugar from
> outside of the library that gets exported as ELF symbols can change.  It
> DOES have a high cost, but in the end it provides the same level of
> protection against accidental ABI breakage as it does for C libraries.

The difference with C library projects and why I'm saying it doesn't 
really protect us is that for a C library the symbols are mostly stable 
and I feel like we are able to review the diff when there is a change 
and understand if there is an issue.
Where the way we currently maintain our c++ projects symbols in practice 
is that we end up listing stack of symbols as optional or just applying 
the diff proposed in build log (even if that removes a stack of existing 
symbols which could include ABI incompatibilities) because most of us 
are not able to make sense of what the tools are outputing.

> I don't speak for the MIR team, I have no objection to them relaxing the
> requirement of .symbols files for C++ libraries in main.  Just offering some
> suggestions on how we can do a better job of automating C++ ABI checks than
> we're doing today.

Thanks for the suggestions to you and Dimitry, I will try to at least 
summarize the best practices/outcome of the discussion on a wikipage for 
those we want to do c++ symbols tracking but are struggling with it.

I will also try to raise the topic more directly to the MIR team during 
the weekly meeting because even with the tips shared here I still think 
the requirement should be lifted.

Cheers,
Sébastien Bacher




More information about the ubuntu-devel mailing list