2018-07-20 Tom Tromey <tom@tromey.com>
+ * buildsym-legacy.h (augment_type_symtab): Don't declare.
+ (end_expandable_symtab): Likewise.
+ (end_symtab_get_static_block): Likewise.
+ (end_symtab_from_static_block): Likewise.
+ * buildsym-legacy.c (augment_type_symtab): Remove.
+ (end_expandable_symtab): Remove.
+ (end_symtab_get_static_block): Remove.
+ (end_symtab_from_static_block): Remove.
+
+2018-07-20 Tom Tromey <tom@tromey.com>
+
* dwarf2read.c: Include buildsym.h.
(struct dwarf2_cu) <builder>: New method.
(fixup_go_packaging): Update.
return buildsym_compunit->pop_subfile ();
}
-struct block *
-end_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required)
-{
- gdb_assert (buildsym_compunit != nullptr);
- return buildsym_compunit->end_symtab_get_static_block (end_addr, expandable,
- required);
-}
-
/* Delete the buildsym compunit. */
static void
}
struct compunit_symtab *
-end_symtab_from_static_block (struct block *static_block,
- int section, int expandable)
-{
- gdb_assert (buildsym_compunit != nullptr);
- struct compunit_symtab *result
- = buildsym_compunit->end_symtab_from_static_block (static_block,
- section, expandable);
- free_buildsym_compunit ();
- return result;
-}
-
-struct compunit_symtab *
end_symtab (CORE_ADDR end_addr, int section)
{
gdb_assert (buildsym_compunit != nullptr);
return result;
}
-struct compunit_symtab *
-end_expandable_symtab (CORE_ADDR end_addr, int section)
-{
- gdb_assert (buildsym_compunit != nullptr);
- struct compunit_symtab *result
- = buildsym_compunit->end_expandable_symtab (end_addr, section);
- free_buildsym_compunit ();
- return result;
-}
-
-void
-augment_type_symtab ()
-{
- gdb_assert (buildsym_compunit != nullptr);
- buildsym_compunit->augment_type_symtab ();
- free_buildsym_compunit ();
-}
-
struct context_stack *
push_context (int desc, CORE_ADDR valu)
{
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 ();