Public bug reported:
With gcc-7 some of the formerly listed symbols get reported missing.
At the same time others appear.
It turns out they are actually the same (no ABI break).
- (c++)"void std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >
>::_M_emplace_back_aux<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)@Base" 2.7.3
- (c++)"void std::vector<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >,
std::allocator<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >
>::_M_emplace_back_aux<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >(std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >&&)@Base" 2.7.3
+
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base
2.7.4
+
_ZNSt6vectorIS_INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_@Base
2.7.4
With c++filt one can translate those new ones and they are in fact the old ones:
$ c++filt
_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_
void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >
>::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >
const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)
But we need to adapt the symbols file to pass shlibs correctly with the
new names.
Eventually we need to check with Debian once they move to gcc-7 for
default build - did they already or plan they - I'm not sure yet?
** Affects: nut (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1711091
Title:
gcc-7 changes appearance of symbols
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nut/+bug/1711091/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs