Add a comment briefly explaining partial symbols
authorChristian Biesinger <cbiesinger@google.com>
Wed, 31 Jul 2019 22:10:50 +0000 (17:10 -0500)
committerChristian Biesinger <cbiesinger@google.com>
Mon, 5 Aug 2019 15:35:35 +0000 (10:35 -0500)
Based on an explanation by tromey on IRC.

gdb/ChangeLog:

2019-08-05  Christian Biesinger  <cbiesinger@google.com>

* objfiles.h (objfile): Add a comment describing partial symbols.

gdb/ChangeLog
gdb/objfiles.h

index 0d324a5..da1d636 100644 (file)
@@ -1,3 +1,7 @@
+2019-08-05  Christian Biesinger  <cbiesinger@google.com>
+
+       * objfiles.h (objfile): Add a comment describing partial symbols.
+
 2019-08-05  Tom Tromey  <tromey@adacore.com>
 
        * compile/compile.c (_initialize_compile): Use _(), not N_().
index a0c106b..239aba2 100644 (file)
@@ -382,7 +382,13 @@ private:
    2.  Additional symbol files added by the add-symbol-file command,
    3.  Shared library objfiles, added by ADD_SOLIB,  4.  symbol files
    for modules that were loaded when GDB attached to a remote system
-   (see remote-vx.c).  */
+   (see remote-vx.c).
+
+   GDB typically reads symbols twice -- first an initial scan which just
+   reads "partial symbols"; these are partial information for the
+   static/global symbols in a symbol file.  When later looking up symbols,
+   objfile->sf->qf->lookup_symbol is used to check if we only have a partial
+   symbol and if so, read and expand the full compunit.  */
 
 struct objfile
 {