Move last_source_start_addr to buildsym_compunit

This moves the global last_source_start_addr into buildsym_compunit,
adding some accessors as well.

gdb/ChangeLog
2018-07-16  Tom Tromey  <tom@tromey.com>

	* xcoffread.c (aix_process_linenos, complete_symtab): Update.
	* dbxread.c (read_ofile_symtab): Update.
	* coffread.c (coff_start_symtab, coff_end_symtab): Update.
	* buildsym.h (last_source_start_addr): Remove.
	(set_last_source_start_addr, get_last_source_start_addr):
	Declare.
	* buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
	parameter.
	(struct buildsym_compunit) <m_last_source_start_addr>: New
	member.
	(prepare_for_building): Remove start_addr parameter.
	(start_symtab, restart_symtab, end_symtab_get_static_block)
	(end_symtab_with_blockvector): Update.
	(set_last_source_start_addr, get_last_source_start_addr): New
	functions.
This commit is contained in:
Tom Tromey
2018-05-20 11:01:37 -06:00
parent 530fedbcbf
commit 2c99ee5c4f
6 changed files with 73 additions and 27 deletions

View File

@@ -49,12 +49,6 @@ struct dynamic_prop;
#define HASHSIZE 127 /* Size of things hashed via
hashname(). */
/* Core address of start of text of current source file. This too
comes from the N_SO symbol. For Dwarf it typically comes from the
DW_AT_low_pc attribute of a DW_TAG_compile_unit DIE. */
EXTERN CORE_ADDR last_source_start_addr;
/* The list of sub-source-files within the current individual
compilation. Each file gets its own symtab with its own linetable
and associated info, but they all share one blockvector. */
@@ -310,6 +304,16 @@ extern struct compunit_symtab *buildsym_compunit_symtab (void);
extern struct macro_table *get_macro_table (void);
/* Set the last source start address. Can only be used between
start_symtab and end_symtab* calls. */
extern void set_last_source_start_addr (CORE_ADDR addr);
/* Get the last source start address. Can only be used between
start_symtab and end_symtab* calls. */
extern CORE_ADDR get_last_source_start_addr ();
#undef EXTERN
#endif /* defined (BUILDSYM_H) */