From 703a86c2fa74e6c998ed24a8823658119f176b2d Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 30 Sep 2019 11:49:25 -0400 Subject: [PATCH] gdb: re-write add_psymbol_to_list doc, move it to header file The comment above the add_psymbol_to_list function seems outdated and misleading, here's an attempt at improving it. gdb/ChangeLog: * psymtab.c (add_psymbol_to_list): Move comment to psympriv.h. * psympriv.h (add_psymbol_to_list): Move comment here and update it. --- gdb/ChangeLog | 6 ++++++ gdb/psympriv.h | 35 ++++++++++++++++++++++++++--------- gdb/psymtab.c | 6 +----- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 077b749632..89859ef1df 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-09-30 Simon Marchi + + * psymtab.c (add_psymbol_to_list): Move comment to psympriv.h. + * psympriv.h (add_psymbol_to_list): Move comment here and update + it. + 2019-09-29 Tom de Vries * contrib/cc-with-tweaks.sh (get_tmpdir): New function. diff --git a/gdb/psympriv.h b/gdb/psympriv.h index 9d22f5c9ac..3e89742d8d 100644 --- a/gdb/psympriv.h +++ b/gdb/psympriv.h @@ -286,15 +286,32 @@ enum class psymbol_placement GLOBAL }; -/* Add any kind of symbol to a partial_symbol vector. */ - -extern void add_psymbol_to_list (const char *, int, - bool, domain_enum, - enum address_class, - short /* section */, - enum psymbol_placement, - CORE_ADDR, - enum language, struct objfile *); +/* Add a symbol to the partial symbol table of OBJFILE. + + If COPY_NAME is true, make a copy of NAME, otherwise use the passed + reference. + + THECLASS is the type of symbol. + + SECTION is the index of the section of OBJFILE in which the symbol is found. + + WHERE determines whether the symbol goes in the list of static or global + partial symbols of OBJFILE. + + COREADDR is the address of the symbol. For partial symbols that don't have + an address, zero is passed. + + LANGUAGE is the language from which the symbol originates. This will + influence, amongst other things, how the symbol name is demangled. */ + +extern void add_psymbol_to_list (const char *name, int namelength, + bool copy_name, domain_enum domain, + enum address_class theclass, + short section, + psymbol_placement where, + CORE_ADDR coreaddr, + enum language language, + struct objfile *objfile); /* Initialize storage for partial symbols. If partial symbol storage has already been initialized, this does nothing. TOTAL_SYMBOLS is diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 031dbd9c1e..31b6d59777 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -1605,11 +1605,7 @@ append_psymbol_to_list (std::vector *list, OBJSTAT (objfile, n_psyms++); } -/* Add a symbol with a long value to a psymtab. - Since one arg is a struct, we pass in a ptr and deref it (sigh). - The only value we need to store for psyms is an address. - For all other psyms pass zero for COREADDR. - Return the partial symbol that has been added. */ +/* See psympriv.h. */ void add_psymbol_to_list (const char *name, int namelength, bool copy_name, -- 2.34.1