make_cleanup_restore_current_thread: Look up thread earlier
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index f033cedc6159a65fa25b47a3b8e708d77b077e94..7c48c3d311dafd0fe115846e91189de4d10255f1 100644 (file)
@@ -1,3 +1,904 @@
+2017-05-04  Pedro Alves  <palves@redhat.com>
+
+       * thread.c (make_cleanup_restore_current_thread): Move
+       find_thread_ptid call before the is_stopped call.  Assert that the
+       thread is found.  Replace is_stopped call by checking the thread's
+       state directly.  Remove unnecessary NULL-thread check.
+
+2017-05-04  Pedro Alves  <palves@redhat.com>
+
+       * corelow.c (thread_section_name): New class.
+       (get_core_register_section, get_core_siginfo): Use it.
+
+2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * corelow.c (sniff_core_bfd): Remove extra semicolon.
+       (get_core_register_section): Remove xfree of NULL pointer.
+
+2017-05-03  Alan Hayward  <alan.hayward@arm.com>
+
+       * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
+       * regcache.c (regcache::raw_supply_zeroed): New function.
+       * regcache.h (regcache::raw_supply_zeroed): New declaration.
+
+2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdbarch.sh: Remove commented out definition of
+       TARGET_CHAR_BIT.
+       * gdbarch.h: Re-generate.
+
+2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * configure: Regenerate.
+
+2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-target.c (solib_target_relocate_section_addresses):
+       Remove num_section_bases, num_bases, segment_bases variables.
+
+2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
+
+2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * solib-target.c: Include <vector>
+       (struct lm_info_target) <~lm_info_target>: Remove.
+       <segment_bases, section_bases>: Change type to
+       std::vector<CORE_ADDR>.
+       (library_list_start_segment, library_list_start_section,
+       library_list_end_library,
+       solib_target_relocate_section_addresses): Adjust.
+
+2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * gdbarch.sh (software_single_step): Change return type to
+       std::vector<CORE_ADDR>.
+       * gdbarch.c, gdbarch.h: Re-generate.
+       * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
+       Adjust.
+       (arm_deal_with_atomic_sequence_raw): Adjust.
+       (thumb_get_next_pcs_raw): Adjust.
+       (arm_get_next_pcs_raw): Adjust.
+       (arm_get_next_pcs): Adjust.
+       * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
+       * aarch64-tdep.c (aarch64_software_single_step): Adjust.
+       * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
+       (alpha_software_single_step): Adjust.
+       * alpha-tdep.h (alpha_software_single_step): Adjust.
+       * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
+       * arm-tdep.c (arm_software_single_step): Adjust.
+       (arm_breakpoint_kind_from_current_state): Adjust.
+       * arm-tdep.h (arm_software_single_step): Adjust.
+       * breakpoint.c (insert_single_step_breakpoint): Adjust.
+       * cris-tdep.c (cris_software_single_step): Adjust.
+       * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
+       (micromips_deal_with_atomic_sequence): Adjust.
+       (deal_with_atomic_sequence): Adjust.
+       (mips_software_single_step): Adjust.
+       * mips-tdep.h (mips_software_single_step): Adjust.
+       * moxie-tdep.c (moxie_software_single_step): Adjust.
+       * nios2-tdep.c (nios2_software_single_step): Adjust.
+       * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
+       * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
+       * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
+       * s390-linux-tdep.c (s390_software_single_step): Adjust.
+       * sparc-tdep.c (sparc_software_single_step): Adjust.
+       * spu-tdep.c (spu_software_single_step): Adjust.
+       * tic6x-tdep.c (tic6x_software_single_step): Adjust.
+
+2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * gdbarch.sh: Use semi-colon as field separator instead of colon.
+       * gdbarch.h: Re-generate.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
+       (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
+       * python/py-instruction.c, python/py-instruction.h: New file.
+       * python/py-record.c: Add py-instruction.h include.
+       (gdbpy_initialize_record): Make gdb.Instruction a super class of
+       gdb.RecordInstruction.
+       * python/python-internal.h: Add gdbpy_initialize_instruction
+       declaration.
+       * python/python.c (do_start_initialization): Add
+       gdbpy_initialize_instruction.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
+       Remove.
+       (btrace_func_from_recpy_func): New function.
+       (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
+       (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
+       btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
+       (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
+       recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
+       Also, use new helper functions.
+       (btpy_list_item): Use new helper functions.
+       (recpy_bt_function_call_history): Use new type name.
+       (btpy_call_getset): Remove.
+       (gdbpy_initialize_btrace): Remove code to initialize
+       gdb.BtraceFunctionCall.
+       * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
+       recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
+       recpy_bt_func_prev, recpy_bt_func_next): New export.
+       * python/py-record.c (recpy_func_type): New static object.
+       (recpy_func_new, recpy_func_level, recpy_func_symbol,
+       recpy_func_instructions, recpy_func_up, recpy_func_prev,
+       recpy_func_next): New function.
+       (recpy_element_hash, recpy_element_richcompare): Updated comment.
+       (recpy_func_getset): New static object.
+       (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
+       * python/py-record.h (recpy_func_type, recpy_func_new): New export.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
+       (btpy_object, btpy_insn_type, btpy_new): Remove.
+       (btpy_list_object): Use gdb.RecordInstruction type instead of
+       gdb.BtraceInstruction type.
+       (btrace_insn_from_recpy_insn): New function.
+       (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
+       btpy_new.
+       (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
+       (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
+       btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
+       btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
+       instead of btpy_object.
+       (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
+       btpy_insn_data, btpy_insn_decode): Rename to ...
+       (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
+       recpy_bt_insn_is_speculative, recpy_bt_insn_data,
+       recpy_bt_insn_decode): This.  Also, use new helper functions.
+       (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
+       recpy_insn_type.
+       (btpy_insn_getset): Remove.
+       (gdbpy_initialize_btrace): Remove code to initialize
+       gdb.BtraceInstruction.  Use recpy_element_object.
+       * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
+       recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
+       recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
+       * python/py-record.c (recpy_insn_type): New static object.
+       (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
+       recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
+       recpy_element_number, recpy_element_hash, recpy_element_richcompare):
+       New function.
+       (recpy_insn_getset): New static object.
+       (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
+       * python/py-record.h (recpy_element_object): New typedef.
+       (recpy_insn_type, recpy_insn_new): New export.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * py-record-btrace.c (btpy_insn_new): Removed.
+       (btpy_insn_or_gap_new): New function.
+       (btpy_insn_error): Removed.
+       (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
+       btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
+       (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
+       btpy_insn_or_gap_new instead of btpy_insn_new.
+       (btpy_insn_getset): Remove btpy_insn_error.
+       * py-record.c (recpy_gap_type): New static object.
+       (recpy_gap_object): New typedef.
+       (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
+       recpy_gap_reason_string): New function.
+       (recpy_gap_getset): New static object.
+       (gdbpy_initialize_record): Initialize gdb.RecordGap type.
+       * py-record.h (recpy_gap_new): New export.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * python/py-record.c (recpy_ptid): Remove.
+       (recpy_record_getset): Remove recpy_ptid.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * btrace.c (btrace_fetch): Set inferior_ptid.
+       * python/py-record-btrace.c: Add "py-record.h" include.
+       (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
+       recpy_bt_end, recpy_bt_instruction_history,
+       recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
+       in gdb.Record object instead of current ptid.
+       * python/py-record.c: Include new "py-record.h" file.
+       (recpy_record_object): Moved to py-record.h.
+       * python/py-record.h: New file.
+
+2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
+       BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
+       indentation.
+
+2017-05-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
+       the past maintainers section.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * infcmd.c (get_return_value): Use regcache ctor, and remove
+       cleanup.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+           Pedro Alves  <palves@redhat.com>
+
+       * regcache.c (regcache::regcache): New tag dispatch ctor.
+       (do_cooked_read): Moved above.
+       (regcache_dup): Use the tag dispatch ctor..
+       * regcache.h (regcache): Declare ctor, delete copy ctor and
+       assignment operator, remove friend regcache_dup.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * regcache.c (regcache_dup): Assert !src->m_readonly_p and
+       call method save instead of regcache_cpy.
+       * regcache.h (struct regcache): Make regcache_dup a friend.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * regcache.c (struct regcache): Move to regcache.h
+       (regcache::arch): New method.
+       (regcache_get_ptid): Update.
+       (get_regcache_arch): Call arch method.
+       (get_regcache_aspace): Call method aspace.
+       (register_buffer): Change it to method.
+       (regcache_save): Change it to regcache::save.
+       (regcache_restore): Likewise.
+       (regcache_cpy_no_passthrough): Remove the declaration.
+       (regcache_cpy): Call methods restore and cpy_no_passthrough.
+       (regcache_cpy_no_passthrough): Change it to method
+       cpy_no_passthrough.
+       (regcache_register_status): Change it to method
+       get_register_status.
+       (regcache_invalidate): Change it to method invalidate.
+       (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
+       (regcache_raw_update): Change it to method raw_update.
+       (regcache_raw_read): Likewise.
+       (regcache_raw_read_signed): Likewise.
+       (regcache_raw_read_unsigned): Likewise.
+       (regcache_raw_write_signed): Likewise.
+       (regcache_raw_write_unsigned): Likewise.
+       (regcache_cooked_read): Likewise.
+       (regcache_cooked_read_value): Likewise.
+       (regcache_cooked_read_signed): Likewise.
+       (regcache_cooked_read_unsigned): Likewise.
+       (regcache_cooked_write_signed): Likewise.
+       (regcache_cooked_write_unsigned): Likewise.
+       (regcache_raw_set_cached_value): Likewise.
+       (regcache_raw_write): Likewise.
+       (regcache_cooked_write): Likewise.
+       (regcache_xfer_part): Likewise.
+       (regcache_raw_read_part): Likewise.
+       (regcache_raw_write_part): Likewise.
+       (regcache_cooked_read_part): Likewise.
+       (regcache_cooked_write_part): Likewise.
+       (regcache_raw_supply): Likewise.
+       (regcache_raw_collect): Likewise.
+       (regcache_transfer_regset): Likewise.
+       (regcache_supply_regset): Likewise.
+       (regcache_collect_regset): Likewise.
+       (regcache_debug_print_register): Likewise.
+       (enum regcache_dump_what): Move it to regcache.h.
+       (regcache_dump): Change it to method dump.
+       * regcache.h (enum regcache_dump_what): New.
+       (class regcache): New.
+       * target.c (target_fetch_registers): Call method
+       debug_print_register.
+       (target_store_registers): Likewise.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * windows-nat.c (struct lm_info_windows): Initialize field.
+       (windows_make_so): Allocate lm_info_windows with new.
+       (windows_free_so): Free lm_info_windows with delete.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-darwin.c (struct lm_info_darwin): Initialize field.
+       (darwin_current_sos): Allocate lm_info_darwin with new, remove
+       cleanup.
+       (darwin_free_so): Free lm_info_darwin with delete.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-svr4.h (struct lm_info_svr4): Initialize fields.
+       <l_addr_p>: Change type to bool.
+       * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
+       (svr4_free_so): Free lm_info_svr4 with delete.
+       (svr4_copy_library_list): Replace memcpy with call to copy
+       constructor.
+       (library_list_start_library, svr4_default_sos): Allocate
+       lm_info_svr4 with new.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-target.c (struct lm_info_target): Add destructor,
+       initialize fields.
+       <name>: Change type to std::string.
+       (library_list_start_library): Allocate lm_info_target with new.
+       (solib_target_free_library_list): Free lm_info_target with
+       delete.
+       (solib_target_current_sos): Adapt to std::string.
+       (solib_target_free_so): Free lm_info_target with delete.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-frv.c (struct lm_info_frv): Add destructor, initialize
+       fields.
+       (frv_current_sos): Allocate lm_info_frv with new.
+       (frv_relocate_main_executable): Free lm_info_frv with delete,
+       allocate with new.
+       (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-frv.c (struct lm_info_frv): Fix indentation.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
+       map field.
+       (dsbt_current_sos): Allocate lm_info_dsbt with new.
+       (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
+       and allocate with new.
+       (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
+       <filename, member_name>: Change type to std::string.
+       (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
+       (library_list_start_library): Allocate lm_info_aix with new.
+       (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
+       (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
+       with copy constructor.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solist.h (struct lm_info): Remove.
+       (struct lm_info_base): New class.
+       (struct so_list) <lm_info>: Change type to lm_info_base *.
+       * nto-tdep.c (struct lm_info): Remove.
+       (lm_addr): Adjust.
+       * solib-aix.c (struct lm_info): Rename to ...
+       (struct lm_info_aix): ... this.  Extend lm_info_base.
+       (lm_info_p): Rename to ...
+       (lm_info_aix_p): ... this, and adjust.
+       (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
+       solib_aix_parse_libraries, library_list_start_library,
+       solib_aix_free_library_list, solib_aix_parse_libraries,
+       solib_aix_get_library_list,
+       solib_aix_relocate_section_addresses, solib_aix_free_so,
+       solib_aix_get_section_offsets,
+       solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
+       Adjust.
+       (struct solib_aix_inferior_data) <library_list>: Adjust.
+       * solib-darwin.c (struct lm_info): Rename to ...
+       (struct lm_info_darwin): ... this.  Extend lm_info_base.
+       (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
+       * solib-dsbt.c (struct lm_info): Rename to ...
+       (struct lm_info_dsbt): ... this.  Extend lm_info_base.
+       (struct dsbt_info) <main_executable_lm_info): Adjust.
+       (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
+       dsbt_relocate_section_addresses): Adjust.
+       * solib-frv.c (struct lm_info): Rename to ...
+       (struct lm_info_frv): ... this.  Extend lm_info_base.
+       (main_executable_lm_info): Adjust.
+       (frv_current_sos, frv_relocate_main_executable, frv_free_so,
+       frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
+       find_canonical_descriptor_in_load_object,
+       frv_fdpic_find_canonical_descriptor): Adjust.
+       * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
+       to lm_info_svr4.
+       (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
+       svr4_clear_so, svr4_copy_library_list,
+       library_list_start_library, svr4_default_sos, svr4_read_so_list,
+       svr4_current_sos, svr4_fetch_objfile_link_map,
+       solist_update_incremental): Adjust.
+       * solib-svr4.h (struct lm_info_svr4): Move here from
+       solib-svr4.c.
+       * solib-target.c (struct lm_info): Rename to ...
+       (struct lm_info_target): ... this.  Extend lm_info_base.
+       (lm_info_p): Rename to ...
+       (lm_info_target_p): ... this.
+       (solib_target_parse_libraries, library_list_start_segment,
+       library_list_start_section, library_list_start_library,
+       library_list_end_library, solib_target_free_library_list,
+       solib_target_current_sos, solib_target_free_so,
+       solib_target_relocate_section_addresses): Adjust.
+       * windows-nat.c (struct lm_info): Rename to ...
+       (struct lm_info_windows): ... this.  Extend lm_info_base.
+       (windows_make_so, handle_load_dll, handle_unload_dll,
+       windows_xfer_shared_libraries): Adjust.
+
+2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * solib-darwin.c (struct darwin_so_list): Remove.
+       (darwin_current_sos): Allocate an so_list object instead of a
+       darwin_so_list, separately allocate an lm_info object.
+       (darwin_free_so): Free lm_info.
+
+2017-04-28  John Baldwin  <jhb@FreeBSD.org>
+
+       * mips-tdep.c (print_gp_register_row): Replace printf_filtered
+       with fprintf_filtered.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * regcache.c (regcache::regcache): New function.
+       (regcache::~regcache): New function.
+       (regcache_xmalloc_1): Remove.
+       (regcache_xmalloc): Call new regcache.
+       (regcache_xfree): Call delete regcache.
+       (get_thread_arch_aspace_regcache): Call new regcache.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
+       lwp instead of ptid_get_lwp.
+
+2017-04-28  Yao Qi  <yao.qi@linaro.org>
+
+       * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
+       lwp_info instead of getting from inferior_ptid.
+
+2017-04-27  Keith Seitz  <keiths@redhat.com>
+
+       * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
+       DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
+       (CV_CONVERSION_BADNESS): Define.
+       (rank_one_type): Remove overly restrictive rvalue reference
+       rank checks.
+       Add cv-qualifier checks and subranks for type equality.
+       * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
+       REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
+       CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
+
+2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * python/py-inferior.c (inferior_to_inferior_object): Increment reference
+       count when creating the object.
+
+2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
+       entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
+       is used in AIX.
+       (read_xcoff_symtab): Handle C_WEAKEXT storage class.
+       (process_xcoff_symbol): Likewise.
+       (scan_xcoff_symtab): Likewise.
+
+2017-04-26  Alan Hayward  <alan.hayward@arm.com>
+
+       * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
+       (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
+       (ia64_access_reg): Use get_frame_register_unsigned.
+       (ia64_access_rse_reg): Likewise.
+       (ia64_libunwind_frame_prev_register): Likewise.
+
+2017-04-26  Jiong Wang  <jiong.wang@arm.com>
+
+       * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
+       * gdbarch.c: Regenerated.
+       * gdbarch.h: Regenerated.
+       * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
+       visibility external.
+       (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
+       between DW_CFA_lo_user and DW_CFA_high_user inclusive.
+       (enum cfa_how_kind): Move to ...
+       (struct dwarf2_frame_state_reg_info): Likewise.
+       (struct dwarf2_frame_state): Likewise.
+       * dwarf2-frame.h: ... here.
+       (dwarf2_frame_state_alloc_regs): New declaration.
+       * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
+       (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
+
+2017-04-26  Alan Hayward  <alan.hayward@arm.com>
+
+       * xtensa-tdep.c (xtensa_pseudo_register_read): Use
+       regcache_raw_read_unsigned.
+       (xtensa_pseudo_register_write): Likewise.
+
+2017-04-26  Alan Hayward  <alan.hayward@arm.com>
+
+       * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
+       (nds32_pseudo_register_write): Likewise.
+
+2017-04-25  Yao Qi  <yao.qi@linaro.org>
+
+       * regcache.c (struct regcache) <readonly_p>: Change its type
+       to bool.
+       (regcache_xmalloc_1): Update parameter type and callers update.
+
+2017-04-25  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
+       set_gdbarch_wchar_bit.
+       * arm-tdep.c (arm_gdbarch_init): Likewise.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
+       (BothAreRelocatable, memcopy, memmove): Don't define.
+       * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
+       macros.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * common/common-defs.h: Include "common/poison.h".
+       * common/function-view.h: (Not, Or, Requires): Move to traits.h
+       and adjust.
+       * common/poison.h: New file.
+       * common/traits.h: Include <type_traits>.
+       (Not, Or, Requires): New, moved from common/function-view.h.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * breakpoint.h (struct breakpoint): In-class initialize all
+       fields.  Make boolean fields "bool".
+       * breakpoint.c (init_raw_breakpoint_without_location): Remove
+       memset call and initializations no longer necessary.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * btrace.c (pt_btrace_insn_flags): Change parameter type to
+       reference.
+       (pt_btrace_insn): New function.
+       (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
+       "base" field and inherit from "bp_location" instead.  Add
+       non-default ctor.
+       (allocate_location_exception): Use new non-default ctor.
+       * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
+       (init_bp_location): Convert to ...
+       (bp_location::bp_location): ... this new ctor, and remove memset
+       call.
+       (base_breakpoint_allocate_location): Use the new non-default ctor.
+       * breakpoint.h (bp_location): Now a class.  Declare default and
+       non-default ctors.  In-class initialize all members.
+       (init_bp_location): Remove declaration.
+
+2017-04-25  Pedro Alves  <palves@redhat.com>
+
+       * common/enum-flags.h (enum_flags): Don't implement copy ctor and
+       assignment operator.
+
+2017-04-24  Yao Qi  <yao.qi@linaro.org>
+
+       * doublest.c (convert_doublest_to_floatformat): Call
+       floatformat_totalsize_bytes.
+
+2017-04-22  Tom Tromey  <tom@tromey.com>
+
+       * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
+       ui_out_emit_list.
+       * stack.c (print_frame): Use ui_out_emit_list.
+       * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
+       ui_out_emit_list.
+       * mi/mi-main.c (print_one_inferior)
+       (mi_cmd_data_list_register_names)
+       (mi_cmd_data_list_register_values, mi_cmd_list_features)
+       (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
+       ui_out_emit_list.
+       * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
+       (mi_output_solib_attribs): Use ui_out_emit_list,
+       ui_out_emit_tuple.
+       * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
+       * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
+       (mi_cmd_stack_list_args, list_args_or_locals): Use
+       ui_out_emit_list.
+       * disasm.c (do_assembly_only): Use ui_out_emit_list.
+       * breakpoint.c (print_solib_event, output_thread_groups): Use
+       ui_out_emit_list.
+
+2017-04-22  Tom Tromey  <tom@tromey.com>
+
+       * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
+       * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
+       * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
+
+2017-04-22  Tom Tromey  <tom@tromey.com>
+
+       * tracepoint.c (tvariables_info_1)
+       (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
+
+2017-04-22  Tom Tromey  <tom@tromey.com>
+
+       * stack.c (print_frame_arg): Use ui_out_emit_tuple,
+       annotate_arg_emitter.
+       * breakpoint.c (print_mention_watchpoint)
+       (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
+       * annotate.h (struct annotate_arg_emitter): New.
+
+2017-04-22  Tom Tromey  <tom@tromey.com>
+
+       * record-btrace.c (record_btrace_insn_history)
+       (record_btrace_insn_history_range, record_btrace_call_history)
+       (record_btrace_call_history_range): Use ui_out_emit_tuple.
+       * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
+       ui_out_emit_tuple.
+       * stack.c (print_frame_info): Use ui_out_emit_tuple.
+       * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
+       * skip.c (skip_info): Use ui_out_emit_tuple.
+       * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
+       * progspace.c (print_program_space): Use ui_out_emit_tuple.
+       * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
+       * osdata.c (info_osdata): Use ui_out_emit_tuple.
+       * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
+       ui_out_emit_tuple.
+       * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
+       (output_register, mi_cmd_data_read_memory)
+       (mi_cmd_data_read_memory_bytes, mi_load_progress)
+       (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
+       * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
+       Use ui_out_emit_tuple.
+       * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
+       ui_out_emit_tuple.
+       * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
+       (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
+       * linux-thread-db.c (info_auto_load_libthread_db): Use
+       ui_out_emit_tuple.
+       * inferior.c (print_inferior): Use ui_out_emit_tuple.
+       * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
+       * disasm.c (do_mixed_source_and_assembly_deprecated)
+       (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
+       * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
+       * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
+       * breakpoint.c (print_one_breakpoint_location)
+       (print_one_breakpoint): Use ui_out_emit_tuple.
+       * auto-load.c (print_script, info_auto_load_cmd): Use
+       ui_out_emit_tuple.
+       * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
+
+2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * thread.c (print_thread_info_1): Remove dead code.
+
+2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
+       GDB_SELF_TEST.
+       * arm-tdep.c (selftests::arm_record_test): Likewise.
+
+2017-04-21  Yao Qi  <yao.qi@linaro.org>
+
+       * regcache.c (regcache_restore): Remove argument 2.  Replace
+       argument 3 with regcache.  Get register status from
+       src->register_status and get register contents from
+       register_buffer (src, regnum).
+       (regcache_cpy): Update.
+
+2017-04-19  Pedro Alves  <palves@redhat.com>
+
+       * gdbthread.h (thread): Add missing closing parenthesis in
+       comment.
+
+2017-04-19  Pedro Alves  <palves@redhat.com>
+
+       * common/refcounted-object.h: New file.
+       * gdbthread.h: Include "common/refcounted-object.h".
+       (thread_info): Inherit from refcounted_object and add comments.
+       (thread_info::incref, thread_info::decref)
+       (thread_info::m_refcount): Delete.
+       (thread_info::deletable): Use the refcounted_object::refcount()
+       method.
+       * inferior.c (current_inferior_): Add comment.
+       (set_current_inferior): Increment/decrement refcounts.
+       (prune_inferiors, remove_inferior_command): Skip inferiors marked
+       not-deletable instead of comparing with the current inferior.
+       (initialize_inferiors): Increment the initial inferior's refcount.
+       * inferior.h (struct inferior): Forward declare.
+       Include "common/refcounted-object.h".
+       (current_inferior, set_current_inferior): Move declaration to
+       before struct inferior's definition, and fix comment.
+       (inferior): Inherit from refcounted_object.  Add comments.
+       * thread.c (switch_to_thread_no_regs): Reference the thread's
+       inferior pointer directly instead of doing a ptid lookup.
+       (switch_to_no_thread): New function.
+       (switch_to_thread(thread_info *)): New function, factored out
+       from ...
+       (switch_to_thread(ptid_t)): ... this.
+       (restore_current_thread): Delete.
+       (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
+       fields, and add 'inf' field.
+       (do_restore_current_thread_cleanup): Check whether old->inf is
+       alive instead of looking up an inferior by ptid.  Use
+       switch_to_thread and switch_to_no_thread.
+       (restore_current_thread_cleanup_dtor): Use old->inf directly
+       instead of lookup up an inferior by id.  Decref the inferior.
+       Don't restore 'removable'.
+       (make_cleanup_restore_current_thread): Same the inferior pointer
+       in old, instead of the inferior number.  Incref the inferior.
+       Don't save/clear 'removable'.
+
+2017-04-19  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+       unittests/scoped_restore-selftests.c.
+       (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
+       * common/scoped_restore.h (scoped_restore_base): Make "class".
+       (scoped_restore_base::release): New public method.
+       (scoped_restore_base::scoped_restore_base): New protected ctor.
+       (scoped_restore_base::m_saved_var): New protected field.
+       (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
+       scoped_restore_base base class instead of m_saved_var directly.
+       (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
+       (scoped_restore_tmpl::scoped_restore_tmpl(const
+       scoped_restore_tmpl<T>&)): Likewise.
+       (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
+       method.
+       (scoped_restore_tmpl::saved_var): New method.
+       (scoped_restore_tmpl::m_saved_var): Delete.
+       * inferior.h (inferior::detaching): Now a bool.
+       * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
+       cleanup.
+       * unittests/scoped_restore-selftests.c: New file.
+
+2017-04-19  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
+       Re-sort in alphabetic order.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * xml-support.c (obstack_xml_printf): Delete.
+       * xml-support.h (obstack_xml_printf): Delete.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
+       vdebug, verror, body_text, start_element, end_element, name,
+       user_data, set_is_xinclude, set_error, expat_parser>: New methods.
+       <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
+       is_xinclude>: Make private and add m_ prefix.
+       (gdb_xml_parser::body_text): New method, based on ...
+       (gdb_xml_body_text): ... this.  Adjust.
+       (gdb_xml_parser::vdebug): New method, based on ...
+       (gdb_xml_debug): ... this.  Adjust.
+       (gdb_xml_parser::verror): New method, based on ...
+       (gdb_xml_error): ... this.  Adjust.
+       (gdb_xml_parser::start_element): New method, based on ...
+       (gdb_xml_start_element): ... this.  Adjust.
+       (gdb_xml_start_element_wrapper): Defer to
+       gdb_xml_parser::start_element and gdb_xml_parser::set_error.
+       (gdb_xml_parser::end_element): New method, based on ...
+       (gdb_xml_end_element_wrapper): ... this.  Adjust.
+       (gdb_xml_parser::~gdb_xml_parser): Adjust.
+       (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
+       (gdb_xml_parser::use_dtd): New method, based on ...
+       (gdb_xml_use_dtd): ... this.  Adjust.
+       (gdb_xml_parser::parse): New method, based on ...
+       (gdb_xml_parse): ... this.  Adjust.
+       (gdb_xml_parse_quick): Adjust to call the parser's parse method.
+       (xinclude_start_include): Adjust to call the parser's name method.
+       (xml_xinclude_default, xml_xinclude_start_doctype)
+       (xml_xinclude_end_doctype): Adjust to call the parser's user_data
+       method.
+       (xml_process_xincludes): Adjust to call parser methods.
+       * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
+       declarations.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
+       gdb::optional<std::string>.
+       * xml-support.c: Include <string>.
+       (scope_level::scope_level(scope_level &&))
+       (scope_level::~scope_level): Delete.
+       (scope_level::body): Now a std::string.
+       (gdb_xml_body_text, gdb_xml_end_element): Adjust.
+       (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
+       parameter.
+       (xinclude_parsing_data::~xinclude_parsing_data): Delete.
+       (xinclude_parsing_data::output): Now a std::string reference.
+       (xinclude_start_include): Adjust.
+       (xml_xinclude_default): Adjust.
+       (xml_process_xincludes): Add 'output' parameter, and return bool.
+       * xml-support.h (xml_process_xincludes): Add 'output' parameter,
+       and return bool.
+       * xml-tdesc.c: Include <unordered_map> and <string>.
+       (tdesc_xml_cache): Delete.
+       (tdesc_xml_cache_s): Delete.
+       (xml_cache): Now an std::unordered_map.
+       (tdesc_parse_xml): Adjust to use std::string and unordered_map.
+       (target_fetch_description_xml): Change return type to
+       gdb::optional<std::string>, and adjust.
+       * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
+       (target_fetch_description_xml): Change return type to
+       gdb::optional<std::string>.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+       unittests/optional-selftests.c.
+       (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
+       * unittests/optional-selftests.c: New file.
+       * unittests/optional/assignment/1.cc: New file.
+       * unittests/optional/assignment/2.cc: New file.
+       * unittests/optional/assignment/3.cc: New file.
+       * unittests/optional/assignment/4.cc: New file.
+       * unittests/optional/assignment/5.cc: New file.
+       * unittests/optional/assignment/6.cc: New file.
+       * unittests/optional/assignment/7.cc: New file.
+       * unittests/optional/cons/copy.cc: New file.
+       * unittests/optional/cons/default.cc: New file.
+       * unittests/optional/cons/move.cc: New file.
+       * unittests/optional/cons/value.cc: New file.
+       * unittests/optional/in_place.cc: New file.
+       * unittests/optional/observers/1.cc: New file.
+       * unittests/optional/observers/2.cc: New file.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * common/gdb_optional.h: Include common/traits.h.
+       (in_place_t): New type.
+       (in_place): New constexpr variable.
+       (optional::optional): Remove member initialization of
+       m_instantiated.
+       (optional::optional(in_place_t...)): New constructor.
+       (optional::~optional): Use reset.
+       (optional::optional(const optional&)): New.
+       (optional::optional(const optional&&)): New.
+       (optional::optional(T &)): New.
+       (optional::optional(T &&)): New.
+       (operator::operator=(const optional &)): New.
+       (operator::operator=(optional &&)): New.
+       (operator::operator= (const T &))
+       (operator::operator= (T &&))
+       (operator::emplace (Args &&... args)): Return a T&.  Use reset.
+       (operator::reset): New.
+       (operator::m_instantiated):: Add in-class initializer.
+       * common/traits.h: Include <type_traits>.
+       (struct And): New types.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * xml-support.c: Include <vector>.
+       (scope_level::scope_level(const gdb_xml_element *))
+       (scope_level::scope_level(scope_level&&)): New.
+       (scope_level::~scope_level): New.
+       (scope_level_s): Delete.
+       (gdb_xml_parser::scopes): Now a std::vector.
+       (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
+       Use std::vector.
+       (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
+       scope cleanup code.
+       (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
+       of the scopes member.  Use std::vector::emplace_back.
+
+2017-04-18  Pedro Alves  <palves@redhat.com>
+
+       * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
+       a bool.
+       (gdb_xml_end_element): Change type of first parameter.
+       (gdb_xml_cleanup): Rename to ...
+       (gdb_xml_parser::~gdb_xml_parser): ... this.
+       (gdb_xml_create_parser_and_cleanup): Delete with ...
+       (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
+       to this new ctor.
+       (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
+       using gdb_xml_create_parser_and_cleanup.
+       (xinclude_parsing_data): Add ctor/dtor.
+       (xml_xinclude_cleanup): Delete.
+       (xml_process_xincludes): Create a local xinclude_parsing_data
+       instead of heap-allocating one.  Create a local gdb_xml_parser
+       instead of heap-allocating one with
+       gdb_xml_create_parser_and_cleanup.
+
+2017-04-18  John Baldwin  <jhb@FreeBSD.org>
+
+       PR threads/20743
+       * fbsd-nat.c (resume_one_thread_cb): Remove.
+       (resume_all_threads_cb): Remove.
+       (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
+       iterate_over_threads.
+
 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
 
        * NEWS: Create a new section for the next release branch.
This page took 0.052092 seconds and 4 git commands to generate.