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

Reply via email to