+
+ * cli/cli-cmds.c (disassemble_command): Split on comma.
+ (init_cli_cmds): Update help.
+ * NEWS: Mention incompatible change to 'disassemble'.
+
+
+ Make hardware breakpoints work for process repord.
+
+ * record.c (record_wait): Only adjust PC on software breakpoints
+ hits.
+
+
+ Make hardware watchpoints work for process record.
+
+ * breakpoint.c (hardware_watchpoint_inserted_in_range): New.
+ * breakpoint.h (hardware_watchpoint_inserted_in_range): Declare.
+ * record.c (record_beneath_to_stopped_by_watchpoint)
+ (record_beneath_to_stopped_data_address, record_hw_watchpoint):
+ New globals.
+ (record_exec_insn): Check for watchpoint hits.
+ (tmp_to_stopped_by_watchpoint, tmp_to_stopped_data_address): New
+ globals.
+ (record_open): Set tmp_to_stopped_by_watchpoint,
+ tmp_to_stopped_data_address,
+ record_beneath_to_stopped_by_watchpoint and
+ record_beneath_to_stopped_data_address.
+ (record_wait): Report watchpoint hits to the core. Update and
+ extend comments.
+ (record_stopped_by_watchpoint): New.
+ (record_stopped_data_address): New.
+ (init_record_ops): Install them.
+ (init_record_core_ops): Ditto.
+
+
+ * breakpoint.c (update_watchpoint): Skip creating locations and
+ reading the selected frame if there's no execution.
+ (bpstat_stop_status): Use is_hardware_watchpoint. If not
+ stopping, update watchpoints and the global location list, instead
+ of removing and inserting all breakpoints.
+ (breakpoint_address_is_meaningful): Hardware watchpoints also have
+ a meaningful target address.
+ (watchpoint_locations_match): New.
+ (breakpoint_locations_match): New.
+ (watch_command_1): Create the watchpoint breakpoint without any
+ location initially. Use update_watchpoint to create the
+ watchpoint locations.
+ (update_global_location_list): Use breakpoint_locations_match, so
+ watchpoint locations are handled too. Also detect duplicate
+ watchpoint locations.
+
+
+ * breakpoint.h (struct breakpoint) <watchpoint_thread>: New field.
+ * breakpoint.c (watchpoint_in_thread_scope): New.
+ (update_watchpoint): Skip if the local watchpoint's thread doesn't
+ match the current thread, or if the current thread is running.
+ (watchpoint_check): Ditto.
+ (watch_command_1): Set the watchpoint's watchpoint_thread field.
+
+
+ * breakpoint.c (bp_location_compare): Change parameter a to ap and b to
+ bp. New variables a and b.
+ (bp_location_compare_for_qsort): Remove.
+ (update_global_location_list): Use now bp_location_compare.
+
+
+ Fix repeated rwatch output.
+ * amd64-linux-nat.c (amd64_linux_dr_set, amd64_linux_dr_set_control)
+ (amd64_linux_dr_set_addr, amd64_linux_dr_reset_addr)
+ (amd64_linux_dr_get_status): New comments.
+ (amd64_linux_dr_unset_status): New function.
+ (_initialize_amd64_linux_nat): Install it.
+ * i386-linux-nat.c (i386_linux_dr_get, i386_linux_dr_set)
+ (i386_linux_dr_set_control, i386_linux_dr_set_addr)
+ (i386_linux_dr_reset_addr, i386_linux_dr_get_status): New comments.
+ (i386_linux_dr_unset_status): New function.
+ (_initialize_i386_linux_nat): Install it.
+ * i386-nat.c (I386_DR_WATCH_MASK): New macro.
+ (I386_DR_WATCH_HIT): Use I386_DR_WATCH_MASK.
+ (i386_insert_aligned_watchpoint): Call i386_dr_low.unset_status.
+ * i386-nat.h (struct i386_dr_low_type): Extend comments for
+ set_control, set_addr, reset_addr and get_status. New unset_status.
+ * breakpoint.c (update_watchpoint): Extend the comment.
+
+
+ Fix reordered watchpoints triggered in other threads during all-stop.
+
+ * linux-nat.c (resume_callback, linux_nat_resume): Clear
+ stopped_by_watchpoint.
+ (save_sigtrap, linux_nat_stopped_by_watchpoint)
+ (linux_nat_stopped_data_address): New.
+ (stop_wait_callback, linux_nat_filter_event): Call save_sigtrap.
+ (linux_nat_add_target): Install linux_nat_stopped_by_watchpoint
+ and linux_nat_stopped_data_address.
+ * linux-nat.h (struct lwp_info): New fields stopped_by_watchpoint,
+ stopped_data_address_p and stopped_data_address.
+
+
+ * target.h (struct target_ops): New methods to_get_bookmark
+ and to_goto_bookmark.
+ (target_get_bookmark): New macro.
+ (target_goto_bookmark): New macro.
+ * target.c (dummy_get_bookmark): New function, default implementation.
+ (dummy_goto_bookmark): New function, default implementation.
+ (update_current_target): Inherit new methods.
+ * record.c (record_get_bookmark): New function.
+ (record_goto_bookmark): New function.
+ (init_record_ops): Set to_get_bookmark and to_goto_bookmark methods.
+ * reverse.c (struct bookmark): New type.
+ (save_bookmark_command): New function (command).
+ (delete_bookmark_command): New function (command).
+ (goto_bookmark_command): New function (command).
+ (bookmarks_info): New function (command).
+ (_initialize_reverse): Add new bookmark commands.
+ * command.h (enum command_class): Add class_bookmark.
+ * NEWS: Mention bookmark commands.
+
+
+ * breakpoint.c (update_global_location_list): Fix duplicate
+ locations detection.
+
+
+ * infrun.c (handle_inferior_event): Hardware hatchpoint traps are
+ never random signals.
+ * breakpoint.c (update_global_location_list): Always delete
+ immediately delete hardware watchpoint locations and other
+ locations whose target address isn't meaningful. Update comment
+ explaining the hazard of moribund locations.
+
+
+ * ada-lang.c (discrete_type_p): TYPE_CODE_BOOL is also a discrete type.
+
+
+ * completer.c (complete_line_internal): Make sure the command
+ completer is not NULL before calling it.
+
+
+ * ada-lang.c (packed_array_type): Rename to...
+ (constrained_packed_array_type): ...and update comment.
+ (decode_packed_array, decode_constrained_packed_array): Ditto.
+ (decode_packed_array_type, decode_constrained_packed_array_type):
+ Ditto.
+ (ada_is_constrained_packed_array_type): New function.
+ (ada_is_unconstrained_packed_array_type): New function.
+ (decode_packed_array_bitsize): New function, extracted from
+ decode_packed_array_type.
+ (ada_type_of_array): Add support for unconstrained packed arrays.
+ (ada_coerce_to_simple_array_ptr, ada_coerce_to_simple_array)
+ (ada_array_bound_from_type, ada_array_bound, ada_array_length)
+ (ada_prefer_type, to_fixed_array_type, ada_evaluate_subexp): Resync.
+ * ada-lang.h (ada_is_packed_array_type,
+ ada_is_constrained_packed_array_type): Renaming.
+ * ada-valprint.c (ada_val_print_1): Resync.
+ * ada-typeprint.c (print_array_type, ada_print_type): Resync.
+
+
+ Wrong function used to perform address addition/subtraction.
+ * ada-lang.c (ada_type_match): Stop making TYPE_CODE_VOID
+ a wildcard matching any type. For types that we don't already
+ handle specifically, make sure that both types have the same code.
+
+
+ * ada-lang.c (ada_decode): Add handling of "TB" suffixes for
+ task bodies.
+
+
+ * ada-lang.c (ada_remove_Xbn_suffix): New function.
+ (find_old_style_renaming_symbol): Add handling for function suffixes
+ present in the name of various procedures.
+ Do not overwrite the function symbol's name.
+
+
+ * breakpoint.c (breakpoint_address_bits): Visit all locations'
+ gdbarchs, not the breakpoint's gdbarch.
+
+
+ * cli/cli-script.c (process_next_line): Recognize 'end'
+ even when the line has leading space and we're not parsing
+ commands.
+
+
+ * symtab.c (symbol_set_names): Correctly set 'name' on symbol when
+ lookup name differs.
+
+
+ * machoread.c (macho_oso_symfile): Fix typo. Add comments.
+
+
+ * dbxread.c (set_namestring): Remove cast to unsigned. Check N_STRX
+ overflow.
+
+
+ * features/m68k-core.xml: New file.
+
+
+ * regformats/reg-cf.dat: New file.
+
+
+ * m68k-tdep.c (m68k_register_name): Check fpregs_present.
+ (m68k_gdbarch_init): Remove a duplicate of set_gdbarch_fp0_regnum.
+
+
+ Fix wrong debug output with `set debug infrun 1'.
+ * gdb/infrun.c (handle_inferior_event <debug_infrun>): New variable
+ old_chain. Temporarily switch INFERIOR_PTID.
+ * target.h (target_stopped_by_watchpoint): Extend the comment.
+ (target_stopped_data_address): New comment.
+
+
+ * xcoffread.c (scan_xcoff_symtab): Update.
+ * symfile.h (add_psymbol_to_list): Update prototype.
+ * symfile.c (add_psymbol_to_bcache): Add copy_name argument.
+ (add_psymbol_to_list): Likewise.
+ * stabsread.c (define_symbol): Update.
+ * mdebugread.c (parse_partial_symbols): Update.
+ (handle_psymbol_enumerators): Update.
+ (new_symbol): Update.
+ * dbxread.c (read_dbx_symtab): Update.
+ * coffread.c (process_coff_symbol): Update.
+ * symtab.h (prim_record_minimal_symbol_full): Declare.
+ (SYMBOL_SET_NAMES): Add copy_name argument.
+ * symtab.c (struct demangled_name_entry): New struct.
+ (hash_demangled_name_entry): New function.
+ (eq_demangled_name_entry): Likewise.
+ (create_demangled_names_hash): Use new functions.
+ (symbol_set_names): Use struct demangled_name_entry. Add
+ copy_name argument.
+ * minsyms.c (prim_record_minimal_symbol_full): New function.
+ (prim_record_minimal_symbol_and_info): Use it.
+ * elfread.c (record_minimal_symbol): Add name_len and copy_name
+ arguments. Call prim_record_minimal_symbol_full.
+ (elf_symtab_read): Add copy_names argument.
+ (elf_symfile_read): Update calls to elf_symtab_read.
+ * dwarf2read.c (add_partial_symbol): Don't copy symbol names.
+ (load_partial_dies): Likewise.
+ (new_symbol): Likewise.
+ * cp-namespace.c (check_one_possible_namespace_symbol): Don't save
+ name on the obstack. Update call to SYMBOL_SET_NAMES.
+
+
+ * infrun.c (handle_inferior_event): When handling a fork or vfork
+ event, check if the bpstat causes a stop, instead of if it
+ explains the signal.
+ * breakpoint.c (bpstat_causes_stop): New.
+ * breakpoint.h (bpstat_causes_stop): Declare.
+
+
+ * breakpoint.c (should_be_inserted): Don't insert breakpoints if
+ the pspace doesn't allow breakpoints.
+ (insert_breakpoint_locations): Remove waiting_for_vfork_done
+ special case. Expect watchpoints that shouldn't be inserted, to
+ not be inserted.
+ * progspace.h (struct program_space) <breakpoints_not_allowed>:
+ New field.
+ * infrun.c (handle_inferior_event): Clear it.
+ * linux-nat.c (linux_child_follow_fork): Set it.
+
+
+ * dcache.c (dcache_hit, dcache_read_line): Tweak comments.
+ (dcache_peek_byte, dcache_init, dcache_xfer_memory): Ditto.
+ * target.c (memory_xfer_partial): Tweak comments.
+ (target_xfer_partial, target_write_memory): Add comment.
+ (target_read_partial): Remove note from 2003-10-21.
+ (target_read, target_write): Add comments.
+
+
+ * inline-frame.c (find_inline_frame_state): Check for changed PC
+ here...
+ (inline_frame_sniffer): ... not here.
+
+
+ * ui-file.c (stdio_file_read): Call gdb_select before read.
+
+
+ * mips-tdep.c (mips_insn16_frame_this_id): Mark the outermost
+ frame.
+ (mips_insn32_frame_this_id): Likewise.
+
+
+ * elfread.c (elf_symtab_read): Only mark a minimal symbol as
+ special if it actually exists. Merge the checks for this
+ conditions.
+
+
+ * remote-fileio.c (remote_fileio_request): Send Ctrl-C if it is
+ pending.
+ * remote-fileio.h: Update the prototype for remote_fileio_request.
+ * remote.c (struct remote_state): Add ctrlc_pending_p.
+ (remote_open_1): Clear ctrlc_pending_p.
+ (remote_stop_as): Set ctrlc_pending_p to 1.
+ (remote_wait_as): Pass ctrlc_pending_p to remote_fileio_request.
+
+
+ * arm-tdep.c (arm_skip_stub): Recognize RealView veneer functions.
+
+
+ * breakpoint.c (update_watchpoint): Only fiddle with frames for
+ local watchpoints.
+
+
+ * infrun.c (handle_inferior_event): Set stop_print_frame on
+ TARGET_WAITKIND_LOADED events, if stopping on solib-events.
+
+
+ * dcache.c (dcache_block): Replace member newer with next,prev.
+ (dcache_struct): Delete member newest.
+ (block_func): New typedef.
+ (append_block, remove_block, for_each_block): New functions.
+ (invalidate_block, free_block): New functions.
+ (dcache_invalidate): Update
+ (dcache_invalidate_line, dcache_alloc): Update to use new list
+ accessors.
+ (dcache_free): Ditto. Fix memory leak.
+
+
+ * python/py-prettyprint.c (print_string_repr): Suppress
+ address printing
+
+
+ * avr-tdep.c (avr_push_dummy_call): Fix endianness issue and avoid
+ overlap between returned structure and return address/parameters.
+
+
+ * remote-fileio.c (remote_fileio_func_read): Limit console
+ reads to 16K.
+
+
+ * c-typeprint.c (c_type_print_base): Skip artificial fields.
+ Use get_vptr_fieldno to skip the vtable pointer.
+ * dwarf2read.c (dwarf2_add_field): Set FIELD_ARTIFICIAL on artificial
+ fields.
+ (dwarf2_add_member_fn): Complain about virtual member functions
+ without DW_AT_vtable_elem_location and force TYPE_CPLUS_DYNAMIC.
+ * gdbtypes.c (get_vptr_fieldno): Update comment.
+ * gdbtypes.h (struct cplus_struct_type): Add is_dynamic.
+ (TYPE_CPLUS_DYNAMIC): New macro.
+ * gnu-v3-abi.c (gnuv3_dynamic_class): New.
+ (gnuv3_get_vtable): Rewrite to use gnuv3_dynamic_class. Move higher.
+ (gnuv3_rtti_type, gnuv3_get_virtual_fn, gnuv3_baseclass_offset): Use
+ gnuv3_get_vtable.
+ * varobj.c (cplus_class_num_children, cplus_describe_child): Skip
+ artificial fields. Use get_vptr_fieldno to skip the vtable pointer.
+
+
+ * dwarf2read.c (dwarf2_add_member_fn): Calculate virtual function
+ offset for classes without DW_AT_containing_type.
+
+
+ * dwarf2read.c (struct field_info): Add baseclasses.
+ (dwarf2_add_field): Add base classes to a separate list.
+ (dwarf2_attach_fields_to_type): Merge base classes and fields.
+
+
+ * dwarf2read.c (process_psymtab_comp_unit): Initialize per_cu backlink
+ at the same time as the forward link.
+ (load_partial_comp_unit): Initialize per_cu links before calling
+ init_cu_die_reader.
+
+
+ PR gdb/10838
+ * linux-thread-db.c (thread_db_info): New member.
+ (disable_thread_event_reporting): Call td_ta_clear_event.
+
+
+ * linespec.c (lookup_prefix_sym): Lookup the symbol
+ in both STRUCT_DOMAIN and VAR_DOMAIN.
+
+
+ * darwin-nat-info.c: Update copyright.
+ * dbxread.c: Ditto.
+ * gdbarch.sh: Ditto.
+ * gdbarch.c: Ditto.
+ * gdbarch.h: Ditto.
+ * inline-frame.c: Ditto.
+ * inline-frame.h: Ditto.
+ * s390-nat.c: Ditto.
+
+
+ * findvar.c (top level): Fix and add comments.
+
+
+ * c-exp.y (operator_stoken): New function.
+ (OPERATOR): New token.
+ (NEW): New token.
+ (DELETE): New token.
+ (operator): New rule.
+ (name): Add operator.
+ (ident_tokens): Add "new", "delete", and "operator".
+ * gdbtypes.c (rank_one_type): Don't complain about
+ void pointer conversion badness if both types are
+ void pointers.
+
+
+ * symfile.c (separate_debug_file_exists): Change parameter parent_name
+ to parent_objfile. New variables parent_stat and abfd_stat. Call
+ strcmp and then bfd_stat functions to verify if NAME matches.
+ (find_separate_debug_file): Update the passed parameter at caller.
+
+
+ * objfiles.c (objfile_relocate): Update also the field psymtabs_addrmap.
+
+
+ * configure.ac: Call ACX_LARGEFILE.
+ * aclocal.m4: Call m4_include for ../config/largefile.m4 and
+ ../config/plugins.m4.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+
+ * c-exp.y: Add new rule for resolving method overloads.
+ * eval.c (make_params): New function.
+ (free_param_types): New function.
+ (evaluate_subexp_standard): Pass expect_type to value_aggregate_elt.
+ Handle case TYPE_INSTANCE.
+ (evaluate_subexp_for_address): Pass expect_type to value_aggregate_elt.
+ * expression.h (enum exp_opcode): Add TYPE_INSTANCE.
+ (compare_parameters): Add declaration.
+ * parse.c (operator_length_standard): Add TYPE_INSTANCE.
+ * valops.c (value_aggregate_elt): Add new expect_type parameter.
+ Pass expect_type to value_struct_elt_for_reference.
+ (value_struct_elt_for_reference): Add expect_type parameter and use
+ compare_parameters.
+ Check for overload matches with and without artificial parameters.
+ Skip artificial methods.
+ (compare_parameters): New function.
+ * value.h (value_aggregate_elt): Add new expect_type parameter.
+
+
+ * solib-svr4.c (enable_break): Call
+ gdbarch_convert_from_func_ptr_addr on results of looking up
+ fallback symbol names.
+
+
+ * procfs.c (procfs_do_thread_registers): Added a call to fetch
+ register values before saving them in the core file
+ through the gcore command.
+ (procfs_corefile_thread_callback): Removed the backup of
+ inferior_ptid before calling procfs_do_thread_registers since
+ the function already saves and restores it before returning.
+
+
+ * dcache.c (dcache_invalidate_line): Remove block from used list
+ when adding it to freed list.
+
+
+ * dcache.c: Fix typo, shorten long lines in comment.
+
+
+ * avr-tdep.c: Add AVR_PSEUDO_PC_REGNUM and AVR_NUM_PSEUDO_REGS.
+ (struct gdbarch_tdep): Add void_type, func_void_type and pc_type
+ fields.
+ (avr_register_name): Add "pc" name, renames "PC" to "PC2".
+ (avr_register_type): Handle AVR_PSEUDO_PC_REGNUM.
+ (avr_write_pc): Fix indentation.
+ (avr_pseudo_register_read): New function.
+ (avr_pseudo_register_write): New function.
+ (avr_frame_prev_register): Handle AVR_PSEUDO_PC_REGNUM.
+ (avr_gdbarch_init): Create types for pc. Register pseudo regs.
+
+
+ * avr-tdep.c (avr_integer_to_address): New function.
+ (avr_gdbarch_init): Set integer_to_address.
+
+
+ * avr-tdep.c (avr_skip_prologue): First try to skip prologue
+ using skip_prologue_using_sal.
+
+
+ * avr-tdep.c (avr_extract_return_value): Remove.
+ (avr_return_value): Mostly rewritten. Fix handling for structures.
+ (avr_push_dummy_call): Handle struct_return.
+
+
+ * avr-tdep.c (avr_scan_prologue): Decode instructions used for
+ small stack allocation.
+ Adjust code for prologue that don't write SP.
+
+
+ * avr-tdep.c (avr_make_saddr): Return 0 for NULL.
+
+
+ * avr-tdep.c (avr_dwarf_reg_to_regnum): New function.
+ (avr_gdbarch_init): Call set_gdbarch_dwarf2_reg_to_regnum.
+
+
+ PR mi/9583:
+ * symtab.c (find_line_symtab, append_exact_match_to_sals)
+ (expand_line_sal): Use full filename when setting breakpoints if
+ available
+
+
+ * dwarf2read.c (read_import_statement): Don't clobber original cu.
+
+
+ * python/python.c (execute_gdb_command): Copy the argument text.
+
+
+ * m68k-tdep.c (m68k_convert_register_p): Correct
+ messup.
+
+
+ * m68k-tdep.c (m68k_convert_register_p): Compare with
+ the actual type of fp registers, not one of the possible
+ values.
+
+
+ Prevent program output from mix with "^running".
+
+ gdb/
+ * mi/mi-interp.c (mi_on_resume): Output token
+ and "^running" together, so that nothing else gets
+ in between.
+
+
+ * dwarf2read.c (struct dwarf2_cu): Remove ranges_offset and
+ 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.
+
+
+ * symmisc.c (print_symbol_bcache_statistics): Print filename cache
+ statistics.
+ (print_objfile_statistics): Likewise.
+ * symfile.c (reread_symbols): Initialize filename_cache.
+ (allocate_symtab): Cache the file name.
+ (allocate_psymtab): Likewise.
+ * solib-sunos.c (allocate_rt_common_objfile): Initialize
+ filename_cache.
+ * objfiles.h (struct objfile) <filename_cache>: New field.
+ * objfiles.c (allocate_objfile): Initialize filename_cache.
+ (free_objfile): Free filename_cache.
+
+
+ * symfile.c (add_psymbol_to_bcache): Make 'psymbol' static again.
+ Zero the 'value' field.
+
+
+ * amd64-tdep.c (amd64_init_frame_cache): Enhance comment describing
+ saved_regs.
+
* top.c (execute_command): Select a frame before checking the current
* target.c (dummy_find_memory_regions): Change output.
(dummy_make_corefile_notes): Ditto.
+
+ * charset.c (_initialize_charset): Set a default value to
+ auto_host_charset_name if empty.
+
* avr-tdep.c (avr_push_dummy_call): Handle avr6 architecture.