summaryrefslogtreecommitdiff
path: root/binutils/stabs.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2019-01-07 13:18:53 +0000
committerNick Clifton <nickc@redhat.com>2019-01-07 13:18:53 +0000
commit053af8c9034f92d6e36a1180655ba22a65c56437 (patch)
treedb84dd302b9ca61a6c15a37f3c1b53167a9eac9a /binutils/stabs.c
parentef8df4caec24669a11680aa1a696d470fb6177ba (diff)
downloadbinutils-gdb-053af8c9034f92d6e36a1180655ba22a65c56437.tar.gz
Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match.
PR 24044 * stabs.c (parse_stab_argtypes): Remove call to cplus_mangle_opcode. * testsuite/binutils-all/cxxfilt.exp: Replace tests of v2 encoding with v3 encoding. Add escape for known failures.
Diffstat (limited to 'binutils/stabs.c')
-rw-r--r--binutils/stabs.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/binutils/stabs.c b/binutils/stabs.c
index 18788b9b6dd..e84aa6f1ac5 100644
--- a/binutils/stabs.c
+++ b/binutils/stabs.c
@@ -3037,27 +3037,15 @@ parse_stab_argtypes (void *dhandle, struct stab_handle *info,
&& fieldname[1] == 'p'
&& (fieldname[2] == '$' || fieldname[2] == '.'))
{
- const char *opname;
-
- opname = cplus_mangle_opname (fieldname + 3, 0);
- if (opname == NULL)
- {
- fprintf (stderr, _("No mangling for \"%s\"\n"), fieldname);
- return DEBUG_TYPE_NULL;
- }
- mangled_name_len += strlen (opname);
- physname = (char *) xmalloc (mangled_name_len);
- strncpy (physname, fieldname, 3);
- strcpy (physname + 3, opname);
+ /* Opname selection is no longer supported by libiberty's demangler. */
+ return DEBUG_TYPE_NULL;
}
+
+ physname = (char *) xmalloc (mangled_name_len);
+ if (is_constructor)
+ physname[0] = '\0';
else
- {
- physname = (char *) xmalloc (mangled_name_len);
- if (is_constructor)
- physname[0] = '\0';
- else
- strcpy (physname, fieldname);
- }
+ strcpy (physname, fieldname);
physname_len = strlen (physname);
strcat (physname, buf);