On Mon, Aug 07, 2017 at 03:47:15PM +0100, jcowg...@debian.org wrote: > In GCC 7, the name mangling for C++ conversion operators which return a > type using the abi_tag attribute (most commonly std::string) has > changed. When your library is compiled with GCC 7, it will now emit two > symbols for the conversion operator using the new and old naming. > Executables compiled with GCC 7 will always use the new symbol, while > old executables compiled using <= GCC 6 will use the old symbol. For new > executables to build without undefined references, your library will > need rebuilding with GCC 7.
On the upside, going through the list of severity pushes [0] I can spot only aptitude from our reverse build-dependencies – and while it is indeed using that API, it will stop doing so in the next upload (#853316) so the practical effect is rather low (assuming we can convince mafm to upload before we do I guess). On a more theoretical note isn't there some way to emit a function with the old mangle calling the new mangle (or duplicating it)? I can't really believe that all of libstdc++6 doesn't contain a single abitagged conversion operator, so I would presume they managed to pull it of somehow (or we would be looking at v7 everywhere now). Best regards David Kalnischkies [0] https://lists.debian.org/<handler.s.c.150187694331698.transcr...@bugs.debian.org>
signature.asc
Description: PGP signature