X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=f4415854889a9fdb9953ea1db3650dcb0a71db1e;hb=d17f7b365cf3896b3129b9077d55b3154fc43131;hp=b99fedf61e47867710ca2758f119108091932579;hpb=fdd243b001585c5ca078342608332af77050c867;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b99fedf61e..f441585488 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,717 @@ +2017-05-02 Simon Marchi + + * solib-target.c (solib_target_relocate_section_addresses): + Remove num_section_bases, num_bases, segment_bases variables. + +2017-05-02 Simon Marchi + + * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove. + +2017-05-02 Simon Marchi + + * solib-target.c: Include + (struct lm_info_target) <~lm_info_target>: Remove. + : Change type to + std::vector. + (library_list_start_segment, library_list_start_section, + library_list_end_library, + solib_target_relocate_section_addresses): Adjust. + +2017-05-02 Simon Marchi + + * gdbarch.sh (software_single_step): Change return type to + std::vector. + * 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 + + * gdbarch.sh: Use semi-colon as field separator instead of colon. + * gdbarch.h: Re-generate. + +2017-05-01 Tim Wiederhake + + * 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 + + * 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 + + * 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 + + * 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 + + * python/py-record.c (recpy_ptid): Remove. + (recpy_record_getset): Remove recpy_ptid. + +2017-05-01 Tim Wiederhake + + * 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 + + * 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 + + * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to + the past maintainers section. + +2017-04-28 Yao Qi + + * infcmd.c (get_return_value): Use regcache ctor, and remove + cleanup. + +2017-04-28 Yao Qi + Pedro Alves + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * solib-svr4.h (struct lm_info_svr4): Initialize fields. + : 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 + + * solib-target.c (struct lm_info_target): Add destructor, + initialize fields. + : 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 + + * 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 + + * solib-frv.c (struct lm_info_frv): Fix indentation. + +2017-04-28 Simon Marchi + + * 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 + + * solib-aix.c (struct lm_info_aix): Initialize fields in-class. + : 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 + + * solist.h (struct lm_info): Remove. + (struct lm_info_base): New class. + (struct so_list) : 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) : 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) + + * 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 + + * mips-tdep.c (print_gp_register_row): Replace printf_filtered + with fprintf_filtered. + +2017-04-28 Yao Qi + + * 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 + + * mips-linux-nat.c (mips_linux_new_thread): Use ptid method + lwp instead of ptid_get_lwp. + +2017-04-28 Yao Qi + + * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from + lwp_info instead of getting from inferior_ptid. + +2017-04-27 Keith Seitz + + * 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 + + * python/py-inferior.c (inferior_to_inferior_object): Increment reference + count when creating the object. + +2017-04-27 Sangamesh Mallayya + Ulrich Weigand + + * 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 + + * 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 + + * 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 + + * xtensa-tdep.c (xtensa_pseudo_register_read): Use + regcache_raw_read_unsigned. + (xtensa_pseudo_register_write): Likewise. + +2017-04-26 Alan Hayward + + * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors. + (nds32_pseudo_register_write): Likewise. + +2017-04-25 Yao Qi + + * regcache.c (struct regcache) : Change its type + to bool. + (regcache_xmalloc_1): Update parameter type and callers update. + +2017-04-25 Yao Qi + + * 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 + + * 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 + + * 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 . + (Not, Or, Requires): New, moved from common/function-view.h. + +2017-04-25 Pedro Alves + + * 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 + + * 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 + + * 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 + + * common/enum-flags.h (enum_flags): Don't implement copy ctor and + assignment operator. + +2017-04-24 Yao Qi + + * doublest.c (convert_doublest_to_floatformat): Call + floatformat_totalsize_bytes. + +2017-04-22 Tom Tromey + + * 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 + + * 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 + + * tracepoint.c (tvariables_info_1) + (print_one_static_tracepoint_marker): Use ui_out_emit_tuple. + +2017-04-22 Tom Tromey + + * 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 + + * 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 + + * thread.c (print_thread_info_1): Remove dead code. + +2017-04-21 Jan Kratochvil + + * 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 + + * 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 + + * gdbthread.h (thread): Add missing closing parenthesis in + comment. + +2017-04-19 Pedro Alves + + * 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 + + * 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&)): 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 + + * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): + Re-sort in alphabetic order. + 2017-04-18 Pedro Alves * xml-support.c (obstack_xml_printf): Delete.