diff options
author | Nick Clifton <nickc@redhat.com> | 2019-01-08 16:53:02 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-01-08 16:53:26 +0000 |
commit | 236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a (patch) | |
tree | 3a93862257e3b40a933ee072499d4bc077a66606 /binutils/cxxfilt.c | |
parent | c8fcc36012301d7402fd990ee5d8f78dffa824f0 (diff) | |
download | gdb-236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a.zip gdb-236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a.tar.gz gdb-236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a.tar.bz2 |
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.
Diffstat (limited to 'binutils/cxxfilt.c')
-rw-r--r-- | binutils/cxxfilt.c | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/binutils/cxxfilt.c b/binutils/cxxfilt.c index 0df99fc..7b8210e 100644 --- a/binutils/cxxfilt.c +++ b/binutils/cxxfilt.c @@ -135,42 +135,6 @@ standard_symbol_characters (void) return "_$."; } -/* Return the string of non-alnum characters that may occur - as a valid symbol name component in an HP object file. - - Note that, since HP's compiler generates object code straight from - C++ source, without going through an assembler, its mangled - identifiers can use all sorts of characters that no assembler would - tolerate, so the alphabet this function creates is a little odd. - Here are some sample mangled identifiers offered by HP: - - typeid*__XT24AddressIndExpClassMember_ - [Vftptr]key:__dt__32OrdinaryCompareIndExpClassMemberFv - __ct__Q2_9Elf64_Dyn18{unnamed.union.#1}Fv - - This still seems really weird to me, since nowhere else in this - file is there anything to recognize curly brackets, parens, etc. - I've talked with Srikanth <srikanth@cup.hp.com>, and he assures me - this is right, but I still strongly suspect that there's a - misunderstanding here. - - If we decide it's better for c++filt to use HP's assembler syntax - to scrape identifiers out of its input, here's the definition of - the symbol name syntax from the HP assembler manual: - - Symbols are composed of uppercase and lowercase letters, decimal - digits, dollar symbol, period (.), ampersand (&), pound sign(#) and - underscore (_). A symbol can begin with a letter, digit underscore or - dollar sign. If a symbol begins with a digit, it must contain a - non-digit character. - - So have fun. */ -static const char * -hp_symbol_characters (void) -{ - return "_$.<>#,*&[]:(){}"; -} - extern int main (int, char **); int @@ -245,20 +209,13 @@ main (int argc, char **argv) switch (current_demangling_style) { - case gnu_demangling: - case lucid_demangling: - case arm_demangling: + case auto_demangling: + case gnu_v3_demangling: case java_demangling: - case edg_demangling: case gnat_demangling: - case gnu_v3_demangling: case dlang_demangling: case rust_demangling: - case auto_demangling: - valid_symbols = standard_symbol_characters (); - break; - case hp_demangling: - valid_symbols = hp_symbol_characters (); + valid_symbols = standard_symbol_characters (); break; default: /* Folks should explicitly indicate the appropriate alphabet for |