Make gdb expression debugging handle OP_F90_RANGE
[external/binutils.git] / gdb / ChangeLog
index 37c4be0..6bed450 100644 (file)
@@ -1,3 +1,499 @@
+2016-05-17  Tom Tromey  <tom@tromey.com>
+
+       * expprint.c: Include f-lang.h.
+       (print_subexp_standard, dump_subexp_body_standard): Handle
+       OP_F90_RANGE.
+
+2016-05-17  Tom Tromey  <tom@tromey.com>
+
+       * Makefile.in (init.c): Search .y files for initialization
+       functions.
+
+2016-05-12  Doug Evans  <dje@google.com>
+
+       PR symtab/19999
+       * dwarf2loc.c (dwarf2_find_location_expression): For DWO files still
+       add base_offset.
+
+2016-05-10  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * iq2000-tdep.c (iq2000_scan_prologue): Remove if that shouldn't guard
+       anything.
+       * linespec.c (add_sal_to_sals): Restore call to symtab_to_fullname.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * arm-tdep.c (arm_elf_make_msymbol_special): Use
+       ARM_GET_SYM_BRANCH_TYPE to get branch type of a symbol.
+
+2016-05-07  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Remove unused
+       variables.
+       * aarch64-tdep.c (aarch64_skip_prologue): Likewise.
+       (aarch64_scan_prologue): Likewise.
+       (aarch64_prologue_prev_register): Likewise.
+       (aarch64_dwarf2_prev_register): Likewise.
+       (pass_in_v): Likewise.
+       (aarch64_push_dummy_call): Likewise.
+       (aarch64_breakpoint_from_pc): Likewise.
+       (aarch64_return_in_memory): Likewise.
+       (aarch64_return_value): Likewise.
+       (aarch64_displaced_step_b_cond): Likewise.
+       (aarch64_displaced_step_cb): Likewise.
+       (aarch64_displaced_step_tb): Likewise.
+       (aarch64_gdbarch_init): Likewise.
+       (aarch64_process_record): Likewise.
+       * alpha-mdebug-tdep.c (alpha_mdebug_init_abi): Likewise.
+       * alpha-tdep.c (_initialize_alpha_tdep): Likewise.
+       * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
+       * amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Likewise.
+       * amd64-tdep.c (fixup_riprel): Likewise.
+       * amd64-windows-tdep.c (amd64_windows_frame_decode_epilogue): Likewise.
+       (amd64_windows_frame_decode_insns): Likewise.
+       (amd64_windows_frame_cache): Likewise.
+       (amd64_windows_frame_prev_register): Likewise.
+       (amd64_windows_frame_this_id): Likewise.
+       (amd64_windows_init_abi): Likewise.
+       * arm-linux-tdep.c (arm_linux_get_syscall_number): Likewise.
+       (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
+       * arm-symbian-tdep.c (arm_symbian_init_abi): Likewise.
+       * arm-tdep.c (arm_make_epilogue_frame_cache): Likewise.
+       (arm_epilogue_frame_prev_register): Likewise.
+       (arm_record_vdata_transfer_insn): Likewise.
+       (arm_record_exreg_ld_st_insn): Likewise.
+       * auto-load.c (execute_script_contents): Likewise.
+       (print_scripts): Likewise.
+       * avr-tdep.c (avr_frame_prev_register): Likewise.
+       (avr_push_dummy_call): Likewise.
+       * bfin-linux-tdep.c (bfin_linux_sigframe_init): Likewise.
+       * bfin-tdep.c (bfin_gdbarch_init): Likewise.
+       * blockframe.c (find_pc_partial_function_gnu_ifunc): Likewise.
+       * break-catch-throw.c (fetch_probe_arguments): Likewise.
+       * breakpoint.c (breakpoint_xfer_memory): Likewise.
+       (breakpoint_init_inferior): Likewise.
+       (breakpoint_inserted_here_p): Likewise.
+       (software_breakpoint_inserted_here_p): Likewise.
+       (hardware_breakpoint_inserted_here_p): Likewise.
+       (bpstat_what): Likewise.
+       (break_range_command): Likewise.
+       (save_breakpoints): Likewise.
+       * coffread.c (coff_symfile_read): Likewise.
+       * cris-tdep.c (cris_push_dummy_call): Likewise.
+       (cris_scan_prologue): Likewise.
+       (cris_register_size): Likewise.
+       (_initialize_cris_tdep): Likewise.
+       * d-exp.y: Likewise.
+       * dbxread.c (dbx_read_symtab): Likewise.
+       (process_one_symbol): Likewise.
+       (coffstab_build_psymtabs): Likewise.
+       (elfstab_build_psymtabs): Likewise.
+       * dicos-tdep.c (dicos_init_abi): Likewise.
+       * disasm.c (do_mixed_source_and_assembly): Likewise.
+       (gdb_disassembly): Likewise.
+       * dtrace-probe.c (dtrace_process_dof): Likewise.
+       * dwarf2read.c (error_check_comp_unit_head): Likewise.
+       (build_type_psymtabs_1): Likewise.
+       (skip_one_die): Likewise.
+       (process_imported_unit_die): Likewise.
+       (dwarf2_physname): Likewise.
+       (read_file_scope): Likewise.
+       (setup_type_unit_groups): Likewise.
+       (create_dwo_cu_reader): Likewise.
+       (create_dwo_cu): Likewise.
+       (create_dwo_unit_in_dwp_v1): Likewise.
+       (create_dwo_unit_in_dwp_v2): Likewise.
+       (lookup_dwo_unit_in_dwp): Likewise.
+       (free_dwo_file): Likewise.
+       (check_producer): Likewise.
+       (dwarf2_add_typedef): Likewise.
+       (dwarf2_add_member_fn): Likewise.
+       (read_unsigned_leb128): Likewise.
+       (read_signed_leb128): Likewise.
+       (dwarf2_const_value): Likewise.
+       (follow_die_sig_1): Likewise.
+       (dwarf_decode_macro_bytes): Likewise.
+       * extension.c (restore_active_ext_lang): Likewise.
+       * frv-linux-tdep.c (frv_linux_sigtramp_frame_cache): Likewise.
+       * ft32-tdep.c (ft32_analyze_prologue): Likewise.
+       * gdbtypes.c (lookup_typename): Likewise.
+       (resolve_dynamic_range): Likewise.
+       (check_typedef): Likewise.
+       * h8300-tdep.c (h8300_is_argument_spill): Likewise.
+       (h8300_gdbarch_init): Likewise.
+       * hppa-tdep.c (hppa32_push_dummy_call): Likewise.
+       (hppa_frame_this_id): Likewise.
+       (_initialize_hppa_tdep): Likewise.
+       * hppanbsd-tdep.c (hppanbsd_sigtramp_cache_init): Likewise.
+       * hppaobsd-tdep.c (hppaobsd_supply_fpregset): Likewise.
+       * i386-dicos-tdep.c (i386_dicos_init_abi): Likewise.
+       * i386-tdep.c (i386_bnd_type): Likewise.
+       (i386_gdbarch_init): Likewise.
+       (i386_mpx_bd_base): Likewise.
+       * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Likewise.
+       * i386obsd-tdep.c (i386obsd_elf_init_abi): Likewise.
+       * ia64-tdep.c (examine_prologue): Likewise.
+       (ia64_frame_cache): Likewise.
+       (ia64_push_dummy_call): Likewise.
+       * infcmd.c (finish_command_fsm_async_reply_reason): Likewise.
+       (default_print_one_register_info): Likewise.
+       * infrun.c (infrun_thread_ptid_changed): Likewise.
+       (thread_still_needs_step_over): Likewise.
+       (stop_all_threads): Likewise.
+       (restart_threads): Likewise.
+       (keep_going_stepped_thread): Likewise.
+       * iq2000-tdep.c (iq2000_scan_prologue): Likewise.
+       * language.c (language_init_primitive_type_symbols): Likewise.
+       * linespec.c (add_sal_to_sals): Likewise.
+       * linux-nat.c (status_callback): Likewise.
+       (kill_unfollowed_fork_children): Likewise.
+       (linux_nat_kill): Likewise.
+       * linux-tdep.c (linux_fill_prpsinfo): Likewise.
+       * linux-thread-db.c (thread_db_notice_clone): Likewise.
+       (record_thread): Likewise.
+       * location.c (string_to_event_location_basic): Likewise.
+       * m32c-tdep.c (m32c_prev_register): Likewise.
+       * m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
+       * m32r-tdep.c (decode_prologue): Likewise.
+       * m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
+       * machoread.c (macho_symtab_read): Likewise.
+       (macho_symfile_read): Likewise.
+       (macho_symfile_offsets): Likewise.
+       * maint.c (set_per_command_cmd): Likewise.
+       * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
+       (mi_cmd_stack_list_variables): Likewise.
+       * mi/mi-main.c (mi_cmd_exec_run): Likewise.
+       (output_register): Likewise.
+       (mi_cmd_execute): Likewise.
+       (mi_cmd_trace_define_variable): Likewise.
+       (print_variable_or_computed): Likewise.
+       * minsyms.c (prim_record_minimal_symbol_full): Likewise.
+       * mn10300-tdep.c (mn10300_frame_prev_register): Likewise.
+       * msp430-tdep.c (msp430_pseudo_register_write): Likewise.
+       * mt-tdep.c (mt_registers_info): Likewise.
+       * nios2-tdep.c (nios2_analyze_prologue): Likewise.
+       (nios2_push_dummy_call): Likewise.
+       (nios2_frame_unwind_cache): Likewise.
+       (nios2_stub_frame_cache): Likewise.
+       (nios2_stub_frame_sniffer): Likewise.
+       (nios2_gdbarch_init): Likewise.
+       * ppc-ravenscar-thread.c: Likewise.
+       * ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
+       * python/py-evts.c (add_new_registry): Likewise.
+       * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
+       (bpfinishpy_detect_out_scope_cb): Likewise.
+       * python/py-framefilter.c (py_print_value): Likewise.
+       * python/py-inferior.c (infpy_write_memory): Likewise.
+       * python/py-infevents.c (create_inferior_call_event_object): Likewise.
+       * python/py-infthread.c (thpy_get_ptid): Likewise.
+       * python/py-linetable.c (ltpy_get_pcs_for_line): Likewise.
+       (ltpy_get_all_source_lines): Likewise.
+       (ltpy_is_valid): Likewise.
+       (ltpy_iternext): Likewise.
+       * python/py-symtab.c (symtab_and_line_to_sal_object): Likewise.
+       * python/py-unwind.c (pyuw_object_attribute_to_pointer): Likewise.
+       (unwind_infopy_str): Likewise.
+       * python/py-varobj.c (py_varobj_get_iterator): Likewise.
+       * ravenscar-thread.c (ravenscar_inferior_created): Likewise.
+       * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
+       * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
+       * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
+       * s390-linux-tdep.c (s390_supply_tdb_regset): Likewise.
+       (s390_frame_prev_register): Likewise.
+       (s390_dwarf2_frame_init_reg): Likewise.
+       (s390_record_vr): Likewise.
+       (s390_process_record): Likewise.
+       * score-tdep.c (score_push_dummy_call): Likewise.
+       (score3_analyze_prologue): Likewise.
+       * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
+       * sh64-tdep.c (sh64_analyze_prologue): Likewise.
+       (sh64_push_dummy_call): Likewise.
+       (sh64_extract_return_value): Likewise.
+       (sh64_do_fp_register): Likewise.
+       * solib-aix.c (solib_aix_get_section_offsets): Likewise.
+       * solib-darwin.c (darwin_read_exec_load_addr_from_dyld): Likewise.
+       (darwin_solib_read_all_image_info_addr): Likewise.
+       * solib-dsbt.c (enable_break): Likewise.
+       * solib-frv.c (enable_break2): Likewise.
+       (frv_fdpic_find_canonical_descriptor): Likewise.
+       * solib-svr4.c (svr4_handle_solib_event): Likewise.
+       * sparc-tdep.c (sparc_skip_stack_check): Likewise.
+       * sparc64-linux-tdep.c (sparc64_linux_get_longjmp_target): Likewise.
+       * sparcobsd-tdep.c (sparc32obsd_init_abi): Likewise.
+       * spu-tdep.c (info_spu_dma_cmdlist): Likewise.
+       * stack.c (read_frame_local): Likewise.
+       * symfile.c (symbol_file_add_separate): Likewise.
+       (remove_symbol_file_command): Likewise.
+       * symmisc.c (maintenance_print_one_line_table): Likewise.
+       * symtab.c (symbol_cache_flush): Likewise.
+       (basic_lookup_transparent_type): Likewise.
+       (sort_search_symbols_remove_dups): Likewise.
+       * target.c (target_memory_map): Likewise.
+       (target_detach): Likewise.
+       (target_resume): Likewise.
+       (acquire_fileio_fd): Likewise.
+       (target_store_registers): Likewise.
+       * thread.c (print_thread_info_1): Likewise.
+       * tic6x-tdep.c (tic6x_analyze_prologue): Likewise.
+       * tilegx-linux-tdep.c (tilegx_linux_sigframe_init): Likewise.
+       * tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
+       (tilegx_analyze_prologue): Likewise.
+       (tilegx_stack_frame_destroyed_p): Likewise.
+       (tilegx_frame_cache): Likewise.
+       * tracefile.c (trace_save): Likewise.
+       * tracepoint.c (encode_actions_and_make_cleanup): Likewise.
+       (start_tracing): Likewise.
+       (print_one_static_tracepoint_marker): Likewise.
+       * tui/tui.c (tui_enable): Likewise.
+       * valops.c (value_struct_elt_bitpos): Likewise.
+       (find_overload_match): Likewise.
+       (find_oload_champ): Likewise.
+       * value.c (value_contents_copy_raw): Likewise.
+       * windows-tdep.c (windows_get_tlb_type): Likewise.
+       * x86-linux-nat.c (x86_linux_enable_btrace): Likewise.
+       * xcoffread.c (record_minimal_symbol): Likewise.
+       (scan_xcoff_symtab): Likewise.
+       * xtensa-tdep.c (execute_code): Likewise.
+       (xtensa_gdbarch_init): Likewise.
+       (_initialize_xtensa_tdep): Likewise.
+
+2016-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * spu-linux-nat.c (spu_bfd_iovec_pread): Add pointer cast for C++.
+       (spu_bfd_open): Likewise.
+
+2016-05-04  Yao Qi  <yao.qi@linaro.org>
+
+       PR gdb/19947
+       * corefile.c (read_memory): Rename it to ...
+       (read_memory_object): ... it.  Add parameter object.
+       (read_memory): Call read_memory_object.
+       (read_stack): Likewise.
+       (read_code): Likewise.
+
+2016-05-03  Yunlian Jiang <yunlian@google.com>
+           Doug Evans  <dje@google.com>
+
+       PR symtab/19914
+       * dwarf2read.c (open_and_init_dwp_file): Look at backlink if objfile
+       is separate debug file.
+
+2016-05-03  Don Breazeal <donb@codesourcery.com>
+
+       * serial.h (gdb_pipe): Fix argument names in comment.
+
+2016-05-03  Pedro Alves <palves@redhat.com>
+
+       PR python/20037
+       * python/python.c (_initialize_python) [IS_PY3K]: xstrdup/xfree
+       oldloc.
+
+2016-05-03  Pedro Alves <palves@redhat.com>
+
+       * python/python.c (_initialize_python) [IS_PY3K]: Remove dead
+       code.
+
+2016-05-03  Pedro Alves  <palves@redhat.com>
+
+       * configure.ac (PYTHON_LIBS): Sed away "-Xlinker -export-dynamic".
+       * configure: Regenerate.
+
+2016-05-03  Pedro Alves  <palves@redhat.com>
+
+       * configure.ac (checking for the dynamic export flag): Add
+       $PYTHON_CPPFLAGS to CPPFLAGS.
+       * configure: Regenerate.
+
+2016-05-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * symfile.c (find_pc_overlay): Add braces to avoid -Wparentheses
+       warning.
+       (find_pc_mapped_section): Likewise.
+       (list_overlays_command): Likewise.
+
+2016-05-02  Eli Zaretskii  <eliz@gnu.org>
+
+       * windows-nat.c (_initialize_check_for_gdb_ini): Fix off-by-one
+       error in allocation of space for "$HOME/.gdbinit" string.  This
+       caused GDB to abort on startup whenever a '~/gdb.ini' file was
+       actually found, because xsnprintf would hit an assertion
+       violation.
+
+2016-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * cli/cli-decode.c (help_cmd_list): Do not list commands that
+       are deprecated.
+
+2016-04-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * remote.c (remote_start_remote): Detect PACKET_vFile_setfs.support.
+
+2016-04-27  Martin Galvan  <martin.galvan@tallertechnologies.com>
+
+       * c-valprint.c (c_value_print): Always convert val back to reference
+       type if we converted it to a pointer type.
+
+2016-04-27  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * configure.ac: Enhance configure check for babeltrace to reject
+       non-C++-enabled versions.
+       * configure: Regenerate.
+
+2016-04-26  Sanimir Agovic  <sanimir.agovic@intel.com>
+           Keven Boell  <keven.boell@intel.com>
+           Bernhard Heckel  <bernhard.heckel@intel.com>
+
+       * f-valprint.c (f77_create_arrayprint_offset_tbl): Remove
+       function.
+       (F77_DIM_SIZE, F77_DIM_OFFSET): Remove macro.
+       (f77_print_array_1): Use value_subscript to subscript a
+       value array.
+       (f77_print_array): Remove call to f77_create_arrayprint_offset_tbl.
+       (f_val_print): Use value_field to construct a field value.
+
+2016-04-26  Bernhard Heckel  <bernhard.heckel@intel.com>
+
+       * valarith.c (value_address): Resolve dynamic types.
+
+2016-04-26  Bernhard Heckel  <bernhard.heckel@intel.com>
+           Keven Boell  <kevel.boell@intel.com>
+
+       * NEWS: Add new supported features for fortran.
+       * gdbtypes.c (remove_dyn_prop): New.
+       (resolve_dynamic_struct): Keep type length for fortran structs.
+       * gdbtypes.h: Forward declaration of new function.
+       * value.c (value_address): Return dynamic resolved location of a value.
+       (set_value_component_location): Adjust the value address
+       for single value prints.
+       (value_primitive_field): Support value types with a dynamic location.
+       (set_internalvar): Remove dynamic location property of
+       internal variables.
+
+2016-04-25  Pedro Alves  <palves@redhat.com>
+           Yao Qi  <yao.qi@linaro.org>
+
+       * mem-break.c (set_raw_breakpoint_at): Create a raw breakpoint
+       object.  Insert it if it is not inserted yet.  Increase the
+       refcount and link it into the proc's raw breakpoint list.
+
+2016-04-25  Yao Qi  <yao.qi@linaro.org>
+
+       * breakpoint.c (should_be_inserted): Return 0 if the location's
+       owner is not single step breakpoint or single step breakpoint's
+       thread isn't the thread which is stepping past a breakpoint.
+       * gdbarch.sh (software_single_step): Update comments.
+       * gdbarch.h: Regenerated.
+       * infrun.c (struct step_over_info) <thread>: New field.
+       (set_step_over_info): New argument 'thread'.  Callers updated.
+       (clear_step_over_info): Set field thread to -1.
+       (thread_is_stepping_over_breakpoint): New function.
+       * infrun.h (thread_is_stepping_over_breakpoint): Declaration.
+
+2016-04-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * ppc-linux-nat.c (ppc_linux_read_description): Use PPC_FEATURE_HAS_VSX
+       and PPC_FEATURE_HAS_ALTIVEC to check if such features are available.
+
+2016-04-22  Yao Qi  <yao.qi@linaro.org>
+
+       * valops.c (read_value_memory): New local variable 'stack'.
+       Set it to either TARGET_OBJECT_STACK_MEMORY or
+       TARGET_OBJECT_MEMORY.
+
+2016-04-22  Pedro Alves  <palves@redhat.com>
+
+       * ada-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * ada-lang.c (ada_language_defn): Adjust.
+       * ada-lang.h (ada_error): Rename to ...
+       (ada_yyerror): ... this.
+       * c-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * c-lang.c (c_language_defn, cplus_language_defn)
+       (asm_language_defn, minimal_language_defn): Adjust.
+       * c-lang.h (c_error): Rename to ...
+       (c_yyerror): ... this.
+       * d-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * d-lang.c (d_language_defn): Adjust.
+       * d-lang.h (d_error): Rename to ...
+       (d_yyerror): ... this.
+       * f-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * f-lang.c (f_language_defn): Adjust.
+       * f-lang.h (f_error): Rename to ...
+       (f_yyerror): ... this.
+       * go-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * go-lang.c (go_language_defn): Adjust.
+       * go-lang.h (go_error): Rename to ...
+       (go_yyerror): ... this.
+       * jv-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * jv-lang.c (java_language_defn): Adjust.
+       * jv-lang.h (java_error): Rename to ...
+       (java_yyerror): ... this.
+       * m2-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * m2-lang.c (m2_language_defn): Adjust.
+       * m2-lang.h (m2_error): Rename to ...
+       (m2_yyerror): ... this.
+       * objc-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * objc-lang.c (objc_language_defn): Adjust.
+       * opencl-lang.c (opencl_language_defn): Adjust.
+       * p-exp.y: Remove all yy symbol remappings.
+       (GDB_YY_REMAP_PREFIX): Define.
+       Include "yy-remap.h".
+       * p-lang.c (pascal_language_defn): Adjust.
+       * p-lang.h (pascal_error): Rename to ...
+       (pascal_yyerror): ... this.
+       * yy-remap.h: New file.
+
+2016-04-22  Pedro Alves  <palves@redhat.com>
+
+       * common/common-exceptions.h (GDB_XCPT_TRY): Remove mention of
+       the foreign frames issue.
+       [__cplusplus] (GDB_XCPT): Define as GDB_XCPT_TRY.
+
+2016-04-22  Pedro Alves  <palves@redhat.com>
+
+       * common/common-exceptions.c (enum catcher_state, struct catcher)
+       (current_catcher): Define in C++ mode too.
+       (exceptions_state_mc_catch): Call throw_exception_sjlj instead of
+       throw_exception.
+       (throw_exception_sjlj, throw_exception_cxx): New functions,
+       factored out from throw_exception.
+       (throw_exception): Reimplement.
+       * common/common-exceptions.h (exceptions_state_mc_init)
+       (exceptions_state_mc_action_iter)
+       (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
+       Declare in C++ mode too.
+       (TRY): Rename to ...
+       (TRY_SJLJ): ... this.
+       (CATCH): Rename to ...
+       (CATCH_SJLJ): ... this.
+       (END_CATCH): Rename to ...
+       (END_CATCH_SJLJ): ... this.
+       [GDB_XCPT == GDB_XCPT_SJMP] (TRY, CATCH, END_CATCH): Map to SJLJ
+       equivalents.
+       (throw_exception): Update comments.
+       (throw_exception_sjlj): Declare.
+       * event-top.c (gdb_rl_callback_read_char_wrapper): Extend intro
+       comment.  Wrap body in TRY_SJLJ/CATCH_SJLJ and rethrow any
+       intercepted exception.
+       (gdb_rl_callback_handler): New function.
+       (gdb_rl_callback_handler_install): Always install
+       gdb_rl_callback_handler as readline callback.
+
 2016-04-22  Pedro Alves  <palves@redhat.com>
 
        * event-top.c (rl_callback_read_char_wrapper): Rename to ...