+2015-03-11 Andy Wingo <wingo@igalia.com>
+
+ * guile/scm-value.c (gdbscm_value_dynamic_type): Fix typo in which
+ we were checking the cached type, not the cached dynamic type.
+
+2015-03-11 Andy Wingo <wingo@igalia.com>
+
+ * guile/scm-cmd.c (cmdscm_destroyer): Don't xfree the name and
+ other strings, as these are on the GC'd heap, and will be
+ collected along with the smob.
+
+2015-03-11 Andy Wingo <wingo@igalia.com>
+
+ * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
+ (objfile_functions): Bind gdbscm_objfile_progspace to
+ objfile-progspace.
+ * guile/lib/gdb.scm: Add objfile-progspace to exports.
+
+2015-03-11 Andy Wingo <wingo@igalia.com>
+
+ * guile/guile.c (_initialize_guile): Disable automatic
+ finalization, if Guile offers us that possibility.
+ * guile/guile.c (call_initialize_gdb_module):
+ * guile/scm-safe-call.c (gdbscm_with_catch): Arrange to run
+ finalizers in appropriate places.
+ * configure.ac (AC_TRY_LIBGUILE): Add a check for
+ scm_set_automatic_finalization_enabled.
+ * configure: Regenerated.
+
+2015-03-11 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using
+ SAL, if possible.
+
+2015-03-11 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-nat.c (struct arch_lwp_info): New.
+ (s390_fix_watch_points): Rename to...
+ (s390_prepare_to_resume): ...this. Skip the PER info update
+ unless the watch points have changed.
+ (s390_refresh_per_info, s390_new_thread): New functions.
+ (s390_insert_watchpoint): Call s390_refresh_per_info instead of
+ s390_fix_watch_points.
+ (s390_remove_watchpoint): Likewise.
+ (_initialize_s390_nat): Reflect renaming of s390_fix_watch_points.
+ Register s390_prepare_to_resume.
+
+2015-03-09 Pedro Alves <palves@redhat.com>
+
+ Revert:
+ 2015-03-07 Pedro Alves <palves@redhat.com>
+ * common/gdb_socket.h: New file.
+ * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
+ sys/socket.h.
+ (net_open): Use union gdb_sockaddr_u.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * configure.ac (build_warnings): Move -Wmissing-prototypes
+ -Wdeclaration-after-statement -Wmissing-parameter-type
+ -Wold-style-declaration -Wold-style-definition to the C-specific
+ set.
+ * configure: Regenerate.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * common/gdb_socket.h: New file.
+ * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
+ sys/socket.h.
+ (net_open): Use union gdb_sockaddr_u.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * common/common-exceptions.c [!__cplusplus] (enum catcher_state)
+ (exceptions_state_mc_action_iter)
+ (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
+ Don't define.
+ [__cplusplus] (try_scope_depth): New global.
+ [__cplusplus] (exception_try_scope_entry)
+ (exception_try_scope_exit, gdb_exception_sliced_copy)
+ (exception_rethrow): New functions.
+ (throw_exception): In C++ mode, throw
+ gdb_exception_RETURN_MASK_QUIT for RETURN_QUIT and
+ gdb_exception_RETURN_MASK_ERROR for RETURN_ERROR.
+ (throw_it): In C++ mode, use try_scope_depth.
+ * common/common-exceptions.h [!__cplusplus]
+ (exceptions_state_mc_action_iter)
+ (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
+ Don't declare.
+ [__cplusplus] (exception_try_scope_entry)
+ (exception_try_scope_exit, exception_rethrow): Declare.
+ [__cplusplus] (struct exception_try_scope): New struct.
+ [__cplusplus] (TRY, CATCH, END_CATCH): Reimplement on top of real
+ C++ exceptions.
+ (struct gdb_exception_RETURN_MASK_ALL)
+ (struct gdb_exception_RETURN_MASK_ERROR)
+ (struct gdb_exception_RETURN_MASK_QUIT): New types.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * main.c (handle_command_errors): Remove volatile qualifier from
+ parameter.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (save_breakpoints): Adjust to avoid code between
+ TRY and CATCH.
+ * gdbtypes.c (safe_parse_type): Remove empty line.
+ (types_deeply_equal):
+ * guile/scm-frame.c (gdbscm_frame_name):
+ * linux-thread-db.c (find_new_threads_once):
+ * python/py-breakpoint.c (bppy_get_commands):
+ * record-btrace.c (record_btrace_insert_breakpoint)
+ (record_btrace_remove_breakpoint, record_btrace_start_replaying)
+ (record_btrace_start_replaying): Adjust to avoid code between TRY
+ and CATCH.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * common/common-exceptions.c (struct catcher) <exception>: No
+ longer a pointer to volatile exception. Now an exception value.
+ <mask>: Delete field.
+ (exceptions_state_mc_init): Remove all parameters. Adjust.
+ (exceptions_state_mc): No longer pop the catcher here.
+ (exceptions_state_mc_catch): New function.
+ (throw_exception): Adjust.
+ * common/common-exceptions.h (exceptions_state_mc_init): Remove
+ all parameters.
+ (exceptions_state_mc_catch): Declare.
+ (TRY_CATCH): Rename to ...
+ (TRY): ... this. Remove EXCEPTION and MASK parameters.
+ (CATCH, END_CATCH): New.
+ All callers adjusted.
+
+2015-03-07 Tom Tromey <tromey@redhat.com>
+
+ * top.c (quit_force): Inline and delete DO_TRY, DO_PRINT_EX.
+
+2015-03-07 Pedro Alves <palves@redhat.com>
+
+ * amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache)
+ (amd64_epilogue_frame_cache): Normal exception handling code.
+ * break-catch-throw.c (check_status_exception_catchpoint)
+ (re_set_exception_catchpoint): Ditto.
+ * cli/cli-interp.c (safe_execute_command):
+ * cli/cli-script.c (script_from_file): Ditto.
+ * compile/compile-c-symbols.c (generate_c_for_for_one_variable):
+ Ditto.
+ * compile/compile-object-run.c (compile_object_run): Ditto.
+ * cp-abi.c (baseclass_offset): Ditto.
+ * cp-valprint.c (cp_print_value): Ditto.
+ * exceptions.c (catch_exceptions_with_msg):
+ * frame-unwind.c (frame_unwind_try_unwinder): Ditto.
+ * frame.c (get_frame_address_in_block_if_available): Ditto.
+ * i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache)
+ (i386_sigtramp_frame_cache): Ditto.
+ * infcmd.c (post_create_inferior): Ditto.
+ * linespec.c (parse_linespec, find_linespec_symbols):
+ * p-valprint.c (pascal_object_print_value): Ditto.
+ * parse.c (parse_expression_for_completion): Ditto.
+ * python/py-finishbreakpoint.c (bpfinishpy_init): Ditto.
+ * remote.c (remote_get_noisy_reply): Ditto.
+ * s390-linux-tdep.c (s390_frame_unwind_cache): Ditto.
+ * solib-svr4.c (solib_svr4_r_map): Ditto.
+
+2015-03-06 Gary Benson <gbenson@redhat.com>
+
+ * common/common-utils.h (startswith): New inline function.
+ All places where this logic was used updated to use the above.
+
+2015-03-05 Pedro Alves <palves@redhat.com>
+
+ PR gdb/18002
+ * mem-break.c (default_memory_insert_breakpoint): Set shadow_len
+ after reading the breakpoint's shadow memory.
+
+2015-03-05 Mark Kettenis <kettenis@gnu.org>
+
+ * hppabsd-nat.c: Remove file.
+ * hppaobsd-nat.c: New file.
+ * Makefile.in (ALLDEPFILES): Remove hppabsd-nat.c. Add
+ hppaobsd-nat.c.
+ * config/pa/obsd.mh (NATDEPFILES): Replace hppabsd-nat.o with
+ hppaobsd-nat.o.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
+ (target_decr_pc_after_break): Delete declaration.
+ * target.c (default_target_decr_pc_after_break)
+ (target_decr_pc_after_break): Delete.
+ * linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
+ gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
+ * linux-thread-db.c (check_event): Likewise.
+ * infrun.c (adjust_pc_after_break): Likewise.
+ * darwin-nat.c (cancel_breakpoint): Likewise.
+ * aix-thread.c (aix_thread_wait): Likewise.
+ * target-delegates.c: Regenerate.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * linux-nat.c (save_sigtrap): Check for breakpoints before
+ checking watchpoints.
+ (status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a
+ breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
+ (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether
+ a breakpoint triggered based on the SIGTRAP's siginfo.si_code.
+ (linux_nat_stopped_by_sw_breakpoint)
+ (linux_nat_supports_stopped_by_sw_breakpoint)
+ (linux_nat_stopped_by_hw_breakpoint)
+ (linux_nat_supports_stopped_by_hw_breakpoint): New functions.
+ (linux_nat_wait_1): Don't re-increment the PC if relying on
+ SIGTRAP's siginfo->si_code.
+ (linux_nat_add_target): Install new target methods.
+ * linux-thread-db.c (check_event): Don't account for breakpoint PC
+ offset if the target already adjusted the PC.
+ * nat/linux-ptrace.h (USE_SIGTRAP_SIGINFO): New.
+ (GDB_ARCH_TRAP_BRKPT): New.
+ (TRAP_HWBKPT): Define if not already defined.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons.
+ * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p>:
+ Delete field.
+ <stop_reason>: New field.
+ (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values.
+ (packet_set_cmd_state): New function.
+ (remote_protocol_features): Register the "swbreak" and "hwbreak"
+ features.
+ (remote_query_supported): If not disabled with the corresponding
+ "set remote foo-packet" command, report support for the swbreak
+ and hwbreak features.
+ (struct stop_reply) <remote_stopped_by_watchpoint_p>: Delete
+ field.
+ <stop_reason>: New field.
+ (remote_parse_stop_reply): Handle "swbreak" and "hwbreak".
+ (remote_wait_as): Adjust.
+ (remote_stopped_by_sw_breakpoint)
+ (remote_supports_stopped_by_sw_breakpoint)
+ (remote_stopped_by_hw_breakpoint)
+ (remote_supports_stopped_by_hw_breakpoint): New functions.
+ (remote_stopped_by_watchpoint): New function.
+ (init_remote_ops): Install them.
+ (_initialize_remote): Register new "set/show remote
+ swbreak-feature-packet" and "set/show remote
+ swbreak-feature-packet" commands.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * btrace.h: Include target/waitstatus.h.
+ (struct btrace_thread_info) <stop_reason>: New field.
+ * record-btrace.c (record_btrace_step_thread): Use
+ record_check_stopped_by_breakpoint instead of breakpoint_here_p.
+ (record_btrace_decr_pc_after_break): Delete.
+ (record_btrace_stopped_by_sw_breakpoint)
+ (record_btrace_supports_stopped_by_sw_breakpoint)
+ (record_btrace_stopped_by_hw_breakpoint)
+ (record_btrace_supports_stopped_by_hw_breakpoint): New functions.
+ (init_record_btrace_ops): Install them.
+ * record-full.c (record_full_hw_watchpoint): Delete and replace
+ with ...
+ (record_full_stop_reason): ... this throughout.
+ (record_full_exec_insn): Adjust.
+ (record_full_wait_1): Adjust. No longer re-increment the PC.
+ (record_full_wait_1): Adjust. Use
+ record_check_stopped_by_breakpoint instead of breakpoint_here_p.
+ (record_full_stopped_by_watchpoint): Adjust.
+ (record_full_stopped_by_sw_breakpoint)
+ (record_full_supports_stopped_by_sw_breakpoint)
+ (record_full_supports_stopped_by_sw_breakpoint)
+ (record_full_stopped_by_hw_breakpoint)
+ (record_full_supports_stopped_by_hw_breakpoint): New functions.
+ (init_record_full_ops, init_record_full_core_ops): Install them.
+ * record.c (record_check_stopped_by_breakpoint): New function.
+ * record.h: Include target/waitstatus.h.
+ (record_check_stopped_by_breakpoint): New declaration.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ enum lwp_stop_reason -> enum target_stop_reason
+ * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint)
+ (linux_nat_stopped_by_watchpoint, status_callback)
+ (linux_nat_wait_1): Adjust.
+ * linux-nat.h (enum lwp_stop_reason): Delete.
+ (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
+ * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
+ * target/waitstatus.h (enum target_stop_reason): New.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (need_moribund_for_location_type): New function.
+ (bpstat_stop_status): Don't skipping checking moribund locations
+ of breakpoint types which the target tell caused a stop.
+ (program_breakpoint_here_p): New function, factored out from ...
+ (bp_loc_is_permanent): ... this.
+ (update_global_location_list): Don't create a moribund location if
+ the target supports reporting stops of the type of the removed
+ breakpoint.
+ * breakpoint.h (program_breakpoint_here_p): New declaration.
+ * infrun.c (adjust_pc_after_break): Return early if the target has
+ already adjusted the PC. Add comments.
+ (handle_signal_stop): If nothing explains a signal, and the target
+ tells us the stop was caused by a software breakpoint, check if
+ there's a breakpoint instruction in the memory. If so, adjust the
+ PC before presenting the stop to the user. Otherwise, ignore the
+ trap. If nothing explains a signal, and the target tells us the
+ stop was caused by a hardware breakpoint, ignore the trap.
+ * target.h (struct target_ops) <to_stopped_by_sw_breakpoint,
+ to_supports_stopped_by_sw_breakpoint, to_stopped_by_hw_breakpoint,
+ to_supports_stopped_by_hw_breakpoint>: New fields.
+ (target_stopped_by_sw_breakpoint)
+ (target_supports_stopped_by_sw_breakpoint)
+ (target_stopped_by_hw_breakpoint)
+ (target_supports_stopped_by_hw_breakpoint): Define.
+ * target-delegates.c: Regenerate.
+
+2015-03-04 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (follow_fork_inferior): Use the whole of the
+ inferior_ptid and pending_follow.related_pid ptids instead of
+ building ptids from the process components. Adjust verbose output
+ to use target_pid_to_str.
+ * linux-nat.c (linux_child_follow_fork): Use the whole of the
+ inferior_ptid and pending_follow.related_pid ptids instead of
+ building ptids from the process components.
+
+2015-03-04 Mark Kettenis <kettenis@gnu.org>
+
+ * inf-ptrace.c [PT_GET_PROCESS_STATE]
+ (inf_ptrace_insert_fork_catchpoint): New function.
+ (inf_ptrace_remove_fork_catchpoint): New function.
+ (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
+
+2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-tdep.c (s390_register_name): Return empty string
+ instead of NULL for registers that shouldn't be visible.
+
+2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
+ XML file for 64-bit targets.
+
+2015-03-03 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target.h (find_default_create_inferior): Remove declaration.
+ (find_default_attach): Likewise.
+
+2015-03-03 Pedro Alves <palves@redhat.com>
+
+ * inf-ptrace.c (inf_ptrace_resume): Remove spurious whitespace.
+ Use ptid_get_pid to get the overall process id when resuming all
+ threads.
+
+2015-03-03 Pedro Alves <palves@redhat.com>
+
+ * i386-linux-nat.c (i386_linux_resume): Get the ptrace PID out of
+ the lwp field of ptid. Pass the full ptid to get_thread_regcache.
+ * inf-ptrace.c (get_ptrace_pid): New function.
+ (inf_ptrace_resume): Use it.
+ * linux-nat.c (linux_resume_one_lwp): Pass the LWP's ptid ummodified
+ to the lower layer.
+
+2015-03-03 Markus Metzger <markus.t.metzger@intel.com>
+
+ * nat/linux-btrace.c: Include sys/utsname.h.
+ (linux_determine_kernel_ptr_bits): New.
+ (linux_enable_bts): Call linux_determine_kernel_ptr_bits.
+ * x86-linux-nat.c (x86_linux_enable_btrace): Do not overwrite non-zero
+ ptr_bits.
+
+2015-03-03 Markus Metzger <markus.t.metzger@intel.com>
+
+ * btrace.c (ftrace_update_function): Treat return as tailcall for
+ "_dl_runtime_resolve".
+
+2015-03-03 Markus Metzger <markus.t.metzger@intel.com>
+
+ * btrace.h (btrace_function) <lbegin, lend>: Remove.
+ * btrace.c (ftrace_debug): Do not print the line range.
+ (ftrace_skip_file, ftrace_update_lines): Remove.
+ (ftrace_new_function): Remove lbegin and lend initialization.
+ (btrace_compute_ftrace_bts): Remove call to ftrace_update_lines.
+ * record-btrace.c (btrace_compute_src_line_range): New.
+ (btrace_call_history_src_line): Call btrace_compute_src_line_range.
+
+2015-03-02 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (follow_exec): Delete all threads of the process except
+ the event thread. Extended comments.
+
+2015-03-02 Joel Brobecker <brobecker@adacore.com>
+
+ * contrib/ari/gdb_ari.sh: Reinstate checks for "true" and "false".
+
+2015-03-02 Joel Brobecker <brobecker@adacore.com>
+
+ * utils.h: Remove <stdbool.h> #include.
+ (producer_is_gcc): Change return type to "int".
+ * utils.c (producer_is_gcc): Change return type to int.
+ Return 1 instead of true, and 0 instead of false.
+ Adjust function documentation accordingly.
+
2015-03-02 Andreas Arnez <arnez@linux.vnet.ibm.com>
* s390-linux-nat.c (have_regset_vxrs): New static variable.