gcc/libstdc++-v3/scripts
Rainer Orth 6b49883e62 libstdc++: Fix gnu.ver CXXABI_1.3.16 for Solaris [PR118701]
This patch

commit c6977f7658
Author: Andreas Schwab <schwab@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.

2025-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Jonathan Wakely  <jwakely@redhat.com>

	libstdc++-v3:
	PR libstdc++/118701
	* config/abi/pre/gnu.ver (CXXABI_1.3.16): Move __riscv guard
	around version.
	* scripts/extract_symvers.pl: Allow for weak versions.
	* testsuite/util/testsuite_abi.cc (check_version): Wrap
	CXXABI_1.3.16 in __riscv.
2025-02-05 09:59:56 +01:00
..
check_compile
check_performance libstdc++: Write timestamp to libstdc++-performance.sum file 2024-11-13 20:21:29 +00:00
check_simd
create_testsuite_files
extract_symvers.in Update copyright years. 2025-01-02 11:59:57 +01:00
extract_symvers.pl libstdc++: Fix gnu.ver CXXABI_1.3.16 for Solaris [PR118701] 2025-02-05 09:59:56 +01:00
gen_bind_includers.pl
gen_includers.pl
gen_includers2.pl
gen_text_encoding_data.py libstdc++: Fix Python scripts to output the correct filename 2024-03-19 15:20:07 +00:00
make_exports.pl
make_graph.py
run_doxygen Update copyright years. 2025-01-02 11:59:57 +01:00
testsuite_flags.in
update_release_branch.sh libstdc++: Add script to update docs for a new release branch 2024-06-26 21:15:14 +01:00