aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/symtab.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bb41c60..785cd4c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-27 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
+
+ * symtab.c (gdb_mangle_name): Handle fully mangled v3 abi physnames.
+
2002-02-27 Rodney Brown <rbrown64@csc.com.au>
* utils.c (gdb_realpath): Add pathconf fallback for sco3.2v5.
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 3aa334e..e464b0b 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -291,7 +291,10 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
char buf[20];
int len = (newname == NULL ? 0 : strlen (newname));
- if (is_operator_name (field_name))
+ /* Nothing to do if physname already contains a fully mangled v3 abi name
+ or an operator name. */
+ if ((physname[0] == '_' && physname[1] == 'Z')
+ || is_operator_name (field_name))
return xstrdup (physname);
is_full_physname_constructor = is_constructor_name (physname);