+
+ * 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