diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/symfile-debug.c | 5 | ||||
-rw-r--r-- | gdb/symtab.c | 9 | ||||
-rw-r--r-- | gdb/symtab.h | 3 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index 3912889..3a223d0 100644 --- a/gdb/symfile-debug.c +++ b/gdb/symfile-debug.c @@ -154,10 +154,7 @@ objfile::forget_cached_source_info () objfile_debug_name (this)); for (compunit_symtab *cu : compunits ()) - { - for (symtab *s : cu->filetabs ()) - s->release_fullname (); - } + cu->forget_cached_source_info (); for (const auto &iter : qf) iter->forget_cached_source_info (this); diff --git a/gdb/symtab.c b/gdb/symtab.c index 4888ebc..39a6915 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -485,6 +485,15 @@ compunit_symtab::language () const return symtab->language (); } +/* See symtab.h. */ + +void +compunit_symtab::forget_cached_source_info () +{ + for (symtab *s : filetabs ()) + s->release_fullname (); +} + /* The relocated address of the minimal symbol, using the section offsets from OBJFILE. */ diff --git a/gdb/symtab.h b/gdb/symtab.h index 19bb697..d0b599f 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1965,6 +1965,9 @@ struct compunit_symtab /* Return the language of this compunit_symtab. */ enum language language () const; + /* Clear any cached source file names. */ + void forget_cached_source_info (); + /* Unordered chain of all compunit symtabs of this objfile. */ struct compunit_symtab *next; |