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

            Bug ID: 103407
           Summary: [12 regression] abi_check FAILs on Solaris
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-solaris2.11

Between 20211111 (dc002e31fb2d001703278263ea3d1cef366018ae) and 20211113
(a246d7230b8f8b059b21a073e8a91c213dee9cf4),
abi_check began to FAIL on Solaris, both sparc and x86, 32 and 64-bit:

+FAIL: libstdc++-abi/abi_check

3 incompatible symbols
0
_ZSt10from_charsPKcS0_RfSt12chars_format
std::from_chars(char const*, char const*, float&, std::chars_format)
version status: incompatible
GLIBCXX_3.4.29
type: function
status: added


1
_ZSt10from_charsPKcS0_ReSt12chars_format
std::from_chars(char const*, char const*, long double&, std::chars_format)
version status: incompatible
GLIBCXX_3.4.29
type: function
status: added


2
_ZSt10from_charsPKcS0_RdSt12chars_format
std::from_chars(char const*, char const*, double&, std::chars_format)
version status: incompatible
GLIBCXX_3.4.29
type: function
status: added

This coincides with the introduction of the GLIBCXX_3.4.30 version.

After some searching, I found/remembered that the GCC 11.1 baselines on
Solaris explicitly had omitted those symbols:

https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566167.html

to avoid having separate baselines for Solaris 11.3 (which lacks XPG7 support
and thus uselocale) and 11.4 (which is XPG7 conformant).

I'm uncertain how to handle this:

* bite the bullet and introduce separate baselines for both versions (still
  supported by GCC 12)

* filter out those symbols when generating baseline_symbols.txt

* something else

Reply via email to