gdb: re-write add_psymbol_to_list doc, move it to header file

Message ID 20190929183955.22270-1-simon.marchi@polymtl.ca
State New, archived
Headers

Commit Message

Simon Marchi Sept. 29, 2019, 6:39 p.m. UTC
  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

Tom Tromey Sept. 30, 2019, 2:03 p.m. UTC | #1
>>>>> "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
  
Simon Marchi Sept. 30, 2019, 3:50 p.m. UTC | #2
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
  

Patch

diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 9d22f5c9acf5..3e89742d8d57 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 031dbd9c1efe..ba4af713ff54 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -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,