https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119029

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The <iostream> header has:

  // For construction of filebuffers for cout, cin, cerr, clog et. al.
  // When the init_priority attribute is usable, we do this initialization
  // in the compiled library instead (src/c++98/globals_io.cc).
#if !(_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE \
      && __has_attribute(__init_priority__))
  static ios_base::Init __ioinit;
#elif defined(_GLIBCXX_SYMVER_GNU) && defined(__ELF__)
  __extension__ __asm (".globl _ZSt21ios_base_library_initv");
#endif

and then src/c++98/ios_init.cc has:

#if defined(_GLIBCXX_SYMVER_GNU) && defined(__ELF__)
#pragma GCC diagnostic ignored "-Wattribute-alias"

  void ios_base_library_init (void)
  __attribute__((alias ("_ZNSt8ios_base4InitC1Ev")));
#endif

So that's why we define that symbol.

Maybe we just want to define that for _GLIBCXX_SYMVER_SUN too?

Reply via email to