Monday 12 June 2023

Re: Symbols files for C++ libraries for Ubuntu main

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


--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel