Comment 0 for bug 1901080

Revision history for this message
Steve Langasek (vorlon) wrote :

gcc-10 was SRUed to focal, and in the process introduced regressions caused by ABI breakage of libgphobos1.

This has manifested as failing autopkgtests of the dub package, following unrelated SRUs:

[...]
autopkgtest [13:52:44]: test run: - - - - - - - - - - stderr - - - - - - - - - -
dub: symbol lookup error: dub: undefined symbol: _D3std3net4curl4HTTP9__mixin376onSendMFNdDFAvZmZv
[...]

The symbol present in the new version of libgphobos1 is now _D3std3net4curl4HTTP9__mixin396onSendMFNdDFAvZmZv instead of _D3std3net4curl4HTTP9__mixin376onSendMFNdDFAvZmZv.

Libraries are not allowed to change ABI without changing binary package name. And for libraries built from such a core package as gcc, ABIs should be enforced at package build time to avoid such regressions.

This regression was overlooked at the time of gcc SRU because the autopkgtests for gcc uploads are special-cased to not test all reverse-dependencies; so it's incumbent on gcc to properly enforce ABI stability.