gdb: re-write add_psymbol_to_list doc, move it to header file
Commit Message
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/psympriv.h | 35 ++++++++++++++++++++++++++---------
gdb/psymtab.c | 6 +-----
2 files changed, 27 insertions(+), 14 deletions(-)
Comments
>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:
Simon> The comment above the add_psymbol_to_list function seems outdated and
Simon> misleading, here's an attempt at improving it.
Simon> gdb/ChangeLog:
Simon> * psymtab.c (add_psymbol_to_list): Move comment to psympriv.h.
Simon> * psympriv.h (add_psymbol_to_list): Move comment here and update
Simon> it.
Looks good to me. Thanks for doing this.
Tom
On 2019-09-30 10:03 a.m., Tom Tromey wrote:
>>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:
>
> Simon> The comment above the add_psymbol_to_list function seems outdated and
> Simon> misleading, here's an attempt at improving it.
>
> Simon> gdb/ChangeLog:
>
> Simon> * psymtab.c (add_psymbol_to_list): Move comment to psympriv.h.
> Simon> * psympriv.h (add_psymbol_to_list): Move comment here and update
> Simon> it.
>
> Looks good to me. Thanks for doing this.
>
> Tom
Thanks, pushed!
Simon
@@ -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
@@ -1605,11 +1605,7 @@ append_psymbol_to_list (std::vector<partial_symbol *> *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,