summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <pes@regent.e-technik.tu-muenchen.de>2002-02-27 18:22:24 +0000
committerPeter Schauer <pes@regent.e-technik.tu-muenchen.de>2002-02-27 18:22:24 +0000
commitd0d806bd0d43bf010a3fa308b0e768c194df6a17 (patch)
treebb055c01af496db0dd92f7fae16062d480e531c8
parent9d0bab244982026fc08f9431b014bf35afffc6cc (diff)
downloadgdb-d0d806bd0d43bf010a3fa308b0e768c194df6a17.tar.gz
* symtab.c (gdb_mangle_name): Handle fully mangled v3 abi physnames.
-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 bb41c600410..785cd4ce518 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 3aa334e6f89..e464b0bc374 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);