aboutsummaryrefslogtreecommitdiff
path: root/binutils/cxxfilt.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2019-01-08 16:53:02 +0000
committerNick Clifton <nickc@redhat.com>2019-01-08 16:53:26 +0000
commit236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a (patch)
tree3a93862257e3b40a933ee072499d4bc077a66606 /binutils/cxxfilt.c
parentc8fcc36012301d7402fd990ee5d8f78dffa824f0 (diff)
downloadgdb-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.c49
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