[PATCH] Add a comment briefly explaining partial symbols

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Add a comment briefly explaining partial symbols

Sourceware - gdb-patches mailing list
Based on an explanation by tromey on IRC.

gdb/ChangeLog:

2019-07-31  Christian Biesinger  <[hidden email]>

        * objfiles.h (objfile): Add a comment describing partial symbols.
---
 gdb/objfiles.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index a0c106be3d..c7e0be1955 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -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
 {
--
2.22.0.709.g102302147b-goog

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Add a comment briefly explaining partial symbols

Simon Marchi-4
On 2019-07-31 6:12 p.m., Christian Biesinger via gdb-patches wrote:

> Based on an explanation by tromey on IRC.
>
> gdb/ChangeLog:
>
> 2019-07-31  Christian Biesinger  <[hidden email]>
>
> * objfiles.h (objfile): Add a comment describing partial symbols.
> ---
>  gdb/objfiles.h | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/objfiles.h b/gdb/objfiles.h
> index a0c106be3d..c7e0be1955 100644
> --- a/gdb/objfiles.h
> +++ b/gdb/objfiles.h
> @@ -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
>  {
>

Hi Christian,

Thanks, that LGTM.  But please wait a few days before pushing to see if others have things to add.

Simon
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Add a comment briefly explaining partial symbols

Sourceware - gdb-patches mailing list
On Wed, Jul 31, 2019 at 6:59 PM Simon Marchi <[hidden email]> wrote:

>
> On 2019-07-31 6:12 p.m., Christian Biesinger via gdb-patches wrote:
> > Based on an explanation by tromey on IRC.
> >
> > gdb/ChangeLog:
> >
> > 2019-07-31  Christian Biesinger  <[hidden email]>
> >
> >       * objfiles.h (objfile): Add a comment describing partial symbols.
> > ---
> >  gdb/objfiles.h | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/gdb/objfiles.h b/gdb/objfiles.h
> > index a0c106be3d..c7e0be1955 100644
> > --- a/gdb/objfiles.h
> > +++ b/gdb/objfiles.h
> > @@ -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
> >  {
> >
>
> Hi Christian,
>
> Thanks, that LGTM.  But please wait a few days before pushing to see if others have things to add.

Thanks, pushed now.

Christian