libstdc++: correct symbol version of typeinfo for bfloat16_t on RISC-V

RISC-V only gained support for bfloat16_t after gcc 14.  Passes
libstdc++/check_abi on {x86_64,aarch64,ppc64le,riscv64,s390x}-suse-linux.

	PR libstdc++/118563
	* testsuite/util/testsuite_abi.cc (check_version): Add
	CXXABI_1.3.16.
	* config/abi/pre/gnu.ver (CXXABI_1.3.14) [__riscv]: Exclude
	typeinfo for bfloat16_t.
	(CXXABI_1.3.16) [__riscv]: Add it here.
This commit is contained in:
Andreas Schwab 2025-01-21 23:50:15 +01:00
parent 343e1083eb
commit c6977f7658
2 changed files with 20 additions and 4 deletions

View file

@ -2852,10 +2852,15 @@ CXXABI_1.3.13 {
CXXABI_1.3.14 {
# typeinfo for _Float{16,32,64,128,32x,64x,128x} and
# __bf16
_ZTIDF[0-9]*[_bx];
_ZTIPDF[0-9]*[_bx];
_ZTIPKDF[0-9]*[_bx];
# __bf16/bfloat16_t
_ZTIDF[0-9]*[_x];
_ZTIPDF[0-9]*[_x];
_ZTIPKDF[0-9]*[_x];
#ifndef __riscv
_ZTIDF16b;
_ZTIPDF16b;
_ZTIPKDF16b;
#endif
_ZTIu6__bf16;
_ZTIPu6__bf16;
_ZTIPKu6__bf16;
@ -2869,6 +2874,16 @@ CXXABI_1.3.15 {
} CXXABI_1.3.14;
CXXABI_1.3.16 {
#ifdef __riscv
_ZTIDF16b;
_ZTIPDF16b;
_ZTIPKDF16b;
#endif
} CXXABI_1.3.15;
# Symbols in the support library (libsupc++) supporting transactional memory.
CXXABI_TM_1 {

View file

@ -237,6 +237,7 @@ check_version(symbol& test, bool added)
known_versions.push_back("CXXABI_1.3.13");
known_versions.push_back("CXXABI_1.3.14");
known_versions.push_back("CXXABI_1.3.15");
known_versions.push_back("CXXABI_1.3.16");
known_versions.push_back("CXXABI_IEEE128_1.3.13");
known_versions.push_back("CXXABI_TM_1");
known_versions.push_back("CXXABI_FLOAT128");