+2012-07-18 Tom Tromey <tromey@redhat.com>
+
+ * remote-mips.c (mips_load_srec): Use make_cleanup_bfd_close.
+ (pmon_load_fast): Likewise.
+ * m32r-rom.c (m32r_load): Use make_cleanup_bfd_close.
+ (m32r_upload_command): Likewise.
+ * dsrec.c (load_srec): Use make_cleanup_bfd_close.
+ * solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init):
+ Use make_cleanup_bfd_close.
+
+2012-07-18 Tom Tromey <tromey@redhat.com>
+
+ * symfile.c (symfile_bfd_open): Don't copy name. Call
+ gdb_bfd_stash_filename.
+ (load_command): Open the new BFD before freeing the old.
+ (bfd_open_maybe_remote): Call gdb_bfd_stash_filename.
+ * symfile-mem.c (symbol_file_add_from_memory): Don't copy name.
+ Call gdb_bfd_stash_filename.
+ * spu-linux-nat.c (spu_bfd_open): Don't copy name.
+ * solib-spu.c (spu_bfd_fopen): Don't copy name. Call
+ gdb_bfd_stash_filename.
+ * solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init):
+ Free found_pathname.
+ * rs6000-nat.c (add_vmap): Don't copy filename. Call
+ gdb_bfd_stash_filename.
+ * remote.c (remote_bfd_open): Call gdb_bfd_stash_filename.
+ * machoread.c (macho_add_oso_symfile): Call
+ gdb_bfd_stash_filename.
+ (macho_symfile_read_all_oso): Arrange to free archive_name. Call
+ gdb_bfd_stash_filename.
+ (macho_check_dsym): Don't copy filename. Call
+ gdb_bfd_stash_filename.
+ * jit.c (bfd_open_from_target_memory): Don't copy the filename.
+ * gdb_bfd.c (gdb_bfd_stash_filename): New function.
+ * gdb_bfd.h (gdb_bfd_stash_filename): Declare.
+ * gcore.c (create_gcore_bfd): Call gdb_bfd_stash_filename.
+ * exec.c (exec_close): Don't free the BFD's filename.
+ (exec_file_attach): Don't copy the filename. Call
+ gdb_bfd_stash_filename.
+ * corelow.c (core_close): Don't free the BFD's filename.
+ (core_open): Call gdb_bfd_stash_filename.
+ * corefile.c (reopen_exec_file): Remove #if 0 code.
+ * solib.c (solib_bfd_fopen): Call gdb_bfd_stash_filename. Free
+ pathname.
+ * dwarf2read.c (try_open_dwo_file): Call gdb_bfd_stash_filename.
+
+2012-07-18 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2read.c (try_open_dwo_file): Use gdb_bfd_ref and
+ gdb_bfd_unref.
+ (free_dwo_file): Use gdb_bfd_unref.
+ * cli/cli-dump.c: Include gdb_bfd.h.
+ (bfd_openw_with_cleanup): Use gdb_bfd_ref.
+ (bfd_openr_with_cleanup): Likewise.
+ * windows-nat.c (windows_make_so): Use gdb_bfd_ref,
+ gdb_bfd_unref.
+ * utils.c: Include gdb_bfd.h.
+ (do_bfd_close_cleanup): Use gdb_bfd_unref.
+ * symfile.c: Include gdb_bfd.h.
+ (separate_debug_file_exists): Use gdb_bfd_unref.
+ (bfd_open_maybe_remote): Use gdb_bfd_ref.
+ (symfile_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
+ (generic_load): Use gdb_bfd_ref.
+ (reread_symbols): Use gdb_bfd_unref.
+ * symfile-mem.c: Include gdb_bfd.h.
+ (symbol_file_add_from_memory): Use make_cleanup_bfd_close.
+ * spu-linux-nat.c (spu_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref.
+ * solib.c: Include gdb_bfd.h.
+ (solib_bfd_fopen): Use gdb_bfd_ref.
+ (solib_bfd_open): Use gdb_bfd_unref.
+ (free_so_symbols): Use gdb_bfd_unref.
+ (reload_shared_libraries_1): Use gdb_bfd_unref.
+ * solib-spu.c: Include gdb_bfd.h.
+ (spu_bfd_fopen): Use gdb_bfd_ref, gdb_bfd_unref.
+ * solib-pa64.c (pa64_solib_create_inferior_hook): Use gdb_bfd_ref,
+ gdb_bfd_unref.
+ * solib-frv.c: Include gdb_bfd.h.
+ (enable_break2): Use gdb_bfd_unref.
+ * solib-dsbt.c: Include gdb_bfd.h.
+ (enable_break2): Use gdb_bfd_unref.
+ * solib-darwin.c: Include gdb_bfd.h.
+ (darwin_solib_get_all_image_info_addr_at_init): Use gdb_bfd_ref,
+ gdb_bfd_unref.
+ (darwin_bfd_open): Use gdb_bfd_unref.
+ * rs6000-nat.c (add_vmap): Use gdb_bfd_ref, gdb_bfd_unref.
+ * remote-mips.c: Include gdb_bfd.h.
+ (mips_load_srec): Use gdb_bfd_ref.
+ (pmon_load_fast): Use gdb_bfd_ref.
+ * remote-m32r-sdi.c: Include gdb_bfd.h.
+ (m32r_load): Use gdb_bfd_ref.
+ * record.c: Include gdb_bfd.h.
+ (record_save_cleanups): Use gdb_bfd_unref.
+ (cmd_record_save): Use gdb_bfd_unref.
+ * procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_ref,
+ gdb_bfd_unref.
+ * objfiles.h (gdb_bfd_close_or_warn): Remove.
+ (gdb_bfd_ref, gdb_bfd_unref): Move to gdb_bfd.h.
+ * objfiles.c: Include gdb_bfd.h.
+ (free_objfile): Use gdb_bfd_unref.
+ (gdb_bfd_close_or_warn, gdb_bfd_ref, gdb_bfd_unref): Move to
+ gdb_bfd.c.
+ * machoread.c (macho_add_oso_symfile): Use gdb_bfd_unref.
+ (macho_symfile_read_all_oso): Use gdb_bfd_ref, gdb_bfd_unref.
+ (macho_check_dsym): Likewise.
+ * m32r-rom.c: Include gdb_bfd.h.
+ (m32r_load): Use gdb_bfd_ref.
+ (m32r_upload_command): Use gdb_bfd_ref.
+ * jit.c: Include gdb_bfd.h.
+ (jit_bfd_try_read_symtab): Use gdb_bfd_ref, gdb_bfd_unref.
+ * gdb_bfd.h: New file.
+ * gdb_bfd.c: New file.
+ * gcore.c: Include gdb_bfd.h.
+ (create_gcore_bfd): Use gdb_bfd_ref.
+ (do_bfd_delete_cleanup): Use gdb_bfd_unref.
+ (gcore_command): Use gdb_bfd_unref.
+ * exec.c: Include gdb_bfd.h.
+ (exec_close): Use gdb_bfd_unref.
+ (exec_close_1): Use gdb_bfd_unref.
+ (exec_file_attach): Use gdb_bfd_ref.
+ * elfread.c: Include gdb_bfd.h.
+ (build_id_verify): Use gdb_bfd_unref.
+ * dsrec.c: Include gdb_bfd.h.
+ (load_srec): Use gdb_bfd_ref.
+ * corelow.c: Include gdb_bfd.h.
+ (core_close): Use gdb_bfd_unref.
+ (core_open): Use gdb_bfd_ref.
+ * bfd-target.c: Include gdb_bfd.h.
+ (target_bfd_xclose): Use gdb_bfd_unref.
+ (target_bfd_reopen): Use gdb_bfd_ref.
+ * Makefile.in (SFILES): Add gdb_bfd.c.
+ (HFILES_NO_SRCDIR): Add gdb_bfd.h.
+ (COMMON_OBS): Add gdb_bfd.o.
+
+2012-07-18 Keith Seitz <keiths@redhat.com>
+
+ * breakpoint.c (find_condition_and_thread): Initialize
+ TASK and REST.
+ (create_breakpiont): find_condition_and_thread will now
+ initialize COND_STRING, THREAD, and REST (and TASK).
+ (addr_string_to_sals): Likewise.
+
+2012-07-18 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (handle_inferior_event) <TARGET_WAITKIND_NO_HISTORY>:
+ Pull the single step breakpoints out of the target.
+
+2012-07-18 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * probe.c (probe_safe_evaluate_at_pc): Rename variable `n_probes'.
+ * stap-probe.c (compile_probe_arg): Likewise.
+
+2012-07-18 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * elfread.c (elf_get_probe_argument_count): Remove `objfile' argument.
+ (elf_compile_to_ax): Likewise.
+ * infrun.c (insert_exception_resume_from_probe): Likewise.
+ (check_exception_resume): Remove `objfile' variable.
+ * probe.c (find_probe_by_pc): Remove `objfile' argument.
+ (struct probe_and_objfile, probe_and_objfile_s): Delete.
+ (collect_probes): Adjust return value to `VEC (probe_p) *'.
+ (compare_entries): Rename to...
+ (compare_probes): ...this. Adjust function to work with
+ `struct probe *'. Rename variables `ea' and `eb' to `pa' and `pb'
+ respectively.
+ (gen_ui_out_table_header_info): Adjust `probes' argument to be
+ `VEC (probe_p) *'.
+ (print_ui_out_info): Adjust argument to be `struct probe *'.
+ (info_probes_for_ops): Adjust internal computations to use
+ `VEC (probe_p) *'.
+ (probe_safe_evaluate_at_pc): Refactor to not pass `objfile' anymore.
+ * probe.h (struct probe_ops) <get_probe_argument_count, compile_to_ax,
+ gen_info_probes_table_values>: Remove `objfile' argument.
+ (struct probe) <objfile>: New field.
+ (find_probe_by_pc): Remove `objfile' argument.
+ * stap-probe.c (stap_parse_probe_arguments): Likewise.
+ (stap_get_probe_argument_count): Likewise.
+ (stap_get_arg): Likewise.
+ (stap_evaluate_probe_argument): Likewise.
+ (stap_compile_to_ax): Likewise.
+ (compile_probe_arg): Refactor not to pass `objfile' anymore.
+ (handle_stap_probe): Fill `objfile' field from `struct probe'.
+ (stap_gen_info_probes_table_header): Remove `objfile' argument.
+ * symfile.h (struct sym_probe_fns) <sym_evaluate_probe_argument,
+ sym_compile_to_ax>: Likewise.
+
+2012-07-18 Terry Guo <terry.guo@arm.com>
+
+ PR 14329
+ * defs.h (GDB_MI_MSG_WIDTH): New.
+ * ser_base (ser_base_read_error_fd): New function.
+ (do_ser_base_readchar): Poll error file descriptor as well as
+ standard output.
+ (generic_readchar): Refactor error handling.
+
+2012-07-18 Joel Brobecker <brobecker@adacore.com>
+
+ * NEWS: Create a new section for the next release branch.
+ Rename the section of the current branch, now that it has
+ been cut.
+
+2012-07-18 Joel Brobecker <brobecker@adacore.com>
+
+ GDB 7.5 branch created (branch timestamp: 2012-07-18 03:22 UTC)
+ * version.in: Bump version to 7.5.50.20120718-cvs.
+
+2012-07-17 Keith Seitz <keiths@redhat.com>
+
+ * linespec.c (linespec_parse_line_offset): Make parameter
+ const.
+
+2012-07-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR 11914
+ * f-valprint.c (info_common_command): New variable frame_id.
+ Reinitialize FI form FRAME_ID after each print_variable_and_value.
+ * printcmd.c (print_variable_and_value): Extend function comment.
+ Add comment for invalidated FRAME.
+ * stack.c (backtrace_command_1): New variable frame_id. Reinitialize
+ FI form FRAME_ID after each print_frame_local_vars.
+ (struct print_variable_and_value_data): Change frame to frame_id.
+ (do_print_variable_and_value): New variable frame, initialize it from
+ p->frame_id. Add comment for invalidated FRAME.
+ (print_frame_local_vars, print_frame_arg_vars): New function comment.
+ Update CB_DATA.FRAME to CB_DATA.FRAME_ID initialization. Add comment
+ for invalidated FRAME.
+
+2012-07-16 Marc Khouzam <marc.khouzam@ericsson.com>
+ Pedro Alves <palves@redhat.com>
+
+ * linux-nat.c (linux_nat_detach): Don't unregister from the event
+ loop.
+
+2012-07-16 Tom Tromey <tromey@redhat.com>
+
+ * jv-typeprint.c (c_type_print_varspec_suffix): Don't declare.
+
+2012-07-15 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (stmt_list_hash): New struct.
+ (type_unit_group): Embed "per_cu" member, remove pointer.
+ New union member "t", move member "tus" into it, all uses updated.
+ New member "hash", replaces member "line_offset, all uses updated.
+ (quick_file_names): Replace member "offset" with "hash", all uses
+ updated.
+ (hash_stmt_list_entry, eq_stmt_list_entry): New functions.
+ (hash_file_name_entry, eq_file_name_entry): Call them.
+ (hash_type_unit_group, eq_type_unit_group): Ditto.
+ (dw2_get_cu, dw2_get_primary_cu): Replace assert with a better one.
+ (dw2_get_file_names_reader): Fix file name table calculation for TUs.
+ (dw2_get_file_names): Update.
+ (create_type_unit_group): Replace "per_cu" arg with "cu".
+ All callers updated. Fix "quick" (.gdb_index) handling.
+ (get_type_unit_group): Replace "per_cu" arg with "cu".
+ All callers updated.
+ (build_type_unit_groups): Don't reset tu_stats.
+
+ * symtab.c (filename_seen_cache): Delete members "tab_alloc_size",
+ "tab_cur_size". Change member "tab" to be a htab_t.
+ (create_filename_seen_cache): Update.
+ (clear_filename_seen_cache, delete_filename_seen_cache): Update.
+ (filename_seen): Update.
+
+2012-07-13 Doug Evans <dje@google.com>
+
+ * symtab.c (filename_seen): Update comment.
+
+2012-07-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Doug Evans <dje@google.com>
+
+ * buildsym.c (end_symtab_1): Split it to ...
+ (end_symtab_get_static_block): ... this ...
+ (end_symtab_from_static_block): ... and this function.
+ (end_symtab, end_expandable_symtab): Call them.
+ * buildsym.h (end_symtab_get_static_block)
+ (end_symtab_from_static_block): New declarations.
+ * dwarf2read.c (process_full_comp_unit): New variable static_block.
+ Set its valid CU ranges.
+
+2012-07-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2loc.c (disassemble_dwarf_expression): Handle
+ DW_OP_GNU_parameter_ref.
+
+2012-07-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (read_call_site_scope): Do not gdb_assert for invalid
+ read-in CALL_SITE_PARAMETER_PARAM_OFFSET.
+
+2012-07-13 Doug Evans <dje@google.com>
+
+ * symtab.c (output_source_filename): Delete unnecessary forward decl.
+ (filename_seen_cache): New struct.
+ (INITIAL_FILENAME_SEEN_CACHE_SIZE): New macro.
+ (create_filename_seen_cache): New function.
+ (clear_filename_seen_cache, delete_filename_seen_cache): New functions.
+ (filename_seen): Delete arg "first". New arg "cache". All callers
+ updated.
+ (output_source_filename_data): New struct.
+ (output_source_filename): Delete arg "first". New arg "data".
+ All callers updated.
+ (sources_info): Delete local "first". New locals "data", "cleanups".
+ Rewrite to use filename_seen_cache.
+ (add_partial_filename_data): Delete member "first". New member
+ "filename_seen_cache". All uses updated.
+ (make_source_files_completion_list): Rewrite to use
+ filename_seen_cache.
+
+2012-07-12 Doug Evans <dje@google.com>
+
+ * psymtab.c (map_symbol_filenames_psymtab): Skip shared psymtabs.
+
+2012-07-10 Doug Evans <dje@google.com>
+
+ PR gdb/13498
+ * dwarf2read.c (dwarf2_per_objfile): New members n_type_unit_groups,
+ all_type_unit_groups, type_unit_groups, tu_stats.
+ (dwarf2_per_cu_data): Move "imported_symtabs" into new union "s".
+ All uses updated. Add type_unit_group to union "s".
+ (type_unit_group): New struct.
+ (IS_TYPE_UNIT_GROUP): New macro.
+ (abbrev_table): Delete unused member "section".
+ (dw2_do_instantiate_symtab): Early exit if type_unit_group.
+ (dw2_get_cu): Assert not used with type_unit_group.
+ (dw2_get_primary_cu): New function.
+ (dw2_build_type_unit_groups_reader): New function.
+ (dw2_build_type_unit_groups): New function.
+ (dw2_get_file_names): Assert not called on type units.
+ (dw2_map_symtabs_matching_filename): Call dw2_build_type_unit_groups.
+ Redo loop to iterate over type unit groups instead of type units.
+ (dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Ditto.
+ (read_abbrev_offset): New function.
+ (init_cutu_and_read_dies): New arg "abbrev_table". All callers
+ updated.
+ (create_partial_symtab): New function.
+ (process_psymtab_comp_unit_reader): Assert not used with type units.
+ Call create_partial_symtab.
+ (process_psymtab_type_unit): Delete.
+ (hash_type_unit_group, eq_type_unit_group): New functions.
+ (allocate_type_unit_groups_table): New function.
+ (NO_STMT_LIST_TYPE_UNIT_PSYMTAB): New macro.
+ (NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE): New macro.
+ (create_type_unit_group, get_type_unit_group): New functions.
+ (tu_abbrev_offset): New struct.
+ (sort_tu_by_abbrev_offset): New function.
+ (add_type_unit_group_to_table): New function.
+ (build_type_unit_groups): New function.
+ (build_type_psymtabs_reader): New function.
+ (build_type_psymtab_dependencies): New function.
+ (build_type_psymtabs): Rewrite.
+ (scan_partial_symbols): Flag an error if a DW_TAG_imported_unit
+ is seen in a type unit.
+ (process_queue): Move symtab expansion debugging printfs here.
+ Call process_full_type_unit for type units.
+ (compute_symtab_includes): Assert not called for type units.
+ (process_cu_includes): Don't call compute_symtab_includes for
+ type units.
+ (process_full_type_unit): New function.
+ (process_imported_unit_die): Flag an error if called for type units.
+ (handle_DW_AT_stmt_list): Delete arg "want_line_info". All callers
+ updated. Assert not called for type units.
+ (read_file_scope): Call dwarf2_start_symtab.
+ (setup_type_unit_groups): New function.
+ (read_type_unit_scope): Rewrite.
+ (abbrev_table_read_table): Initialize abbrev_table->offset.
+ (abbrev_table_free_cleanup): New function.
+ (dwarf2_start_symtab): New function.
+ (load_full_type_unit): Assert not called for type unit groups.
+ * buildsym.c (finish_block_internal): New arg "expandable".
+ All callers updated.
+ (start_symtab): Move most contents to ...
+ (restart_symtab): ... here. New function.
+ (reset_symtab_globals): New function.
+ (end_symtab_1): Renamed from end_symtab. New arg "expandable".
+ Call reset_symtab_globals.
+ (end_symtab, end_expandable_symtab): New functions.
+ (set_missing_symtab, augment_type_symtab): New functions.
+ * buildsym.h (end_expandable_symtab): Declare.
+ (augment_type_symtab, restart_symtab): Declare.
+ * psympriv.h (struct partial_symtab): New member "anonymous".
+ * psymtab.c (partial_map_symtabs_matching_filename): Ignore
+ anonymous psymtabs.
+ (read_psymtabs_with_filename): Ditto.
+ (map_symbol_filenames_psymtab, psymtab_to_fullname): Ditto.
+ (expand_symtabs_matching_via_partial): Ditto.
+ (dump_psymtab): Update.
+ * dictionary.c (dict_add_pending): New function.
+ * dictionary.h (dict_add_pending): Declare.
+
2012-07-09 Doug Evans <dje@google.com>
* buildsym.c (start_subfile): Remove unnecessary check for