X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FChangeLog;h=5dc879b0443375584e6d644c548d2f348852e324;hb=2f2287318b33ddf855a692fcc191f6b25caf4644;hp=1d5bbcfe69617f0470b5651e9e8cb2da201fc1ee;hpb=e45020422076c1014579ae8763fd253990ddf58e;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1d5bbcfe69..5dc879b044 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,1022 @@ +2020-12-16 Tom Tromey + Tom Tromey + Tom de Vries + + * utils.h (get_chars_per_line): Declare. + * utils.c (get_chars_per_line): New function. + (fputs_maybe_filtered): Handle '\r'. + * ui-out.h (ui_out::progress_meter): New class. + (ui_out::progress, ui_out::do_progress_start) + (ui_out::do_progress_notify, ui_out::do_progress_end): New + methods. + * ui-out.c (do_progress_end) + (make_cleanup_ui_out_progress_begin_end, ui_out_progress): New + functions. + * mi/mi-out.h (mi_ui_out::do_progress_start) + (mi_ui_out::do_progress_notify, mi_ui_out::do_progress_end): New + methods. + * cli-out.h (struct cli_ui_out) : New methods. + : New. + : New member. + * cli-out.c (cli_ui_out::do_progress_start) + (cli_ui_out::do_progress_notify, cli_ui_out::do_progress_end): New + methods. + +2020-12-16 Luis Machado + + * aarch64-tdep.c (aarch64_record_data_proc_simd_fp): Record FPSR. + +2020-12-16 Luis Machado + + * aarch64-linux-nat.c + (aarch64_linux_nat_target::stopped_data_address): Handle the TBI. + +2020-12-15 Rae Kim + + * cli/cli-script.c (do_document_command): Rename from + document_command. Handle multi-line input. + (multi_line_command_p): Handle document_control. + (build_command_line): Likewise. + (execute_control_command_1): Likewise. + (process_next_line): Likewise. + (document_command): Call do_document_command. + * cli/cli-script.h (enum command_control_type): Add + document_control. + +2020-12-15 Tom Tromey + + * stap-probe.c (stap_probe::evaluate_argument): Use + evaluate_expression. + * dtrace-probe.c (dtrace_probe::evaluate_argument): Use + evaluate_expression. + * value.h (evaluate_expression): Add expect_type parameter. + * objc-lang.c (print_object_command): Call evaluate_expression. + * eval.c (evaluate_expression): Add expect_type parameter. + +2020-12-15 Tom Tromey + + * varobj.c (varobj_create): Use first_opcode. + * value.c (init_if_undefined_command): Use first_opcode. + * typeprint.c (whatis_exp): Use first_opcode. + * tracepoint.c (validate_actionline): Use first_opcode. + (encode_actions_1): Use first_opcode. + * stack.c (return_command): Use first_opcode. + * expression.h (struct expression) : New method. + * eval.c (parse_and_eval_type): Use first_opcode. + * dtrace-probe.c (dtrace_process_dof_probe): Use first_opcode. + +2020-12-15 Tom Tromey + + * f-lang.c (evaluate_subexp_f): Update. + * expression.h (evaluate_subexp_do_call): Update. + * eval.c (evaluate_subexp_do_call): Add callee parameter. Replace + nargs, argvec with array_view. + (evaluate_funcall): Update. + +2020-12-15 Tom Tromey + + * ada-lang.c (num_component_specs): Remove. + (assign_aggregate): Update. + (aggregate_assign_positional, aggregate_assign_from_choices) + (aggregate_assign_others, add_component_interval): Change + arguments. + +2020-12-15 Tom Tromey + + * cli/cli-decode.c (deprecated_cmd_warning): Use title style for + command names. + +2020-12-14 Tom Tromey + + * dtrace-probe.c (dtrace_process_dof_probe): Use value_type. + * typeprint.c (whatis_exp): Always use evaluate_type. + (maintenance_print_type): Likewise. Simplify. + +2020-12-14 Tom Tromey + + * dictionary.c (language_defn::search_name_hash): Ignore "B". + * ada-lang.c (advance_wild_match): Ignore "B". + (full_match): Remove. + (do_full_match): Rewrite. + +2020-12-14 Tom Tromey + + * ada-lang.c (get_var_value): Only consider exact matches. + +2020-12-14 Tom Tromey + + * dwarf2/read.c (rewrite_array_type): New function. + (quirk_ada_thick_pointer_struct): Use rewrite_array_type. + +2020-12-14 Tom Tromey + + * valarith.c (fixed_point_binop): Call error on division by zero. + +2020-12-13 Tom Tromey + + * gdbtypes.c (safe_parse_type): Make argument const. + * value.h (parse_and_eval_type): Make argument const. + * eval.c (parse_and_eval_type): Make argument const. + +2020-12-13 Andrew Burgess + + * NEWS: Mention new commands. + * target-dcache.c: Add 'cli/cli-cmds.h' include. + (maint_flush_dcache_command): New function. + (_initialize_target_dcache): Create new 'maint flush dcache' + command. + +2020-12-13 Andrew Burgess + + * NEWS: Mention new commands, and that the old commands are now + deprecated. + * cli/cli-cmds.c (maintenanceflushlist): Define. + * cli/cli-cmds.h (maintenanceflushlist): Declare. + * maint.c (_initialize_maint_cmds): Initialise + maintenanceflushlist. + * regcache.c: Add 'cli/cli-cmds.h' include. + (reg_flush_command): Add header comment. + (_initialize_regcache): Create new 'maint flush register-cache' + command, make 'flushregs' an alias. + * symtab.c: Add 'cli/cli-cmds.h' include. + (_initialize_symtab): Create new 'maint flush symbol-cache' + command, make old command an alias. + +2020-12-11 Andrew Burgess + + * cli/cli-decode.c (deprecated_cmd_warning): Ignore the prefix + result from lookup_cmd_composition_1, use the prefixes from both + the command and the alias instead. + (lookup_cmd_composition_1): Initial prefix command is the based on + the search list being passed in. Simplify the logic for tracking + the prefix command. Replace a use of alloca with a local + std::string. + +2020-12-11 Andrew Burgess + + * cli/cli-decode.c (deprecated_cmd_warning): Use nullptr instead + of NULL. Don't print message piece by piece, but sentence at a + time to allow internationalisation. Some whitespace cleanup. + +2020-12-11 Andrew Burgess + + PR cli/15104 + * cli/cli-decode.c (lookup_cmd_1): Pass command list to + deprecated_cmd_warning. + (deprecated_cmd_warning): Take extra parameter, call + lookup_cmd_composition_1 and pass new parameter through. + (lookup_cmd_composition_1): New function, takes implementation of + lookup_cmd_composition but with extra parameter. + (lookup_cmd_composition): Now calls lookup_cmd_composition_1 + passing in cmdlist. + * command.h (deprecated_cmd_warning): Add extra parameter to + declaration. + * top.c (execute_command): Pass cmdlist to deprecated_cmd_warning. + +2020-12-11 Andrew Burgess + + * cli/cli-decode.c (lookup_cmd_1): Move header comment into + command.h, add extra parameter, and use this to guard giving a + warning. + * command.h (lookup_cmd_1): Add comment from cli/cli-decode.c, + include argument names in declaration, add new argument. + * completer.c (complete_line_internal_1): Remove unneeded + brackets, pass extra argument to lookup_cmd_1. + +2020-12-11 Simon Marchi + + * infrun.h (debug_infrun): Make a bool. + * infrun.c (debug_infrun): Make a bool. + (_initialize_infrun): Use add_setshow_boolean_cmd to define "set + debug infrun". + +2020-12-11 Simon Marchi + + * 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 + + * 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 + + * varobj.c (varobj_create): Update. + (install_variable): Return void. + +2020-12-11 Tom Tromey + + * varobj.c (instantiate_pretty_printer): Use gdbpy_ref. + +2020-12-11 Tom Tromey + + * 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 + + * 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) : Now a + value_ref_ptr. + * python/py-varobj.c (py_varobj_iter::next): Call release_value. + +2020-12-11 Tom Tromey + + * varobj.c (struct varobj_dynamic) : 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 + + * varobj.c (struct varobj_dynamic) : Now unique_ptr. + (varobj_clear_saved_item, update_dynamic_varobj_children): + Update. + +2020-12-11 Tom Tromey + + * varobj.c (update_dynamic_varobj_children): Update. + * varobj-iter.h (struct varobj_iter) : Change return type. + * python/py-varobj.c (struct py_varobj_iter) : Change return + type. + (py_varobj_iter::next): Likewise. + +2020-12-11 Tom Tromey + + * 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 + + * 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 + + * varobj.c (struct varobj_root) : Remove. + (struct vlist): Remove. + (rootlist): Now a std::list. + (install_variable, uninstall_variable, all_root_varobjs): Update. + +2020-12-11 Tom Tromey + + * 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 + + * 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. + : Now a bp_location_ref_ptr. + : Remove. + (bp_location_ref_ptr): New typedef. + (struct bp_location_ref_policy): New. + +2020-12-11 Tom Tromey + + * 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 + + * infrun.c (struct stop_context) : Now a thread_info_ref. + (stop_context::stop_context): Update. + (stop_context::~stop_context): Remove. + +2020-12-11 Tom Tromey + + * inferior.c (current_inferior_): Change type. + (current_inferior, set_current_inferior, initialize_inferiors): + Update. + +2020-12-11 Tom Tromey + + * gdbthread.h (class enable_thread_stack_temporaries) : + Change type. + +2020-12-11 Tom Tromey + + * ada-tasks.c (struct ada_tasks_pspace_data) : 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 + + * ada-lang.c (ada_fold_name): Fix off-by-one error. + +2020-12-10 Luis Machado + + * breakpoint.c (should_be_inserted): Don't output newline. + +2020-12-10 Luis Machado + + * 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) : New field. + (trad_frame_set_value_bytes): New prototype. + (trad_frame_value_bytes_p): New prototype. + +2020-12-07 Mihails Strasuns + + * 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 + + * ada-lang.c (ada_lookup_encoded_symbol): Use add_angle_brackets. + +2020-12-09 Tom Tromey + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * gdbtypes.h (get_discrete_bounds): Return bool, adjust all + callers. + * gdbtypes.c (get_discrete_bounds): Return bool. + +2020-12-09 Simon Marchi + + * 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 + + * maint.c (_initialize_maint_cmds): Use expression command + completer for "maint print type". + +2020-12-07 Tankut Baris Aktemur + + * completer.c (complete_explicit_location): Also add keywords + that start with '-' to the completion list. + +2020-12-07 Tankut Baris Aktemur + + * 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 + + * 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 + + * ada-lang.c (replace_operator_with_call): Handle shrink resize. + +2020-12-06 Tom Tromey + + PR ada/26999 + * ada-lang.c (replace_operator_with_call): Rewrite. + +2020-12-06 Giancarlo Frix (tiny change) + + PR breakpoints/27009 + * s390-tdep.h (op_bc): Correct BC opcode value. + +2020-12-06 Joel Brobecker + + * 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 + + * gmp-utils.c (gdb_mpz::read): Use HOST_CHAR_BIT instead of + TARGET_CHAR_BIT. + (gdb_mpz::write): Likewise. + +2020-12-04 Simon Marchi + + * amd64-linux-tdep.c (amd64_linux_init_abi): Pass 2 as the + number of displaced step buffers. + +2020-12-04 Simon Marchi + + * displaced-stepping.h (struct displaced_step_buffer): Rename + to... + (struct displaced_step_buffers): ... this. + : Remove. + : New inner class. + : 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) + : New field. + (struct linux_info) : Rename to... + : ... 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) : + 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 + + * 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 + + * displaced-stepping.h (struct + displaced_step_copy_insn_closure): Adjust comments. + (struct displaced_step_inferior_state) : 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) : 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) : 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 + + * 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 + + * linux-tdep.c (get_linux_inferior_data): Add inferior + parameter. + (linux_vsyscall_range): Pass current inferior. + +2020-12-04 Simon Marchi + + * 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 + + * infrun.c (displaced_step_fixup): Rename to... + (displaced_step_finish): ... this, update all callers. + +2020-12-04 Simon Marchi + + * 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 + + * 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 + + * infrun.c (get_displaced_stepping_state): Remove, change + callers to access the field directly. + +2020-12-04 Simon Marchi + + * 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 + + * infrun.c (infrun_inferior_execd): New function. + (_initialize_infrun): Attach inferior_execd observer. + +2020-12-04 Simon Marchi + + * 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 + + PR gdb/27003 + * completer.c (completion_tracker::build_completion_result): Don't + access match_list[0][-1]. + +2020-12-04 Tom Tromey + + * 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 + + * 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 + + * 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 + + PR tdep/27007 + * i386-tdep.c (i386_16_byte_align_p): Skip static fields. + +2020-12-03 Simon Marchi + + 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 + + * arch/riscv.c: Include 'rv32e-xregs.c'. + (riscv_create_target_description): Update to handle rv32e. + * arch/riscv.h (struct riscv_gdbarch_features) : New + member variable. + : Update to account for new field. + : 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) : Delete. + : Update comment and arguments. + (struct riscv_register_feature) : Change to member function. + : Delete. + : New member function. + : Rename to... + : ...this. + : 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) : 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 + + * riscv-tdep.c (riscv_create_csr_aliases): Remove use of + DECLARE_CSR_ALIAS. + 2020-12-02 Andrew Burgess * riscv-tdep.c (riscv_is_unknown_csr): New function, @@ -587,6 +1606,7 @@ 2020-11-12 Shahab Vahedi + PR tdep/27015 * arc-linux-tdep.c (collect_register): Populate "eret" by "pc" value from the regcache when asked for "pc" value.