+2020-12-11 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * displaced-stepping.h (displaced_debug_printf): Use
+ debug_prefixed_printf_cond.
+ * dwarf2/read.c (dwarf_read_debug_printf): Likewise.
+ (dwarf_read_debug_printf_v): Likewise.
+ * infrun.h (infrun_debug_printf): Likewise.
+ * linux-nat.c (linux_nat_debug_printf): Likewise.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * p-exp.y (intvar): Remove global.
+ (DOLLAR_VARIABLE): Change type.
+ (start): Update.
+ (exp): Call write_dollar_variable here...
+ (yylex): ... not here.
+ * m2-exp.y (DOLLAR_VARIABLE): Change type.
+ (variable): Call write_dollar_variable here...
+ (yylex): ... not here.
+ * f-exp.y (DOLLAR_VARIABLE): Change type.
+ (exp): Call write_dollar_variable here...
+ (yylex): ... not here.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (varobj_create): Update.
+ (install_variable): Return void.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (instantiate_pretty_printer): Use gdbpy_ref.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (varobj_clear_saved_item): Remove.
+ (update_dynamic_varobj_children): Update.
+ (varobj::~varobj): Don't call varobj_clear_saved_item.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (install_dynamic_child, varobj_clear_saved_item)
+ (update_dynamic_varobj_children, create_child)
+ (create_child_with_value): Update.
+ * varobj-iter.h (struct varobj_item) <value>: Now a
+ value_ref_ptr.
+ * python/py-varobj.c (py_varobj_iter::next): Call release_value.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (struct varobj_dynamic) <child_iter>: Now unique_ptr.
+ (varobj_get_iterator): Return unique_ptr.
+ (update_dynamic_varobj_children, install_visualizer)
+ (varobj::~varobj): Update.
+ * python/python-internal.h (py_varobj_get_iterator): Return
+ unique_ptr.
+ * python/py-varobj.c (py_varobj_get_iterator): Return unique_ptr.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (struct varobj_dynamic) <saved_item>: Now unique_ptr.
+ (varobj_clear_saved_item, update_dynamic_varobj_children):
+ Update.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (update_dynamic_varobj_children): Update.
+ * varobj-iter.h (struct varobj_iter) <next>: Change return type.
+ * python/py-varobj.c (struct py_varobj_iter) <next>: Change return
+ type.
+ (py_varobj_iter::next): Likewise.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (update_dynamic_varobj_children, install_visualizer)
+ (varobj::~varobj): Update.
+ * varobj-iter.h (struct varobj_iter): Change to interface class.
+ (struct varobj_iter_ops): Remove.
+ (varobj_iter_next, varobj_iter_delete): Remove.
+ * python/py-varobj.c (struct py_varobj_iter): Derive from
+ varobj_iter. Add constructor, destructor. Rename members.
+ (py_varobj_iter::~py_varobj_iter): Rename from
+ py_varobj_iter_dtor.
+ (py_varobj_iter::next): Rename from py_varobj_iter_next.
+ (py_varobj_iter_ops): Remove.
+ (py_varobj_iter): Rename from py_varobj_iter_ctor.
+ (py_varobj_iter_new): Remove.
+ (py_varobj_get_iterator): Update.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.h (all_root_varobjs): Take a function_view.
+ * varobj.c (all_root_varobjs): Take a function_view.
+ (varobj_invalidate_iter): Remove unused parameter.
+ (varobj_invalidate): Update.
+ * mi/mi-cmd-var.c (struct mi_cmd_var_update): Remove.
+ (mi_cmd_var_update_iter): Change parameters.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (struct varobj_root) <next>: Remove.
+ (struct vlist): Remove.
+ (rootlist): Now a std::list.
+ (install_variable, uninstall_variable, all_root_varobjs): Update.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (VAROBJ_TABLE_SIZE): Remove.
+ (varobj_table): Now htab_t.
+ (varobj_get_handle, install_variable, uninstall_variable):
+ Update.
+ (hash_varobj, eq_varobj_and_string): New functions.
+ (hash_varobj): Update.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * inline-frame.c (stopped_by_user_bp_inline_frame): Update.
+ * ada-lang.c (check_status_exception): Update.
+ * breakpoint.c (free_bp_location): Remove.
+ (decref_bp_location): Use bp_location_ref_policy.
+ (bpstats::bpstats): Don't call incref_bp_location.
+ (bpstats::~bpstats): Remove.
+ (bpstats::bpstats): Update.
+ (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions)
+ (bp_location::bp_location): Update.
+ (incref_bp_location): Remove.
+ (bkpt_print_it): Update.
+ * breakpoint.h (class bp_location): Derive from
+ refcounted_object.
+ (struct bpstats): Remove destructor.
+ <bp_location_at>: Now a bp_location_ref_ptr.
+ <refc>: Remove.
+ (bp_location_ref_ptr): New typedef.
+ (struct bp_location_ref_policy): New.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * thread.c (class scoped_inc_dec_ref): Remove.
+ (tp_array_compar_ascending, tp_array_compar_descending): Change
+ parameter types.
+ (thread_apply_all_command): Use thread_info_ref.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * infrun.c (struct stop_context) <thread>: Now a thread_info_ref.
+ (stop_context::stop_context): Update.
+ (stop_context::~stop_context): Remove.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * inferior.c (current_inferior_): Change type.
+ (current_inferior, set_current_inferior, initialize_inferiors):
+ Update.
+
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * gdbthread.h (class enable_thread_stack_temporaries) <m_thr>:
+ Change type.
+
+2020-12-11 Tom Tromey <tromey@adacore.com>
+
+ * ada-tasks.c (struct ada_tasks_pspace_data) <cpu_id_offset>: New
+ field.
+ (ada_get_tcb_types_info): Look for __gnat_gdb_cpu_first_id.
+ (read_atcb): Use cpu_id_offset.
+
+2020-12-10 Kevin Buettner <kevinb@redhat.com>
+
+ * ada-lang.c (ada_fold_name): Fix off-by-one error.
+
+2020-12-10 Luis Machado <luis.machado@linaro.org>
+
+ * breakpoint.c (should_be_inserted): Don't output newline.
+
+2020-12-10 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-linux-tdep.c (aarch64_linux_restore_vreg) New function.
+ (aarch64_linux_sigframe_init): Call aarch64_linux_restore_vreg.
+ * aarch64-tdep.h (V_REGISTER_SIZE): Move to ...
+ * arch/aarch64.h: ... here.
+ * nat/aarch64-sve-linux-ptrace.c: Include endian.h.
+ (aarch64_maybe_swab128): New function.
+ (aarch64_sve_regs_copy_to_reg_buf)
+ (aarch64_sve_regs_copy_from_reg_buf): Adjust FPSIMD entries.
+ * trad-frame.c (trad_frame_reset_saved_regs): Initialize
+ the data field.
+ (TF_REG_VALUE_BYTES): New enum value.
+ (trad_frame_value_bytes_p): New function.
+ (trad_frame_set_value_bytes): New function.
+ (trad_frame_set_reg_value_bytes): New function.
+ (trad_frame_get_prev_register): Handle register values saved as bytes.
+ * trad-frame.h (trad_frame_set_reg_value_bytes): New prototype.
+ (struct trad_frame_saved_reg) <data>: New field.
+ (trad_frame_set_value_bytes): New prototype.
+ (trad_frame_value_bytes_p): New prototype.
+
+2020-12-07 Mihails Strasuns <mihails.strasuns@intel.com>
+
+ * jit.c (mem_bfd*, bfd_open_from_target_memory): Removed.
+ * gdb_bfd.h (gdb_bfd_open_from_target_memory): New function.
+ * gdb_bfd.c (mem_bfd*, gdb_bfd_open_from_target_memory): New functions.
+
+2020-12-09 Tom Tromey <tromey@adacore.com>
+
+ * ada-lang.c (ada_lookup_encoded_symbol): Use add_angle_brackets.
+
+2020-12-09 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/read.c (get_dwarf2_rational_constant): Change "numerator"
+ and "denominator" to gdb_mpz. Handle block forms.
+ (get_dwarf2_unsigned_rational_constant): Change "numerator" and
+ "denominator" to gdb_mpz.
+ (finish_fixed_point_type): Update.
+ (has_zero_over_zero_small_attribute): Update.
+
+2020-12-09 Tom Tromey <tromey@adacore.com>
+
+ * expprint.c (op_name): Update.
+ * expression.h (enum exp_opcode): Update.
+ * std-operator.def: Add more opcodes.
+ * ada-operator.def, fortran-operator.def: Remove, moving contents
+ into std-operator.def.
+
+2020-12-09 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * gdbtypes.c (get_discrete_low_bound, get_discrete_high_bound):
+ Return {} instead of false.
+ (get_discrete_bounds): Compute high bound only if low bound is
+ valid.
+
+2020-12-09 Simon Marchi <simon.marchi@efficios.com>
+
+ PR 26875, PR 26901
+ * gdbtypes.c (get_discrete_low_bound): Make non-static.
+ (get_discrete_high_bound): Make non-static.
+ * gdbtypes.h (get_discrete_low_bound): New declaration.
+ (get_discrete_high_bound): New declaration.
+ * valarith.c (value_subscript): Only fetch high bound if
+ necessary.
+
+2020-12-09 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbtypes.c (get_discrete_bounds): Implement with
+ get_discrete_low_bound and get_discrete_high_bound.
+ (get_discrete_low_bound): New.
+ (get_discrete_high_bound): New.
+
+2020-12-09 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbtypes.h (get_discrete_bounds): Return bool, adjust all
+ callers.
+ * gdbtypes.c (get_discrete_bounds): Return bool.
+
+2020-12-09 Simon Marchi <simon.marchi@efficios.com>
+
+ * ada-lang.c (ada_value_slice_from_ptr): Adjust.
+ (ada_value_slice): Adjust.
+ (pos_atr): Adjust.
+ * gdbtypes.c (get_discrete_bounds): Adjust.
+ (discrete_position): Return optional.
+ * gdbtypes.h (discrete_position): Return optional.
+
+2020-12-07 Tom Tromey <tromey@adacore.com>
+
+ * maint.c (_initialize_maint_cmds): Use expression command
+ completer for "maint print type".
+
+2020-12-07 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ * completer.c (complete_explicit_location): Also add keywords
+ that start with '-' to the completion list.
+
+2020-12-07 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ * linespec.c (linespec_lexer_lex_keyword): The "-force-condition"
+ keyword may be followed by any keyword.
+ * breakpoint.c (find_condition_and_thread): Advance 'tok' by
+ 'toklen' in the case for "-force-condition".
+
+2020-12-07 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ * main.c (catch_command_errors): Add a flag parameter; invoke
+ `bpstat_do_actions` if the flag is set.
+ (execute_cmdargs): Update a call to `catch_command_errors`.
+
+2020-12-07 Tom de Vries <tdevries@suse.de>
+
+ * ada-lang.c (replace_operator_with_call): Handle shrink resize.
+
+2020-12-06 Tom Tromey <tom@tromey.com>
+
+ PR ada/26999
+ * ada-lang.c (replace_operator_with_call): Rewrite.
+
+2020-12-06 Giancarlo Frix <gfrix@rocketsoftware.com> (tiny change)
+
+ PR breakpoints/27009
+ * s390-tdep.h (op_bc): Correct BC opcode value.
+
+2020-12-06 Joel Brobecker <brobecker@adacore.com>
+
+ * gmp-utils.h (gdb_mpz::safe_export): New private method.
+ (gdb_mpz::as_integer): Reimplement using gdb_mpz::safe_export.
+ * gmp-utils.c (gdb_mpz::write): Rewrite using gdb_mpz::safe_export.
+ (gdb_mpz::safe_export): New method.
+ * unittests/gmp-utils-selftests .c (gdb_mpz_as_integer):
+ Update function description.
+ (check_as_integer_raises_out_of_range_error): New function.
+ (gdb_mpz_as_integer_out_of_range): New function.
+ (_initialize_gmp_utils_selftests): Register
+ gdb_mpz_as_integer_out_of_range as a selftest.
+
+2020-12-05 Joel Brobecker <brobecker@adacore.com>
+
+ * gmp-utils.c (gdb_mpz::read): Use HOST_CHAR_BIT instead of
+ TARGET_CHAR_BIT.
+ (gdb_mpz::write): Likewise.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * amd64-linux-tdep.c (amd64_linux_init_abi): Pass 2 as the
+ number of displaced step buffers.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * displaced-stepping.h (struct displaced_step_buffer): Rename
+ to...
+ (struct displaced_step_buffers): ... this.
+ <m_addr, m_current_thread, m_copy_insn_closure>: Remove.
+ <struct displaced_step_buffer>: New inner class.
+ <m_buffers>: New.
+ * displaced-stepping.c (displaced_step_buffer::prepare): Rename
+ to...
+ (displaced_step_buffers::prepare): ... this, adjust for multiple
+ buffers.
+ (displaced_step_buffer::finish): Rename to...
+ (displaced_step_buffers::finish): ... this, adjust for multiple
+ buffers.
+ (displaced_step_buffer::copy_insn_closure_by_addr): Rename to...
+ (displaced_step_buffers::copy_insn_closure_by_addr): ... this,
+ adjust for multiple buffers.
+ (displaced_step_buffer::restore_in_ptid): Rename to...
+ (displaced_step_buffers::restore_in_ptid): ... this, adjust for
+ multiple buffers.
+ * linux-tdep.h (linux_init_abi): Change supports_displaced_step
+ for num_disp_step_buffers.
+ * linux-tdep.c (struct linux_gdbarch_data)
+ <num_disp_step_buffers>: New field.
+ (struct linux_info) <disp_step_buf>: Rename to...
+ <disp_step_bufs>: ... this, change type to
+ displaced_step_buffers.
+ (linux_displaced_step_prepare): Use
+ linux_gdbarch_data::num_disp_step_buffers to create that number
+ of buffers.
+ (linux_displaced_step_finish): Adjust.
+ (linux_displaced_step_copy_insn_closure_by_addr): Adjust.
+ (linux_displaced_step_restore_all_in_ptid): Adjust.
+ (linux_init_abi): Change supports_displaced_step parameter for
+ num_disp_step_buffers, save it in linux_gdbarch_data.
+ * aarch64-linux-tdep.c (aarch64_linux_init_abi): Adjust.
+ * alpha-linux-tdep.c (alpha_linux_init_abi): Adjust.
+ * amd64-linux-tdep.c (amd64_linux_init_abi_common): Change
+ supports_displaced_step parameter for num_disp_step_buffers.
+ (amd64_linux_init_abi): Adjust.
+ (amd64_x32_linux_init_abi): Adjust.
+ * arc-linux-tdep.c (arc_linux_init_osabi): Adjust.
+ * arm-linux-tdep.c (arm_linux_init_abi): Adjust.
+ * bfin-linux-tdep.c (bfin_linux_init_abi): Adjust.
+ * cris-linux-tdep.c (cris_linux_init_abi): Adjust.
+ * csky-linux-tdep.c (csky_linux_init_abi): Adjust.
+ * frv-linux-tdep.c (frv_linux_init_abi): Adjust.
+ * hppa-linux-tdep.c (hppa_linux_init_abi): Adjust.
+ * i386-linux-tdep.c (i386_linux_init_abi): Adjust.
+ * ia64-linux-tdep.c (ia64_linux_init_abi): Adjust.
+ * m32r-linux-tdep.c (m32r_linux_init_abi): Adjust.
+ * m68k-linux-tdep.c (m68k_linux_init_abi):
+ * microblaze-linux-tdep.c (microblaze_linux_init_abi):
+ * mips-linux-tdep.c (mips_linux_init_abi): Adjust.
+ * mn10300-linux-tdep.c (am33_linux_init_osabi): Adjust.
+ * nios2-linux-tdep.c (nios2_linux_init_abi): Adjust.
+ * or1k-linux-tdep.c (or1k_linux_init_abi): Adjust.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Adjust.
+ * riscv-linux-tdep.c (riscv_linux_init_abi): Adjust.
+ * rs6000-tdep.c (struct ppc_inferior_data) <disp_step_buf>:
+ Change type to displaced_step_buffers.
+ * s390-linux-tdep.c (s390_linux_init_abi_any): Adjust.
+ * sh-linux-tdep.c (sh_linux_init_abi): Adjust.
+ * sparc-linux-tdep.c (sparc32_linux_init_abi): Adjust.
+ * sparc64-linux-tdep.c (sparc64_linux_init_abi): Adjust.
+ * tic6x-linux-tdep.c (tic6x_uclinux_init_abi): Adjust.
+ * tilegx-linux-tdep.c (tilegx_linux_init_abi): Adjust.
+ * xtensa-linux-tdep.c (xtensa_linux_init_abi): Adjust.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * linux-tdep.c (init_linux_gdbarch_data): Change parameter to
+ obkstack.
+ (_initialize_linux_tdep): Register pre-init gdb data instead of
+ post-init.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * displaced-stepping.h (struct
+ displaced_step_copy_insn_closure): Adjust comments.
+ (struct displaced_step_inferior_state) <step_thread,
+ step_gdbarch, step_closure, step_original, step_copy,
+ step_saved_copy>: Remove fields.
+ (struct displaced_step_thread_state): New.
+ (struct displaced_step_buffer): New.
+ * displaced-stepping.c (displaced_step_buffer::prepare): New.
+ (write_memory_ptid): Move from infrun.c.
+ (displaced_step_instruction_executed_successfully): New,
+ factored out of displaced_step_finish.
+ (displaced_step_buffer::finish): New.
+ (displaced_step_buffer::copy_insn_closure_by_addr): New.
+ (displaced_step_buffer::restore_in_ptid): New.
+ * gdbarch.sh (displaced_step_location): Remove.
+ (displaced_step_prepare, displaced_step_finish,
+ displaced_step_copy_insn_closure_by_addr,
+ displaced_step_restore_all_in_ptid): New.
+ * gdbarch.c: Re-generate.
+ * gdbarch.h: Re-generate.
+ * gdbthread.h (class thread_info) <displaced_step_state>: New
+ field.
+ (thread_step_over_chain_remove): New declaration.
+ (thread_step_over_chain_next): New declaration.
+ (thread_step_over_chain_length): New declaration.
+ * thread.c (thread_step_over_chain_remove): Make non-static.
+ (thread_step_over_chain_next): New.
+ (global_thread_step_over_chain_next): Use
+ thread_step_over_chain_next.
+ (thread_step_over_chain_length): New.
+ (global_thread_step_over_chain_enqueue): Add debug print.
+ (global_thread_step_over_chain_remove): Add debug print.
+ * infrun.h (get_displaced_step_copy_insn_closure_by_addr):
+ Remove.
+ * infrun.c (get_displaced_stepping_state): New.
+ (displaced_step_in_progress_any_inferior): Remove.
+ (displaced_step_in_progress_thread): Adjust.
+ (displaced_step_in_progress): Adjust.
+ (displaced_step_in_progress_any_thread): New.
+ (get_displaced_step_copy_insn_closure_by_addr): Remove.
+ (gdbarch_supports_displaced_stepping): Use
+ gdbarch_displaced_step_prepare_p.
+ (displaced_step_reset): Change parameter from inferior to
+ thread.
+ (displaced_step_prepare_throw): Implement using
+ gdbarch_displaced_step_prepare.
+ (write_memory_ptid): Move to displaced-step.c.
+ (displaced_step_restore): Remove.
+ (displaced_step_finish): Implement using
+ gdbarch_displaced_step_finish.
+ (start_step_over): Allow starting more than one displaced step.
+ (prepare_for_detach): Handle possibly multiple threads doing
+ displaced steps.
+ (handle_inferior_event): Handle possibility that fork event
+ happens while another thread displaced steps.
+ * linux-tdep.h (linux_displaced_step_prepare): New.
+ (linux_displaced_step_finish): New.
+ (linux_displaced_step_copy_insn_closure_by_addr): New.
+ (linux_displaced_step_restore_all_in_ptid): New.
+ (linux_init_abi): Add supports_displaced_step parameter.
+ * linux-tdep.c (struct linux_info) <disp_step_buf>: New field.
+ (linux_displaced_step_prepare): New.
+ (linux_displaced_step_finish): New.
+ (linux_displaced_step_copy_insn_closure_by_addr): New.
+ (linux_displaced_step_restore_all_in_ptid): New.
+ (linux_init_abi): Add supports_displaced_step parameter,
+ register displaced step methods if true.
+ (_initialize_linux_tdep): Register inferior_execd observer.
+ * amd64-linux-tdep.c (amd64_linux_init_abi_common): Add
+ supports_displaced_step parameter, adjust call to
+ linux_init_abi. Remove call to
+ set_gdbarch_displaced_step_location.
+ (amd64_linux_init_abi): Adjust call to
+ amd64_linux_init_abi_common.
+ (amd64_x32_linux_init_abi): Likewise.
+ * aarch64-linux-tdep.c (aarch64_linux_init_abi): Adjust call to
+ linux_init_abi. Remove call to
+ set_gdbarch_displaced_step_location.
+ * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
+ * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
+ * alpha-linux-tdep.c (alpha_linux_init_abi): Adjust call to
+ linux_init_abi.
+ * arc-linux-tdep.c (arc_linux_init_osabi): Likewise.
+ * bfin-linux-tdep.c (bfin_linux_init_abi): Likewise.
+ * cris-linux-tdep.c (cris_linux_init_abi): Likewise.
+ * csky-linux-tdep.c (csky_linux_init_abi): Likewise.
+ * frv-linux-tdep.c (frv_linux_init_abi): Likewise.
+ * hppa-linux-tdep.c (hppa_linux_init_abi): Likewise.
+ * ia64-linux-tdep.c (ia64_linux_init_abi): Likewise.
+ * m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
+ * m68k-linux-tdep.c (m68k_linux_init_abi): Likewise.
+ * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
+ * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
+ * mn10300-linux-tdep.c (am33_linux_init_osabi): Likewise.
+ * nios2-linux-tdep.c (nios2_linux_init_abi): Likewise.
+ * or1k-linux-tdep.c (or1k_linux_init_abi): Likewise.
+ * riscv-linux-tdep.c (riscv_linux_init_abi): Likewise.
+ * s390-linux-tdep.c (s390_linux_init_abi_any): Likewise.
+ * sh-linux-tdep.c (sh_linux_init_abi): Likewise.
+ * sparc-linux-tdep.c (sparc32_linux_init_abi): Likewise.
+ * sparc64-linux-tdep.c (sparc64_linux_init_abi): Likewise.
+ * tic6x-linux-tdep.c (tic6x_uclinux_init_abi): Likewise.
+ * tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise.
+ * xtensa-linux-tdep.c (xtensa_linux_init_abi): Likewise.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Adjust call to
+ linux_init_abi. Remove call to
+ set_gdbarch_displaced_step_location.
+ * arm-tdep.c (arm_pc_is_thumb): Call
+ gdbarch_displaced_step_copy_insn_closure_by_addr instead of
+ get_displaced_step_copy_insn_closure_by_addr.
+ * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Adjust calls to
+ clear gdbarch methods.
+ * rs6000-tdep.c (struct ppc_inferior_data): New structure.
+ (get_ppc_per_inferior): New function.
+ (ppc_displaced_step_prepare): New function.
+ (ppc_displaced_step_finish): New function.
+ (ppc_displaced_step_restore_all_in_ptid): New function.
+ (rs6000_gdbarch_init): Register new gdbarch methods.
+ * s390-tdep.c (s390_gdbarch_init): Don't call
+ set_gdbarch_displaced_step_location, set new gdbarch methods.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * Makefile.in (COMMON_SFILES): Add displaced-stepping.c.
+ * aarch64-tdep.h: Include displaced-stepping.h.
+ * displaced-stepping.h (struct displaced_step_copy_insn_closure):
+ Move here.
+ (displaced_step_copy_insn_closure_up): Move here.
+ (struct buf_displaced_step_copy_insn_closure): Move here.
+ (struct displaced_step_inferior_state): Move here.
+ (debug_displaced): Move here.
+ (displaced_debug_printf_1): Move here.
+ (displaced_debug_printf): Move here.
+ * displaced-stepping.c: New file.
+ * gdbarch.sh: Include displaced-stepping.h in gdbarch.h.
+ * gdbarch.h: Re-generate.
+ * inferior.h: Include displaced-stepping.h.
+ * infrun.h (debug_displaced): Move to displaced-stepping.h.
+ (displaced_debug_printf_1): Likewise.
+ (displaced_debug_printf): Likewise.
+ (struct displaced_step_copy_insn_closure): Likewise.
+ (displaced_step_copy_insn_closure_up): Likewise.
+ (struct buf_displaced_step_copy_insn_closure): Likewise.
+ (struct displaced_step_inferior_state): Likewise.
+ * infrun.c (show_debug_displaced): Move to displaced-stepping.c.
+ (displaced_debug_printf_1): Likewise.
+ (displaced_step_copy_insn_closure::~displaced_step_copy_insn_closure):
+ Likewise.
+ (_initialize_infrun): Don't register "set/show debug displaced".
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * linux-tdep.c (get_linux_inferior_data): Add inferior
+ parameter.
+ (linux_vsyscall_range): Pass current inferior.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * infrun.c (displaced_step_prepare_throw): Change return type to
+ displaced_step_prepare_status.
+ (displaced_step_prepare): Likewise.
+ (displaced_step_finish): Change return type to
+ displaced_step_finish_status.
+ (resume_1): Adjust.
+ (stop_all_threads): Adjust.
+ * displaced-stepping.h: New file.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * infrun.c (displaced_step_fixup): Rename to...
+ (displaced_step_finish): ... this, update all callers.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * infrun.h (get_displaced_step_closure_by_addr): Rename to...
+ (get_displaced_step_copy_insn_closure_by_addr): ... this.
+ Update all users.
+ (displaced_step_closure): Rename to...
+ (displaced_step_copy_insn_closure): ... this. Update all users.
+ (displaced_step_closure_up): Rename to...
+ (displaced_step_copy_insn_closure_up). ... this. Update all
+ users.
+ (buf_displaced_step_closure): Rename to...
+ (buf_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * infrun.c (get_displaced_step_closure_by_addr): Rename to...
+ (get_displaced_step_copy_insn_closure_by_addr): ... this.
+ Update all users.
+ * aarch64-tdep.c (aarch64_displaced_step_closure): Rename to...
+ (aarch64_displaced_step_copy_insn_closure): ... this. Update
+ all users.
+ * amd64-tdep.c (amd64_displaced_step_closure): Rename to...
+ (amd64_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * arm-tdep.h (arm_displaced_step_closure): Rename to...
+ (arm_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * i386-tdep.h (i386_displaced_step_closure): Rename to...
+ (i386_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * rs6000-tdep.c (ppc_displaced_step_closure): Rename to...
+ (ppc_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * s390-tdep.c (s390_displaced_step_closure): Rename to...
+ (s390_displaced_step_copy_insn_closure): ... this. Update all
+ users.
+ * gdbarch.h: Re-generate.
+ * gdbarch.c: Re-generate.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdbthread.h (thread_step_over_chain_enqueue): Rename to...
+ (global_thread_step_over_chain_enqueue): ... this. Update all
+ users.
+ (thread_step_over_chain_remove): Rename to...
+ (global_thread_step_over_chain_remove): ... this. Update all
+ users.
+ (thread_step_over_chain_next): Rename to...
+ (global_thread_step_over_chain_next): ... this. Update all
+ users.
+ * infrun.h (step_over_queue_head): Rename to...
+ (global_thread_step_over_chain_head): ... this. Update all
+ users.
+ * infrun.c (step_over_queue_head): Rename to...
+ (global_thread_step_over_chain_head): ... this. Update all
+ users.
+ * thread.c (step_over_chain_remove): Rename to...
+ (thread_step_over_chain_remove): ... this. Update all users.
+ (thread_step_over_chain_next): Rename to...
+ (global_thread_step_over_chain_next): ... this. Update all
+ users.
+ (thread_step_over_chain_enqueue): Rename to...
+ (global_thread_step_over_chain_enqueue): ... this. Update all
+ users.
+ (thread_step_over_chain_remove): Rename to...
+ (global_thread_step_over_chain_remove): ... this. Update all
+ users.
+
+2020-12-04 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * infrun.c (get_displaced_stepping_state): Remove, change
+ callers to access the field directly.
+
+2020-12-04 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * infrun.c (handle_inferior_event): Restore displaced step
+ buffer bytes in child process when handling fork, even if fork
+ happened in another thread than the displaced-stepping one.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * infrun.c (infrun_inferior_execd): New function.
+ (_initialize_infrun): Attach inferior_execd observer.
+
+2020-12-04 Simon Marchi <simon.marchi@efficios.com>
+
+ * observable.h (inferior_execd): Declare new observable.
+ * observable.c (inferior_execd): Declare new observable.
+ * infrun.c (follow_exec): Notify inferior_execd observer.
+ * jit.c (jit_inferior_created_hook): Make static.
+ (_initialize_jit): Register inferior_execd observer.
+ * jit.h (jit_inferior_created_hook): Remove declaration.
+ * solib.c (_initialize_solib): Register inferior_execd observer.
+
+2020-12-04 Tom de Vries <tdevries@suse.de>
+
+ PR gdb/27003
+ * completer.c (completion_tracker::build_completion_result): Don't
+ access match_list[0][-1].
+
+2020-12-04 Tom Tromey <tromey@adacore.com>
+
+ * linespec.c (struct linespec_token): Rename; remove typedef.
+ * guile/scm-block.c (struct block_smob): Remove typedef.
+ (struct block_syms_progress_smob): Likewise.
+ * guile/scm-symbol.c (struct symbol_smob): Remove typedef.
+ * guile/scm-symtab.c (symtab_smob): Remove typedef.
+ (struct sal_smob): Remove typedef.
+ * guile/scm-param.c (struct param_smob): Remove typedef.
+ * guile/scm-progspace.c (struct pspace_smob): Rename.
+ * guile/scm-objfile.c (struct objfile_smob): Rename.
+ * guile/scm-iterator.c (struct iterator_smob): Rename.
+ * guile/scm-frame.c (struct frame_smob): Rename.
+ * guile/scm-arch.c (struct arch_smob): Rename.
+ * guile/scm-type.c (struct field_smob): Remove typedef.
+ (struct type_smob): Rename.
+ * guile/scm-cmd.c (struct command_smob): Remove typedef.
+ * guile/scm-ports.c (struct ioscm_memory_port): Remove typedef.
+ * guile/scm-value.c (struct value_smob): Remove typedef.
+ * guile/scm-lazy-string.c (lazy_string_smob): Remove typedef.
+ * guile/guile-internal.h (struct scheme_variable)
+ (struct scheme_function, struct scheme_integer_constant)
+ (struct gdb_smob, struct chained_gdb_smob)
+ (struct eqable_gdb_smob, arch_smob, frame_smob, iterator_smob)
+ (objfile_smob, pspace_smob, type_smob): Remove typedef.
+ * guile/scm-pretty-print.c (pretty_printer_smob): Remove typedef.
+ (struct pretty_printer_worker_smob): Remove typedef.
+ * guile/scm-exception.c (struct exception_smob): Remove typedef.
+ * python/py-block.c (struct block_object): Remove typedef.
+ (block_syms_iterator_object): Update.
+ (set_block): Update.
+ (block_syms_iterator_object): Remove typedef.
+ * python/py-inferior.c (struct membuf_object): Remove typedef.
+ * python/py-symtab.c (struct symtab_object): Remove typedef.
+ (set_symtab): Update.
+ (sal_object): Remove typedef.
+ (set_sal): Update.
+ * python/py-frame.c (frame_object): Remove typedef.
+ * python/py-record-btrace.c (struct btpy_list_object): Remove
+ typedef.
+ * python/py-arch.c (struct arch_object): Remove typedef.
+ * python/py-linetable.c (struct linetable_entry_object)
+ (linetable_object, struct ltpy_iterator_object): Remove typedef.
+ * python/py-events.h (eventregistry_object): Remove typedef.
+ (struct events_object): Remove typedef.
+ * python/python-internal.h (gdbpy_breakpoint_object): Remove
+ typedef.
+ (thread_object): Remove typedef.
+ * python/py-progspace.c (pspace_object): Remove typedef.
+ * python/py-value.c (struct value_object): Remove typedef.
+ * python/py-record.h (recpy_record_object): Remove typedef.
+ (struct recpy_element_object): Remove typedef.
+ * python/py-lazy-string.c (lazy_string_object): Remove typedef.
+ * python/py-objfile.c (objfile_object): Remove typedef.
+ * python/py-cmd.c (struct cmdpy_object): Remove typedef.
+ * python/py-type.c (type_object): Remove typedef.
+ (typy_iterator_object): Update.
+ (set_type): Update.
+ (field_object): Remove typedef.
+ (typy_iterator_object): Remove typedef.
+ * python/py-registers.c (register_descriptor_iterator_object):
+ Remove typedef.
+ (struct register_descriptor_object)
+ (struct reggroup_iterator_object, struct reggroup_object): Remove
+ typedef.
+ * python/py-record.c (recpy_gap_object): Remove typedef.
+ * python/py-symbol.c (symbol_object): Remove typedef.
+ (set_symbol): Update.
+ * python/py-event.h (event_object): Remove typedef.
+ * python/py-param.c (parmpy_object): Remove typedef.
+ * python/py-instruction.c (struct py_insn_obj): Remove typedef.
+ * python/py-unwind.c (struct pending_frame_object): Remove typedef.
+ (unwind_info_object, struct cached_frame_info): Likewise.
+
+2020-12-04 Tom Tromey <tromey@adacore.com>
+
+ * value.c (value_internal_function_name): Make return type const.
+ * value.h (value_internal_function_name): Make return type const.
+
+2020-12-04 Luis Machado <luis.machado@linaro.org>
+
+ * aarch64-tdep.c (submask, bit, bits): Remove.
+ * arch/aarch64-insn.c (extract_signed_bitfield): Remove.
+ (aarch64_decode_adr, aarch64_decode_b aarch64_decode_bcond)
+ (aarch64_decode_cb, aarch64_decode_tb)
+ (aarch64_decode_ldr_literal): Use sbits to extract a signed
+ immediate.
+ * arch/aarch64-insn.h (submask, bits, bit, sbits): New macros.
+
+2020-12-04 Tom de Vries <tdevries@suse.de>
+
+ PR tdep/27007
+ * i386-tdep.c (i386_16_byte_align_p): Skip static fields.
+
+2020-12-03 Simon Marchi <simon.marchi@polymtl.ca>
+
+ PR gdb/26876
+ * dwarf2/frame.c (find_comp_unit, set_comp_unit): Reverse use of
+ dwarf2_frame_bfd_data and dwarf2_frame_objfile_data.
+
+2020-12-02 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * arch/riscv.c: Include 'rv32e-xregs.c'.
+ (riscv_create_target_description): Update to handle rv32e.
+ * arch/riscv.h (struct riscv_gdbarch_features) <embedded>: New
+ member variable.
+ <operator==>: Update to account for new field.
+ <hash>: Likewise.
+ * features/Makefile (FEATURE_XMLFILES): Add riscv/rv32e-xregs.xml.
+ * features/riscv/rv32e-xregs.c: Generated.
+ * features/riscv/rv32e-xregs.xml: New file.
+ * riscv-tdep.c (riscv_debug_breakpoints): Move from later in the
+ file.
+ (riscv_debug_infcall): Likewise.
+ (riscv_debug_unwinder): Likewise.
+ (riscv_debug_gdbarch): Likewise.
+ (enum riscv_register_required_status): Delete.
+ (struct riscv_register_feature): Add constructor, delete default
+ constructor, copy, and assign constructors.
+ (struct riscv_register_feature::register_info) <required>: Delete.
+ <check>: Update comment and arguments.
+ (struct riscv_register_feature) <name>: Change to member function.
+ <prefer_first_name>: Delete.
+ <tdesc_feature>: New member function.
+ <registers>: Rename to...
+ <m_registers>: ...this.
+ <m_feature_name>: New member variable.
+ (riscv_register_feature::register_info::check): Update arguments.
+ (riscv_xreg_feature): Rewrite as class, create a single static
+ instance of the class.
+ (riscv_freg_feature): Likewise.
+ (riscv_virtual_feature): Likewise.
+ (riscv_csr_feature): Likewise.
+ (riscv_create_csr_aliases): Has become a member function inside
+ riscv_csr_feature class.
+ (riscv_abi_embedded): New function definition.
+ (riscv_register_name): Adjust to use new feature objects.
+ (struct riscv_call_info) <riscv_call_info>: Check for rv32e abi,
+ and adjust available argument registers.
+ (riscv_features_from_gdbarch_info): Check for EF_RISCV_RVE flag.
+ (riscv_check_tdesc_feature): Delete.
+ (riscv_tdesc_unknown_reg): Adjust to use new feature objects.
+ (riscv_gdbarch_init): Delete target description checking code, and
+ instead call to the new feature objects to perform the checks.
+ Reorder handling of no abi information case, allows small code
+ simplification.
+ (_initialize_riscv_tdep): Remove call, this is now done in the
+ riscv_csr_feature constructor.
+ * riscv-tdep.h (riscv_abi_embedded): Declare.
+
+2020-12-02 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * riscv-tdep.c (riscv_create_csr_aliases): Remove use of
+ DECLARE_CSR_ALIAS.
+
+2020-12-02 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * riscv-tdep.c (riscv_is_unknown_csr): New function,
+ implementation moved from riscv_register_reggroup_p.
+ (riscv_register_reggroup_p): Update group handling for unknown
+ CSRs.
+
+2020-12-01 Sergio Durigan Junior <sergiodj@sergiodj.net>
+
+ * dwarf2/read.c (dwz_search_other_debugdirs): New function.
+ (dwarf2_get_dwz_file): Convert 'filename' to a
+ std::string. Use dwz_search_other_debugdirs to search for DWZ
+ files in the debug-file-directories provided by the user as well.
+
+2020-12-01 Tom Tromey <tom@tromey.com>
+
+ * parse.c (expr_builder::expr_builder): Initialize expout.
+ (expr_builder::release): Use expression::resize.
+ (expression::expression, expression::~expression)
+ (expression::resize): New methods.
+ (write_exp_elt): Use expression::resize.
+ (prefixify_expression): Update.
+ (increase_expout_size): Use expression::resize.
+ * expression.h (struct expression): Add constructor, destructor.
+ <resize>: New method.
+ (expression_up): Change type.
+
+2020-12-01 Rogerio A. Cardoso <rcardoso@linux.ibm.com>
+ * ppc-linux-nat.c: (PPC_DEBUG_FEATURE_DATA_BP_ARCH_31): New define.
+ (region_ok_for_hw_watchpoint): Check if 2nd DAWR is avaliable before
+ set region.
+
+2020-11-30 Tom de Vries <tdevries@suse.de>
+
+ PR symtab/26905
+ * dwarf2/loc.c (dwarf2_locexpr_baton_eval): Add and handle
+ is_reference parameter.
+ (dwarf2_evaluate_property): Update dwarf2_locexpr_baton_eval call.
+
+2020-11-30 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_op_name): Remove.
+ (exp_descriptor_rust): Update.
+ * parser-defs.h (op_name_standard): Don't declare.
+ (struct exp_descriptor) <op_name>: Remove.
+ * parse.c (exp_descriptor_standard): Update.
+ * opencl-lang.c (exp_descriptor_opencl): Update.
+ * m2-lang.c (m2_language::exp_descriptor_modula2): Update.
+ * f-lang.c (op_name_f): Remove.
+ (f_language::exp_descriptor_tab): Update.
+ * expression.h (op_name): Update.
+ * expprint.c (op_name): Rewrite.
+ (op_name_standard): Remove.
+ (dump_raw_expression, dump_subexp): Update.
+ * c-lang.c (exp_descriptor_c): Update.
+ * ax-gdb.c (gen_expr): Update.
+ * ada-lang.c (ada_op_name): Remove.
+ (ada_exp_descriptor): Update.
+
+2020-11-30 Tom Tromey <tom@tromey.com>
+
+ * eval.c (init_array_element): Remove.
+ (evaluate_subexp_standard) <OP_ARRAY>: Remove "index_pc".
+
+2020-11-29 Hannes Domani <ssbssa@yahoo.de>
+
+ PR tui/26973
+ * tui/tui-layout.c (tui_apply_current_layout): Don't delete the
+ static locator win info.
+
2020-11-28 Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
* acincludde.m4 (GDB_AC_CHECK_BFD): Include string.h in the test
* printcmd.c (skip_over_slash_fmt): Reorder code to ensure in_fmt
is always initialized.
+2020-11-26 Rogerio Alves <rcardoso@linux.ibm.com>
+ * MAINTAINERS (Write After Approval): Add myself.
+
2020-11-26 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
* features/aarch64-fpu.c (create_feature_aarch64_fpu): Regenerate.
2020-11-12 Shahab Vahedi <shahab@synopsys.com>
+ PR tdep/27015
* arc-linux-tdep.c (collect_register): Populate "eret" by
"pc" value from the regcache when asked for "pc" value.