has_ranges_offset.
(struct partial_die_info): Remove language, has_stmt_list, dirname,
and line_offset.
(dwarf2_build_include_psymtabs): Take a die_info. Handle a missing
line table.
(dwarf2_get_pc_bounds): Take PST argument. Pass it
to dwarf2_ranges_read. Update all callers.
(init_cu_die_reader): Move earlier.
(dwarf2_find_base_address): New function.
(process_psymtab_comp_unit): Rewrite to use a full DIE for the
compilation unit. Use dwarf2_get_pc_bounds and
dwarf2_find_base_address.
(load_comp_unit): Rewrite to use a full DIE for the compilation unit.
(process_full_comp_unit): Use dwarf2_find_base_address.
(read_partial_die): Remove support for attributes only used
in the compilation unit DIE.
* symfile.c (allocate_psymtab): Make FILENAME const.
(start_psymtab_common): Likewise.
* symfile.h (allocate_psymtab, start_psymtab_common): Update
prototypes.
* symfile.c (allocate_symtab): Don't use obsavestring on a
constant string.
* stabsread.c (define_symbol): Don't use obsavestring on a
constant string.
* mdebugread.c (parse_type): Don't use obsavestring on a constant
string.
(new_symtab): Likewise.
* elfread.c (elf_symtab_read): Don't use obsavestring on a
constant string.
* symfile.c (build_id_to_debug_filename): New variable debugdir. Move
variables size, s and data into a new inner block. Change xmalloc for
alloca, use direct BUILDID->SIZE there now. Loop for the
DEBUG_FILE_DIRECTORY components.
(find_separate_debug_file): New variable debugdir and debugdir_end.
Loop for the DEBUG_FILE_DIRECTORY components.
(_initialize_symfile): For "debug-file-directory" use plural and note
one can use multiple components now.
gdb/doc/
* gdb.texinfo (set debug-file-directory, show debug-file-directory)
(Auto-loading): Use plural and note one can use multiple components now.
gdb/testsuite/
* gdb.base/sepdebug.exp: New test_different_dir call for multiple-dirs.
* symfile.c (find_separate_debug_file): Initialize dir, debugfile and
canon_name to NULL. Change alloca to xmalloc, newly call xfree for it.
New label cleanup_return_debugfile, jump to it from the failure paths.
* symfile.c (separate_debug_file_exists): When the CRCs mismatch
print a warning.
(find_separate_debug_file): Pass in the objfile's name.
gdb/testsuite/
* gdb.base/sepdebug.exp (CRC mismatch is reported): New test.
* gdb.base/sepdebug2.c: New file.
Remove INVALID_ENTRY_POINT.
* frame.c (inside_entry_func): New variable entry_point. Return 0 if
the entry point is not known.
* solib-irix.c (enable_break): Likewise.
* objfiles.c (init_entry_point_info): Stop using INVALID_ENTRY_POINT.
Initialize EI.ENTRY_POINT_P.
(entry_point_address): Rename to ...
(entry_point_address_query): ... a new function. Use EI.ENTRY_POINT_P.
(entry_point_address): New function.
(objfile_relocate): Use EI.ENTRY_POINT_P.
* objfiles.h (struct entry_info): Simplify entry_point comment. New
field entry_point_p.
(INVALID_ENTRY_POINT): Remove.
(entry_point_address_query): New prototype.
* solib-frv.c (enable_break): Check for NULL SYMFILE_OBJFILE and its
EI.ENTRY_POINT_P. Return 0 if ".interp" is not found.