From d73f140ac2cd081eb1bd6a0c33d215632e9bcce7 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Mon, 20 Sep 2004 16:54:28 +0000 Subject: [PATCH] * minsyms.c (lookup_minimal_symbol): Doc fix. --- gdb/ChangeLog | 4 ++++ gdb/minsyms.c | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index be1c7858857..4d20c3afa5f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2004-09-19 Jim Blandy + + * minsyms.c (lookup_minimal_symbol): Doc fix. + 2004-09-20 Andrew Cagney * config/nm-lynx.h (DEPRECATED_CHILD_RESUME): Deprecate diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 3aeda7d0815..635d0cc4a17 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -145,7 +145,15 @@ add_minsym_to_demangled_hash_table (struct minimal_symbol *sym, Note: One instance where there may be duplicate minimal symbols with the same name is when the symbol tables for a shared library and the symbol tables for an executable contain global symbols with the same - names (the dynamic linker deals with the duplication). */ + names (the dynamic linker deals with the duplication). + + It's also possible to have minimal symbols with different mangled + names, but identical demangled names. For example, the GNU C++ v3 + ABI requires the generation of two (or perhaps three) copies of + constructor functions --- "in-charge", "not-in-charge", and + "allocate" copies; destructors may be duplicated as well. + Obviously, there must be distinct mangled names for each of these, + but the demangled names are all the same: S::S or S::~S. */ struct minimal_symbol * lookup_minimal_symbol (const char *name, const char *sfile, -- 2.30.2