/* Build symbol tables in GDB's internal format - legacy APIs
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2020 Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#if !defined (LEGACY_BUILDSYM_H)
-#define LEGACY_BUILDSYM_H 1
+#ifndef BUILDSYM_LEGACY_H
+#define BUILDSYM_LEGACY_H
#include "buildsym.h"
The compunit symtab pointer ("cust") is returned from both start_symtab
and end_symtab to simplify the debug info readers.
- There are minor variations on this, e.g., dwarf2read.c splits end_symtab
- into two calls: end_symtab_get_static_block, end_symtab_from_static_block,
- but all debug info readers follow this basic flow.
-
- Reading DWARF Type Units is another variation:
-
- scoped_free_pendings free_pending;
- cust = start_symtab (...);
- ... read debug info ...
- cust = end_expandable_symtab (...);
-
- And then reading subsequent Type Units within the containing "Comp Unit"
- will use a second flow:
-
- scoped_free_pendings free_pending;
- cust = restart_symtab (...);
- ... read debug info ...
- cust = augment_type_symtab (...);
-
dbxread.c and xcoffread.c use another variation:
scoped_free_pendings free_pending;
extern const char *pop_subfile ();
-extern struct block *end_symtab_get_static_block (CORE_ADDR end_addr,
- int expandable,
- int required);
-
-extern struct compunit_symtab *
- end_symtab_from_static_block (struct block *static_block,
- int section, int expandable);
-
extern struct compunit_symtab *end_symtab (CORE_ADDR end_addr, int section);
-extern struct compunit_symtab *end_expandable_symtab (CORE_ADDR end_addr,
- int section);
-
-extern void augment_type_symtab (void);
-
extern struct context_stack *push_context (int desc, CORE_ADDR valu);
extern struct context_stack pop_context ();
-extern record_line_ftype record_line;
+extern void record_line (struct subfile *subfile, int line, CORE_ADDR pc);
extern struct compunit_symtab *start_symtab (struct objfile *objfile,
const char *name,
extern struct pending **get_global_symbols ();
-#endif /* defined (LEGACY_BUILDSYM_H) */
+/* Return the current buildsym_compunit. */
+
+extern struct buildsym_compunit *get_buildsym_compunit ();
+
+#endif /* BUILDSYM_LEGACY_H */