diff options
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r-- | gdb/buildsym.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 8d7fed3..71bd8f4 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -1187,6 +1187,12 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section) struct symbol *sym; struct dict_iterator iter; + /* Inlined functions may have symbols not in the global or static + symbol lists. */ + if (BLOCK_FUNCTION (block) != NULL) + if (SYMBOL_SYMTAB (BLOCK_FUNCTION (block)) == NULL) + SYMBOL_SYMTAB (BLOCK_FUNCTION (block)) = symtab; + for (sym = dict_iterator_first (BLOCK_DICT (block), &iter); sym != NULL; sym = dict_iterator_next (&iter)) |