Remove support for old gnu v2 name mangling.

PR 24044
	* cxxfilt.c (hp_symbol_characters): Delete.
	(main): Remove depcreated demangling styles.
	* stabs.c (parse_stab_argtypes): Remove support for old gnu v2
	demangling opnames.
	* testsuite/binutils-all/cxxfilt.exp: Use the
	--no-strip-underscore option for targets that do prefix their
	symbols with underscores.
	Update tests to elimiate those that use gnu v2 encoding.
This commit is contained in:
Nick Clifton 2019-01-08 16:53:02 +00:00
parent c8fcc36012
commit 236f4ebe3a
4 changed files with 54 additions and 72 deletions

View file

@ -18,8 +18,33 @@ proc test_cxxfilt {options mangled_string demangled_string} {
global CXXFILT
global CXXFILTFLAGS
if { [istarget "arm*-*-pe"] \
|| [istarget "cris*-*-*"] \
|| [istarget "cr16-*-*"] \
|| [istarget "crx*-*-*"] \
|| [istarget "epiphany-*-*"] \
|| [istarget "ip2k-*-*"] \
|| [istarget "metag-*-*"] \
|| [istarget "mn10200-*-*"] \
|| [istarget "mn10300-*-*"] \
|| [istarget "ns32k-*-*"] \
|| [istarget "pdp11-*-*"] \
|| [istarget "rl78-*-*"] \
|| [istarget "rx-*-*"] \
|| [istarget "sh-*-*"] \
|| [istarget "tic4*-*-*"] \
|| [istarget "tic54*-*-*"] \
|| [istarget "v850-*-*"] \
|| [istarget "z8k-*-*"] \
|| [istarget "*-*-cygwin"] \
|| [istarget "*-*-mingw32"] } then {
set cxxfilt_strip_opt "--no-strip-underscore"
} else {
set cxxfilt_strip_opt ""
}
set testname "cxxfilt: demangling $mangled_string"
set got [binutils_run $CXXFILT "$options $CXXFILTFLAGS $mangled_string"]
set got [binutils_run $CXXFILT "$cxxfilt_strip_opt $options $CXXFILTFLAGS $mangled_string"]
if ![regexp $demangled_string $got] then {
fail "$testname"
@ -32,12 +57,12 @@ proc test_cxxfilt {options mangled_string demangled_string} {
# Mangled and demangled strings stolen from libiberty/testsuite/demangle-expected.
test_cxxfilt {} \
"AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue" \
"ivTSolver::AddAlignment(unsigned int, ivInteractor ., ivTGlue .)*"
"_Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E" \
"void f.void, int, false.(void (.)(int) noexcept(false))*"
test_cxxfilt {--format=lucid} \
"__ct__12strstreambufFPFl_PvPFPv_v" \
"strstreambuf..(strstreambuf|_ct)(void .(.)(long), void (.)(void .))*"
test_cxxfilt {--format=gnu-v3} \
"_Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE" \
"int& int_if_addable.Y.(A.sizeof ((.((Y.)(0))).(.((Y.)(0))))..)*"
test_cxxfilt {--no-recurse-limit} \
"Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_" \