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

Reply via email to