aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorKeith Seitz <keiths@cygnus>1998-12-17 17:06:25 +0000
committerKeith Seitz <keiths@cygnus>1998-12-17 17:06:25 +0000
commitc888792a27cb132edd772f68e8935c50299d82f6 (patch)
treef72ddbe0673c5ad03700a2155d8020d7cc6445eb /gdb
parentd744bbbbb87f430a5d9e8c66515997e22dd2fa9d (diff)
downloadgdb-c888792a27cb132edd772f68e8935c50299d82f6.zip
gdb-c888792a27cb132edd772f68e8935c50299d82f6.tar.gz
gdb-c888792a27cb132edd772f68e8935c50299d82f6.tar.bz2
* gdbtk-cmds.c (gdb_search): Don't mention C++ RTTI and
global constructor/destructor symbols.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog-gdbtk5
-rw-r--r--gdb/gdbtk-cmds.c24
2 files changed, 21 insertions, 8 deletions
diff --git a/gdb/ChangeLog-gdbtk b/gdb/ChangeLog-gdbtk
index 9a8ae4d..e4e0201 100644
--- a/gdb/ChangeLog-gdbtk
+++ b/gdb/ChangeLog-gdbtk
@@ -1,3 +1,8 @@
+Thu Dec 17 09:00:56 1998 Keith Seitz <keiths@cygnus.com>
+
+ * gdbtk-cmds.c (gdb_search): Don't mention C++ RTTI and
+ global constructor/destructor symbols.
+
Tue Dec 15 10:09:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
* gdbtk-cmds.c (gdb_disassemble): Fix typo.
diff --git a/gdb/gdbtk-cmds.c b/gdb/gdbtk-cmds.c
index fad05c5..6053ec8 100644
--- a/gdb/gdbtk-cmds.c
+++ b/gdb/gdbtk-cmds.c
@@ -1357,6 +1357,7 @@ gdb_search (clientData, interp, objc, objv)
result_ptr->flags |= GDBTK_IN_TCL_RESULT;
return TCL_ERROR;
}
+ }
switch ((enum switches_opts) index)
{
@@ -1412,16 +1413,23 @@ gdb_search (clientData, interp, objc, objv)
if (static_only && p->block != STATIC_BLOCK)
continue;
- elem = Tcl_NewListObj (0, NULL);
+ /* Strip off some C++ special symbols, like RTTI and global
+ constructors/destructors. */
+ if ((p->symbol != NULL && !STREQN (SYMBOL_NAME (p->symbol), "__tf", 4)
+ && !STREQN (SYMBOL_NAME (p->symbol), "_GLOBAL_", 8))
+ || p->msymbol != NULL)
+ {
+ elem = Tcl_NewListObj (0, NULL);
- if (p->msymbol == NULL)
- Tcl_ListObjAppendElement (interp, elem,
- Tcl_NewStringObj (SYMBOL_SOURCE_NAME (p->symbol), -1));
- else
- Tcl_ListObjAppendElement (interp, elem,
- Tcl_NewStringObj (SYMBOL_SOURCE_NAME (p->msymbol), -1));
+ if (p->msymbol == NULL)
+ Tcl_ListObjAppendElement (interp, elem,
+ Tcl_NewStringObj (SYMBOL_SOURCE_NAME (p->symbol), -1));
+ else
+ Tcl_ListObjAppendElement (interp, elem,
+ Tcl_NewStringObj (SYMBOL_SOURCE_NAME (p->msymbol), -1));
- Tcl_ListObjAppendElement (interp, result_ptr->obj_ptr, elem);
+ Tcl_ListObjAppendElement (interp, result_ptr->obj_ptr, elem);
+ }
}
if (ss != NULL)