On Tue, 4 Feb 2025 at 12:48, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > > This patch > > commit c6977f765838a5ca8d321d916221a7368622bdd9 > Author: Andreas Schwab <sch...@suse.de> > Date: Tue Jan 21 23:50:15 2025 +0100 > > libstdc++: correct symbol version of typeinfo for bfloat16_t on RISC-V > > broke the libstdc++-abi/abi_check test on Solaris: the log shows > > 1 incompatible symbols > 0 > Argument "{CXXABI_1.3.15}" isn't numeric in numeric eq (==) at > /vol/gcc/src/hg/master/local/libstdc++-v3/scripts/extract_symvers.pl line 129. > version status: incompatible > type: uncategorized > status: added > > The problem has two parts: > > * The patch above introduced a new version in libstdc++.so, > CXXABI_1.3.16, which everywhere but on RISC-V contains no symbols (a > weak version). This is the first time this happened in libstdc++. > > * Solaris uses scripts/extract_symvers.pl to determine the version info. > The script currently chokes on the pvs output for weak versions: > > libstdc++.so.6.0.34 - CXXABI_1.3.16 [WEAK]: {CXXABI_1.3.15}; > > instead of > > libstdc++.so.6.0.34 - CXXABI_1.3.16: {CXXABI_1.3.15}; > > While this patch hardens the script to cope with weak versions, there's > no reason to introduce them in the first place. So the new version is > only created on __riscv. > > Tested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and > x86_64-pc-linux-gnu. > > Ok for trunk?
I think this will cause check-abi failures on risc-v because the new symbols are added to CXXABI_1.3.16 but the "latest_p" map says that new symbols (i.e. ones not present in the baseline_symbols.txt file) should be in CXXABI_1.3.15 So either this needs another change to testsuite_abi.cc (I think I gave the required change in the bugzilla PR) or somebody needs to regenerate baseline_symbols.txt for risc-v, so that there are no "new" symbols.