2021-06-14 Mike Frysinger * Makefile.in (GNULIB_BUILDDIR): Rename to ... (GNULIB_PARENT_DIR): ... this. Remove "gnulib" from value. 2021-06-14 John Baldwin * configure.ac: Check for . * config.in, configure: Regenerate. * fbsd-nat.c: Include if present. [PROC_ASLR_CTL] (maybe_disable_address_space_randomization): New. (fbsd_nat_target::create_inferior) (fbsd_nat_target::supports_disable_randomization): New. * fbsd-nat.h (fbsd_nat_target::create_inferior) (fbsd_nat_target::supports_disable_randomization): New. 2021-06-14 Bernd Edlinger * compile/compile.c: Include missing header signal.h. 2021-06-12 John Baldwin * remote.c (remote_new_objfile): Fix indentation. 2021-06-11 Kevin Buettner * solib.c (libpthread_name_p): Match "libc" in addition to "libpthread". * linux-thread-db.c (libpthread_objfile_p): New function. (libpthread_name_p): Adjust preexisting callers to use libpthread_objfile_p(). 2021-06-11 Simon Marchi * dwarf2/loc.h (struct call_site_stuff): Remove. 2021-06-11 Tom Tromey PR rust/23427 * rust-parse.c (rust_parser::lex_identifier): Handle raw identifiers. (rust_lex_tests): Add raw identifier tests. 2021-06-08 Lancelot Six * python/lib/gdb/FrameDecorator.py (FrameDecorator): Use 'is None' instead of '== None'. (FrameVars): Use 'is not None' instead of '!= None'. * python/lib/gdb/command/frame_filters.py (SetFrameFilterPriority): Use 'is None' instead of '== None' and 'is not None' instead of '!= None'. 2021-06-08 Simon Marchi * inferior.h (class inferior) : New. * infcmd.c (post_create_inferior): Set in_initial_library_scan. * infrun.c (follow_fork_inferior): Likewise. * linux-thread-db.c (try_thread_db_load): Catch exception thrown by try_thread_db_load_1 (thread_db_load): Return early if in_initial_library_scan is set. * remote.c (remote_new_objfile): Return early if in_initial_library_scan is set. 2021-06-07 Pedro Alves * dwarf2/read.c (struct partial_die_info): Add defaulted copy ctor. * symtab.h (struct symbol): Add defaulted copy assignment operator. 2021-06-07 Pedro Alves * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE) (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): Delete. (gdb_rl_find_completion_word): Remove write-only 'found_quote' local. 2021-06-07 Pedro Alves * nat/amd64-linux-siginfo.c (union nat_sigval): Rename to ... (nat_sigval_t): ... this and remove typedef of same name. (struct nat_siginfo): Rename to ... (nat_siginfo_t): ... this and remove typedef of same name. (struct compat_sigval): Rename to ... (compat_sigval_t): ... this and remove typedef of same name. (struct compat_siginfo): Rename to ... (compat_siginfo_t): ... this and remove typedef of same name. (struct compat_x32_siginfo): Rename to ... (compat_x32_siginfo_t): ... this and remove typedef of same name. (amd64_linux_siginfo_fixup_common): Adjust. 2021-06-07 Pedro Alves * nat/amd64-linux-siginfo.c (compat_x32_siginfo_t): Move __attribute__ __aligned__ from the typedef to the struct. 2021-06-07 Andrew Burgess PR gdb/27847 * amd64-tdep.c (amd64_has_unaligned_fields): Move call to type_align, and spot case where the alignment is unknown. 2021-06-07 Carl Love * ppc-tdep.h (ppc_insn_prefix_dform): Declare. * ppc64-tdep.c(insn_md, insn_x, insn_xo): New macros. (ppc64_plt_pcrel_entry_point, ppc64_pcrel_linkage1_target, ppc64_pcrel_linkage2_target): New functions. (ppc64_standard_linkage9, ppc64_standard_linkage10, ppc64_standard_linkage11, ppc64_standard_linkage12): New ppc instruction patterns. (ppc64_standard_linkage9, ppc64_standard_linkage10, ppc64_standard_linkage11, ppc64_standard_linkage12): New variables in define MAX expression. (ppc64_skip_trampoline_code_1): Handle ppc64_standard_linkage9, ppc64_standard_linkage10, ppc64_standard_linkage11, ppc64_standard_linkage12. * (ppc_insn_prefix_dform): New function. 2021-06-07 Simon Marchi PR gdb/27899 * sparc-nat.c (sparc_fetch_inferior_registers): Set inferior_ptid instead of using switch_to_thread. (sparc_store_inferior_registers): Likewise. 2021-06-05 Bernd Edlinger * compile/compile.c (scoped_ignore_sigpipe): New helper class. (compile_to_object): Ignore SIGPIPE before calling the plugin. 2021-06-05 Tom Tromey * data-directory/Makefile.in (Makefile): Use correct directory name. 2021-06-05 Tom Tromey * data-directory/Makefile.in (Makefile): Rewrite. 2021-06-05 Tom Tromey * configure: Rebuild. * configure.ac: Add ACX_NONCANONICAL_TARGET. 2021-06-05 Shahab Vahedi * NEWS: Document 'set disassembler-options' support for the ARC target. * arc-tdep.c (arc_gdbarch_init): Set 'gdbarch_valid_disassembler_options'. 2021-06-04 Tom Tromey * dwarf2/read.h (dwarf2_fetch_die_type_sect_off): Add 'var_name' parameter. * dwarf2/loc.c (dwarf2_evaluate_property) : New case. (compute_var_value): New function. (sect_variable_value): Use compute_var_value. * dwarf2/read.c (attr_to_dynamic_prop): Handle DW_TAG_variable. (var_decl_name): New function. (dwarf2_fetch_die_type_sect_off): Add 'var_name' parameter. * gdbtypes.h (enum dynamic_prop_kind) : New constant. (union dynamic_prop_data) : New member. (struct dynamic_prop) : New methods. 2021-06-04 Andrew Burgess * remote.c (remote_target) : Add additional debug output. 2021-06-04 Hannes Domani * python/py-tui.c (class tui_py_window): Add click function. (tui_py_window::click): Likewise. 2021-06-04 Hannes Domani * ser-mingw.c (console_select_thread): Handle MOUSE_EVENT. * tui/tui-data.h (struct tui_win_info): Add click function. * tui/tui-io.c (tui_prep_terminal): Enable mouse events. (tui_deprep_terminal): Disable mouse events. (tui_dispatch_ctrl_char): Handle KEY_MOUSE. * tui/tui.c (tui_disable): Disable mouse events. 2021-06-03 Magne Hov PR python/27841 * eval.c (expression::evaluate): Check inferior_ptid. 2021-06-03 Pedro Alves * MAINTAINERS (The Official FSF-appointed GDB Maintainers): Remove affiliation. (Global Maintainers): Update my address. (Write After Approval): Remove stale entry. 2021-06-03 John Baldwin * fbsd-tdep.c (FBSD_SI_USER, FBSD_SI_QUEUE, FBSD_SI_TIMER) (FBSD_SI_ASYNCIO, FBSD_SI_MESGQ, FBSD_SI_KERNEL, FBSD_SI_LWP) (FBSD_ILL_ILLOPC, FBSD_ILL_ILLOPN, FBSD_ILL_ILLADR) (FBSD_ILL_ILLTRP, FBSD_ILL_PRVOPC, FBSD_ILL_PRVREG) (FBSD_ILL_COPROC, FBSD_ILL_BADSTK, FBSD_BUS_ADRALN) (FBSD_BUS_ADRERR, FBSD_BUS_OBJERR, FBSD_BUS_OOMERR) (FBSD_SEGV_MAPERR, FBSD_SEGV_ACCERR, FBSD_SEGV_PKUERR) (FBSD_FPE_INTOVF, FBSD_FPE_INTDIV, FBSD_FPE_FLTDIV) (FBSD_FPE_FLTOVF, FBSD_FPE_FLTUND, FBSD_FPE_FLTRES) (FBSD_FPE_FLTINV, FBSD_FPE_FLTSUB, FBSD_TRAP_BRKPT) (FBSD_TRAP_TRACE, FBSD_TRAP_DTRACE, FBSD_TRAP_CAP) (FBSD_CLD_EXITED, FBSD_CLD_KILLED, FBSD_CLD_DUMPED) (FBSD_CLD_TRAPPED, FBSD_CLD_STOPPED, FBSD_CLD_CONTINUED) (FBSD_POLL_IN, FBSD_POLL_OUT, FBSD_POLL_MSG, FBSD_POLL_ERR) (FBSD_POLL_PRI, FBSD_POLL_HUP, fbsd_signal_cause) (fbsd_report_signal_info): New. (fbsd_init_abi): Use fbsd_report_signal_info as gdbarch report_signal_info method. 2021-06-03 Magne Hov * MAINTAINERS (Write After Approval): Add Magne Hov. 2021-06-03 Hannes Domani * python/py-symbol.c (gdbpy_initialize_symbols): Restore gdb.SYMBOL_LABEL_DOMAIN constant. 2021-06-01 John Baldwin * infrun.c (handle_inferior_event): Only call gdbarch_displaced_step_restore_all_in_ptid if gdbarch_supports_displaced_stepping is true. 2021-06-01 Tom Tromey * Makefile.in (all-data-directory): Remove. (data-directory/Makefile): Remove. 2021-06-01 Tom Tromey * configure: Rebuild. * configure.ac: Use AS_HELP_STRING for enable-shared. Fix typo. 2021-06-01 Tom Tromey * silent-rules.mk (ECHO_CC): New variable. 2021-06-01 Tom Tromey * Makefile.in (SUBDIRS): Add testsuite. (all): Don't exclude testsuite. 2021-06-01 Tom Tromey * configure.ac: Copy some code from testsuite/configure.ac. (enable_libctf): Subst this, not ENABLE_LIBCTF. * configure: Rebuild. 2021-06-01 Tom de Vries PR symtab/26096 * minsyms.c (msymbol_is_cold_clone): New function. (msymbol_is_function): Use msymbol_is_cold_clone. 2021-06-01 Fredrik Hederstierna Andrew Burgess PR gdb/14383 * Makefile.in (ALL_TARGET_OBS): Add arm-none-tdep.o. (ALLDEPFILES): Add arm-none-tdep.c * arm-none-tdep.c: New file. * configure.tgt (arm*-*-*): Add arm-none-tdep.o to cpu_obs. 2021-06-01 Andrew Burgess Richard Bunt * breakpoint.c (check_longjmp_breakpoint_for_call_dummy): Add check for why the backtrace stopped. 2021-05-31 Simon Marchi * dwarf2/read.h (struct structured_type) : New. Update all callers. (struct dwarf2_per_bfd) : Add signature parameter, update all callers. * dwar2/read.c (dwarf2_per_bfd::allocate_signatured_type): Add signature parameter. 2021-05-31 Simon Marchi * dwarf2/read.h (signatured_type_up): New, use where possible. 2021-05-31 Simon Marchi * dwarf2/read.h (signatured_type, dwarf2_per_cu_data): Move up. 2021-05-30 Tom Tromey * dwarf2/read.c (dwarf2_per_bfd::allocate_signatured_type): Set is_debug_types. (create_signatured_type_table_from_index) (create_signatured_type_table_from_debug_names, add_type_unit) (read_comp_units_from_section): Update. 2021-05-30 Tom Tromey * dwarf2/read.h (struct dwarf2_per_bfd) : Remove. (resize_symtabs): Update. * dwarf2/read.c (dwarf2_per_bfd::allocate_per_cu) (dwarf2_per_bfd::allocate_signatured_type): Update. 2021-05-27 Simon Marchi * Fix tab after space indentation issues throughout. 2021-05-27 Simon Marchi * Fix some indentation mistakes throughout. 2021-05-27 Simon Marchi * breakpoint.h (iterate_over_bp_locations): Remove. Update users to use all_bp_locations. (all_bp_locations): New. * breakpoint.c (all_bp_locations): Make non-static. (iterate_over_bp_locations): Remove. 2021-05-27 Simon Marchi * breakpoint.h (iterate_over_breakpoints): Remove. Update callers to use all_breakpoints or all_breakpoints_safe. (breakpoint_range, all_breakpoints, breakpoint_safe_range, all_breakpoints_safe): Move here. * breakpoint.c (all_breakpoints, all_breakpoints_safe): Make non-static. (iterate_over_breakpoints): Remove. * python/py-finishbreakpoint.c (bpfinishpy_detect_out_scope_cb): Return void. * python/py-breakpoint.c (build_bp_list): Add comment, reverse return value logic. * guile/scm-breakpoint.c (bpscm_build_bp_list): Return void. 2021-05-27 Simon Marchi * breakpoint.c (get_first_locp_gte_addr): Remove. (ALL_BP_LOCATIONS_AT_ADDR): Remove. Replace all uses with all_bp_locations_at_addr. (struct bp_locations_at_addr_range): New. (all_bp_locations_at_addr): New. (bp_locations_compare_addrs): New. 2021-05-27 Simon Marchi * breakpoint.c (ALL_BP_LOCATIONS): Remove, update users to use all_bp_locations. (all_bp_locations): New. 2021-05-27 Simon Marchi * breakpoint.c (bp_locations): Change to std::vector, update all users. (bp_locations_count): Remove. (update_global_location_list): Change to work with indices rather than bp_location**. 2021-05-27 Simon Marchi * breakpoint.h (bp_locations_range): New. (struct breakpoint) : New. Use where possible. 2021-05-27 Simon Marchi * breakpoint.h (all_tracepoints): Remove. (breakpoint_iterator): Move here. (struct tracepoint_filter): New. (tracepoint_iterator): New. (tracepoint_range): New. (all_tracepoints): New. * breakpoint.c (ALL_TRACEPOINTS): Remove, replace all users with all_tracepoints. (breakpoint_iterator): Move to header. (all_tracepoints): New. * tracepoint.c (start_tracing): Adjust. 2021-05-27 Simon Marchi * breakpoint.c (breakpoint_safe_range): New. (all_breakpoints_safe): New. Use instead of ALL_BREAKPOINTS_SAFE where possible. 2021-05-27 Simon Marchi * breakpoint.c (ALL_BREAKPOINTS): Remove, replace all uses with all_breakpoints. (breakpoint_iterator): New. (breakpoint_range): New. (all_breakpoints): New. 2021-05-27 Hannes Domani * python/py-tui.c (tui_py_window::output): Add full_window argument. (gdbpy_tui_write): Parse "full_window" argument. 2021-05-27 Simon Marchi * make-init-c: Add option to reverse function calls. 2021-05-27 Simon Marchi * Makefile.in (INIT_FILES_FILTER_OUT): New. (INIT_FILES): Use INIT_FILES_FILTER_OUT. (stamp-init): Use make-init-c. * bpf-tdep.c (_initialize_bpf_tdep): Remove "void". * silent-rules.mk (ECHO_INIT_C): Change. * make-init-c: New file. 2021-05-27 Simon Marchi * command.h (add_alias_cmd): Accept target as cmd_list_element. Update callers. 2021-05-27 Simon Marchi * command.h (add_info_alias): Accept target as cmd_list_element. Update callers. 2021-05-27 Simon Marchi * command.h (add_com_alias): Accept target as cmd_list_element. Update callers. 2021-05-27 Simon Marchi * python/py-param.c (add_setshow_generic): Use return values of add_setshow functions. 2021-05-27 Simon Marchi * mi/mi-main.c (_initialize_mi_main): * python/py-auto-load.c (gdbpy_initialize_auto_load): * remote.c (_initialize_remote): 2021-05-27 Simon Marchi * command.h (set_show_commands): New. (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd, add_setshow_filename_cmd, add_setshow_string_cmd, add_setshow_string_noescape_cmd, add_setshow_optional_filename_cmd, add_setshow_integer_cmd, add_setshow_uinteger_cmd, add_setshow_zinteger_cmd, add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd): Return set_show_commands. Adjust callers. * cli/cli-decode.c (add_setshow_cmd_full): Return set_show_commands, remove result parameters, adjust callers. 2021-05-27 Tom de Vries PR symtab/27919 * dwarf2/read.c (process_psymtab_comp_unit): 2021-05-27 Tom de Vries * dwarf2/read.c (find_partial_die): Fix "Cannot not" typo in dwarf error. 2021-05-27 Tom de Vries PR symtab/27898 * dwarf2/cu.c (dwarf2_cu::dwarf2_cu): Add load_all_dies init. * dwarf2/cu.h (dwarf2_cu): Add load_all_dies field. * dwarf2/read.c (load_partial_dies, find_partial_die): Update. * dwarf2/read.h (dwarf2_per_cu_data::dwarf2_per_cu_data): Remove load_all_dies init. (dwarf2_per_cu_data): Remove load_all_dies field. 2021-05-26 Simon Marchi * regcache.c (reg_buffer::reg_buffer): Default-initialize m_registers array. 2021-05-26 Tom Tromey * dwarf2/read.c (allocate_type_unit_groups_table) (handle_DW_AT_stmt_list, allocate_dwo_file_hash_table): Use htab_delete_entry. (free_line_header_voidp): Remove. * completer.c (completion_tracker::completion_hash_entry::deleter): Remove. (completion_tracker::discard_completions): Use htab_delete_entry. * utils.h (htab_delete_entry): New template function. 2021-05-24 Hannes Domani * python/py-tui.c (tui_py_window::refresh_window): Avoid flickering. 2021-05-23 Tom de Vries PR tdep/27822 * target.h (struct target_ops): Mention target_thread_architecture in read_description comment. * x86-linux-nat.c (x86_linux_nat_target::read_description): Use pid to determine if process is 64-bit or 32-bit. * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Same. * ppc-linux-nat.c (ppc_linux_nat_target::read_description): Same. * riscv-linux-nat.c (riscv_linux_nat_target::read_description): Same. * s390-linux-nat.c (s390_linux_nat_target::read_description): Same. * arm-linux-nat.c (arm_linux_nat_target::read_description): Same. Likewise, use pid to determine if kernel supports reading VFP registers. 2021-05-22 Philippe Waroquiers * main.c (enum cmdarg_kind): Fix option type comments for CMDARG_EARLYINIT_FILE and CMDARG_EARLYINIT_COMMAND. 2021-05-21 Tom de Vries PR testsuite/25047 * contrib/cc-with-tweaks.sh: Handle -l. 2021-05-21 Tom de Vries PR breakpoint/27889 * jit.c (jit_breakpoint_re_set_internal): Skip separate debug objects. Call get_jiter_objfile_data with the_objfile. 2021-05-20 Simon Marchi * linespec.c (linespec_p): Remove. Replace all uses with "linespec *". 2021-05-20 Alexandra Hájková Pedro Alves * cli/cli-script.h (command_line_up): New unique_ptr typedef. * cli/cli-script.c (multi_line_command_p): Use unique_ptr command_line_up instead of struct command_line. (build_command_line): Likewise. (get_command_line): Update the cmd function call parameter. (process_next_line): Use unique_ptr command_line_up instead of struct command_line. (recurse_read_control_structure): Change the the type of next to command_line_up. (read_command_lines_1): Change type of `next' to be command_line_up and update all references of `next' accordingly. 2021-05-20 Alexandra Hájková * MAINTAINERS (Write After Approval): Add myself. 2021-05-19 John Baldwin * dwarf2/read.c (tu_abbrev_offset::operator<): Mark const. 2021-05-18 Alexandra Hájková * inflow.c (new_tty): Do not leak tty. 2021-05-17 Tom Tromey * dwarf2/read.h: Update include. * dwarf2/read.c: Update include. * dwarf2/line-header.c: Update include. * dwarf2/cu.h: Update include. * dwarf2/comp-unit-head.h: Rename from comp-unit.h. * dwarf2/comp-unit-head.c: Rename from comp-unit.c. * Makefile.in (COMMON_SFILES): Update. 2021-05-17 Tom Tromey * dwarf2/read.c (maybe_queue_comp_unit) (dwarf2_per_objfile::age_comp_units): Update. (dwarf2_add_dependence, dwarf2_mark_helper, dwarf2_mark): Move to dwarf2_cu methods. * dwarf2/cu.h (struct dwarf2_cu) : New methods. : Add "m_" prefix. Now private. : Add "m_" prefix. * dwarf2/cu.c (dwarf2_cu::dwarf2_cu): Update. (dwarf2_mark_helper): New function. (dwarf2_cu::mark, dwarf2_cu::add_dependence): New methods. 2021-05-17 Tom Tromey * dwarf2/read.c (dwarf2_cu::addr_sized_int_type) (dwarf2_cu::start_symtab, dwarf2_cu::addr_type) (dwarf2_cu::dwarf2_cu): Move to cu.c. * dwarf2/cu.c: New file. * Makefile.in (COMMON_SFILES): Add dwarf2/cu.c. 2021-05-17 Tom Tromey * Makefile.in (HFILES_NO_SRCDIR): Add dwarf2/cu.h. * dwarf2/read.c (struct delayed_method_info, struct dwarf2_cu): Move to cu.h. * dwarf2/cu.h: New file. 2021-05-17 Andrew Burgess * .dir-locals.el: Set sentence-end-double-space for all modes, and set brace-list-open to 0 for C and C++ modes. 2021-05-17 Tom Tromey * dwarf2/loc.c (dwarf2_evaluate_loc_desc::get_frame_base): Throw if frame is null. 2021-05-17 Tom Tromey * nat/linux-osdata.c (user_from_uid, time_from_time_t) (group_from_gid): Subtract one from strncpy length. 2021-05-17 Tom Tromey * source.c (add_path): Check 'p' before using 'p[-1]'. 2021-05-17 Tom Tromey * dwarf2/read.h (struct dwarf2_per_cu_data_deleter: New. (dwarf2_per_cu_data_up): New typedef. (struct dwarf2_per_bfd) : Change return type. : Use dwarf2_per_cu_data_up. * dwarf2/read.c (dwarf2_per_cu_data::operator()): New function. (dwarf2_per_bfd::allocate_per_cu): Return dwarf2_per_cu_data_up. (create_cu_from_index_list): Likewise. (create_signatured_type_table_from_index) (create_cus_from_debug_names_list, add_type_unit) (read_comp_units_from_section): Update. (dwarf2_find_containing_comp_unit): Change type of all_comp_units. (run_test): Update. 2021-05-17 Tom Tromey * dwarf2/read.c (tu_abbrev_offset::operator<): New method. (sort_tu_by_abbrev_offset): Remove. (build_type_psymtabs): Update. 2021-05-17 Simon Marchi * py-project.toml: New. * gdb-gdb.py.in: Re-format. 2021-05-17 Simon Marchi * cli/cli-decode.h (cmd_list_element) : New, use it. * command.h (cmd_func_p): Remove. * cli/cli-decode.c (cmd_func_p): Remove. 2021-05-17 Simon Marchi * cli/cli-decode.h (cmd_list_element) : New, use it. 2021-05-17 Simon Marchi * cli/cli-decode.h (cmd_list_element) : Rename to... : ... this. (add_alias_cmd): Rename old to target. (add_info_alias): Rename old_name to target_name. (add_com_alias): Likewise. 2021-05-17 Simon Marchi * Rename "prefixlist" parameters to "subcommands" throughout. * cli/cli-decode.h (cmd_list_element) : Rename to... : ... this. * cli/cli-decode.c (lookup_cmd_for_prefixlist): Rename to... (lookup_cmd_with_subcommands): ... this. 2021-05-17 Simon Marchi * cli/cli-decode.c (add_alias_cmd): Don't handle old == 0. 2021-05-17 Simon Marchi * cli/cli-decode.h (prefixname): Make const, move implementation to cli/cli-decode.c. * cli/cli-decode.c (cmd_list_element::prefixname): New. 2021-05-16 Weimin Pan * ctfread.c (new_symbol): Set function address. (read_func_kind_type): Remove incorrect type name setting. Don't copy name returned from ctf_type_ame_raw throughout file. 2021-05-14 Tom Tromey * rust-lang.c (rust_language::val_print_struct) (rust_language::print_enum): Use common_val_print, not value_print_inner. 2021-05-14 Tankut Baris Aktemur * python/py-inferior.c (infpy_get_connection_num): New function. (inferior_object_getset): Add a new element for 'connection_num'. * NEWS: Mention the 'connection_num' attribute of Inferior objects. 2021-05-14 Andrew Burgess * remote.c (check_pending_events_prevent_wildcard_vcont): Change argument type, update and re-wrap, header comment. (remote_target::commit_resumed): Convert any_process_wildcard and may_global_wildcard_vcont from int to bool. 2021-05-14 Kent Cheung * cp-valprint.c (cp_print_value): Replaced duplicate code. * guile/scm-pretty-print.c (ppscm_print_children): Check max_depth just before printing child values. (gdbscm_apply_val_pretty_printer): Don't check max_depth before printing string representation. * python/py-prettyprint.c (print_children): Check max_depth just before printing child values. (gdbpy_apply_val_pretty_printer): Don't check max_depth before printing string representation. 2021-05-14 Mike Frysinger * remote-sim.c: Change gdb/callback.h & gdb/remote-sim.h includes to sim/callback.h & sim/sim.h. 2021-05-13 Mike Frysinger * lm32-tdep.c: Delete gdb/callback.h, gdb/remote-sim.h, and sim-regno.h include. 2021-05-13 Simon Marchi * inf-child.h (inf_child_target) : New. * inf-child.c (inf_child_target::follow_exec): New. 2021-05-13 Simon Marchi * target.h (struct target_ops) : Add ptid_t parameter. (target_follow_exec): Likewise. * target.c (target_follow_exec): Add ptid_t parameter. * infrun.c (follow_exec): Adjust call to target_follow_exec, don't push target nor create thread. * linux-thread-db.c (class thread_db_target) : New. (thread_db_target::wait): Just return on TARGET_WAITKIND_EXECD. (thread_db_target::follow_exec): New. * remote.c (class remote_target) : Add ptid_t parameter. (remote_target::follow_exec): Call process_stratum_target::follow_exec. * target-delegates.c: Re-generate. 2021-05-13 Simon Marchi * infrun.c (follow_exec): Call target_follow_fork when follow-exec-mode is same. * target.h (target_follow_fork): Improve doc. 2021-05-13 Simon Marchi * cli/cli-decode.h (struct cmd_list_element) : Remove. * cli/cli-setshow.c (do_show_command): Adjust. 2021-05-13 Luis Machado * arch/aarch64-mte-linux.c (aarch64_mte_get_tag_granules): Don't include the last address in the range. 2021-05-12 Simon Marchi * python/python-internal.h (gdbpy_parse_command_name): Return gdb::unique_xmalloc_ptr. * python/py-cmd.c (gdbpy_parse_command_name): Likewise. (cmdpy_init): Adjust. * python/py-param.c (parmpy_init): Adjust. (add_setshow_generic): Take gdb::unique_xmalloc_ptr, release it when done. 2021-05-12 George Barrett * NEWS (Guile API): Note the addition of the new procedure. * guile/scm-value.c (gdbscm_value_const_value): Add implementation of value-const-value procedure. (value_functions): Add value-const-value procedure. 2021-05-12 George Barrett * NEWS (Guile API): Note the addition of new procedures. * guile/scm-value.c (gdbscm_reference_value): Add helper function for reference value creation. (gdbscm_value_reference_value): Add implementation of value-reference-value procedure. (gdbscm_value_rvalue_reference_value): Add implementation of value-rvalue-reference-value procedure. (value_functions): Add value-reference-value procedure. Add value-rvalue-reference-value procedure. 2021-05-12 George Barrett * guile/scm-type.c (type_integer_constants): Add binding for TYPE_CODE_RVALUE_REF. * guile/scm-value.c (gdbscm_value_referenced_value): Handle dereferencing of rvalue references. * NEWS (Guile API): Note improvements in rvalue reference support. 2021-05-12 Markus Metzger * btrace.c (handle_pt_insn_events): Ignore status update enable events. 2021-05-11 Simon Marchi * arm-tdep.c (arm_record_data_proc_misc_ld_str): Fix indentation. 2021-05-11 Simon Marchi * cli/cli-decode.h (struct cmd_list_element): Fix indentation. 2021-05-10 Lancelot Six PR gdb/27614 * contrib/gdb-add-index.sh: Fix when called with a symlink as an argument. 2021-05-10 Simon Marchi * nat/linux-waitpid.c (status_to_str): Show signal name. 2021-05-09 Andrew Burgess * python/py-breakpoint.c (pybp_debug): New static global. (show_pybp_debug): New function. (pybp_debug_printf): Define. (PYBP_SCOPED_DEBUG_ENTER_EXIT): Define. (gdbpy_breakpoint_created): Add some debugging. (gdbpy_breakpoint_deleted): Likewise. (gdbpy_breakpoint_modified): Likewise. (_initialize_py_breakpoint): New function. 2021-05-09 Andrew Burgess * python/py-unwind.c (pyuw_debug): Convert to bool. (show_pyuw_debug): New function. (pyuw_debug_printf): Define. (PYUW_SCOPED_DEBUG_ENTER_EXIT): Define. (pyuw_this_id): Convert to new debug print macros. (pyuw_prev_register): Likewise. (pyuw_sniffer): Likewise. (pyuw_dealloc_cache): Likewise. (_initialize_py_unwind): Update now pyuw_debug is a bool, and add show function when registering. 2021-05-09 Andrew Burgess * dummy-frame.c (fprint_dummy_frames): Convert use of fprint_frame_id to use frame_id::to_string. * frame.c (fprint_field): Delete. (fprint_frame_id): Moved to... (frame_id::to_string): ...this, rewritten to return a string. (fprint_frame): Convert use of fprint_frame_id to use frame_id::to_string. (compute_frame_id): Likewise. (frame_id_p): Likewise. (frame_id_eq): Likewise. (frame_id_inner): Likewise. * frame.h (struct frame_id) : New member function. (fprint_frame_id): Delete declaration. * guile/scm-frame.c (frscm_print_frame_smob): Convert use of fprint_frame_id to use frame_id::to_string. * python/py-frame.c (frame_object_to_frame_info): Likewise. * python/py-unwind.c (unwind_infopy_str): Likewise. (pyuw_this_id): Likewise. 2021-05-08 Simon Marchi * nat/linux-waitpid.c (status_to_str): Return std::string. * nat/linux-waitpid.h (status_to_str): Likewise. * linux-nat.c (linux_nat_post_attach_wait): Adjust. (linux_nat_target::attach): Adjust. (linux_handle_extended_wait): Adjust. (wait_lwp): Adjust. (stop_wait_callback): Adjust. (linux_nat_filter_event): Adjust. (linux_nat_wait_1): Adjust. * nat/linux-waitpid.c (status_to_str): Adjust. * nat/linux-waitpid.h (status_to_str): Adjust. 2021-05-08 Simon Marchi * infrun.h (infrun_debug_printf): Add missing space. 2021-05-08 Pedro Alves * linux-nat.c (linux_nat_target::supports_disable_randomization): Remove references to HAVE_PERSONALITY. * nat/linux-personality.c: Remove references to HAVE_PERSONALITY. (maybe_disable_address_space_randomization) (~maybe_disable_address_space_randomizatio): Remove references to HAVE_PERSONALITY. * config.in, configure: Regenerate. 2021-05-07 Andrew Burgess * cli/cli-cmds.c: Add 'gdbsupport/gdb_tilde_expand.h' include. (source_script_with_search): Perform tilde expansion. 2021-05-07 Simon Marchi * target-descriptions.c (struct target_desc_info) : Make std::string. (copy_inferior_target_desc_info): Adjust. (target_desc_info_free): Adjust. (target_find_description): Adjust. (set_tdesc_filename_cmd): Adjust. (show_tdesc_filename_cmd): Adjust. (unset_tdesc_filename_cmd): Adjust. (maint_print_c_tdesc_cmd): Adjust. 2021-05-07 Simon Marchi * target-descriptions.c (struct target_desc_info): Initialize fields. (get_tdesc_info): Use new. (target_desc_info_free): Use delete. 2021-05-07 Simon Marchi * target-descriptions.c (struct target_desc_info) : bool. (target_find_description): Adjust. (target_clear_description): Adjust. 2021-05-07 Simon Marchi * target-descriptions.c (struct target_desc_info) : Adjust doc. (target_desc_fetched): Remove. (current_target_desc): Remove. (target_description_filename): Remove. (target_find_description): Adjust. (target_clear_description): Adjust. (target_current_description): Adjust. (set_tdesc_filename_cmd): Adjust. (show_tdesc_filename_cmd): Adjust. (unset_tdesc_filename_cmd): Adjust. (maint_print_c_tdesc_cmd): Adjust. (maint_print_xml_tdesc_cmd): Adjust. 2021-05-07 Andrew Burgess * infcmd.c (notice_new_inferior): Change parameter type. * inferior.h (notice_new_inferior): Change parameter type. * remote.c (remote_notice_new_inferior): Change parameter type to bool. Also update type of local variable to bool. (remote_target::update_thread_list): Change type of local variable to bool. (remote_target::process_stop_reply): Pass bool instead of int to remote_notice_new_inferior. 2021-05-07 Simon Marchi * target.c (target_stack::unpush): Call target_ops::find_beneath to get the target beneath `t`. 2021-05-07 Simon Marchi * target.c (target_close): Check in all inferiors that the target is not pushed. 2021-05-07 Aaron Merey * debuginfod-support.c (debuginfod_init): Remove. (get_debuginfod_client): New function. 2021-05-07 Tom Tromey * breakpoint.c (ambiguous_names_p): Use htab_eq_string. * utils.c (streq_hash): Remove. * utils.h (streq_hash): Don't declare. * completer.c (completion_tracker::discard_completions): Update comment. * ada-lang.c (_initialize_ada_language): Use htab_eq_string. 2021-05-07 Simon Marchi * Re-format all Python files using black. 2021-05-07 Andrew Burgess * guile/guile-internal.h (gdbscm_safe_source_script): Change function return type. * guile/guile.c (gdbscm_source_script): Update to handle change in gdbscm_safe_source_script. * guile/scm-objfile.c (gdbscm_source_objfile_script): Likewise. * guile/scm-safe-call.c (gdbscm_safe_source_script): Change return type. 2021-05-06 Simon Marchi * inferior.h (class inferior) : Change type to unique_xmalloc_ptr. * inferior.c (inferior::~inferior): Don't free args. * infcmd.c (get_inferior_args): Adjust. (set_inferior_args): Adjust. 2021-05-06 Andrew Burgess * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob): Only print breakpoint locations when the breakpoint actually has a location. 2021-05-06 Tankut Baris Aktemur * mi/mi-cmd-break.c (mi_cmd_break_condition): New function. * mi/mi-cmds.c: Change the binding of "-break-condition" to mi_cmd_break_condition. * mi/mi-cmds.h (mi_cmd_break_condition): Declare. * breakpoint.h (set_breakpoint_condition): Declare a new overload. * breakpoint.c (set_breakpoint_condition): New overloaded function extracted out from ... (condition_command): ... this. * NEWS: Mention the change. 2021-05-06 Tankut Baris Aktemur * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Recognize the '--force-condition' flag to force the condition in the '-break-insert' and '-dprintf-insert' commands. * NEWS: Mention the change. 2021-05-04 Tom de Vries PR guile/27806 * guile/guile.c (gdbscm_initialize): Don't let guile change libgmp memory functions. 2021-04-30 Tom Tromey * dwarf2/read.c (dwarf2_initialize_objfile): Update. (add_signatured_type_cu_to_table): Remove. (create_debug_type_hash_table): Assume dwo_file is non-null. (create_debug_types_hash_table): Update comment. (create_all_type_units): Remove. (sort_tu_by_abbrev_offset): Update comment. (build_type_psymtabs): Rename from build_type_psymtabs_1. (build_type_psymtabs): Remove. (process_skeletonless_type_unit, dwarf2_build_psymtabs_hard): Update. (read_comp_units_from_section): Add types_htab, section_kind parameters. (create_all_comp_units): Read type units. 2021-04-30 Tom Tromey * dwarf2/read.h (struct tu_stats) : New member. (struct dwarf2_per_bfd) : Remove : Now inline. : Remove. * dwarf2/read.c (dwarf2_per_bfd::~dwarf2_per_bfd): Update. (dwarf2_per_bfd::get_cutu, dwarf2_per_bfd::get_cu) (dwarf2_per_bfd::get_tu): Remove. (dwarf2_per_bfd::allocate_signatured_type): Update nr_tus. (create_signatured_type_table_from_index) (create_signatured_type_table_from_debug_names) (dw2_symtab_iter_next, dwarf2_base_index_functions::print_stats) (dwarf2_base_index_functions::expand_all_symtabs) (dw2_expand_marked_cus, dw_expand_symtabs_matching_file_matcher) (dwarf2_base_index_functions::map_symbol_filenames) (dw2_debug_names_iterator::next, dwarf2_initialize_objfile) (add_signatured_type_cu_to_table, create_all_type_units) (add_type_unit, build_type_psymtabs_1, print_tu_stats) (create_all_comp_units): Update. * dwarf2/index-write.c (check_dwarf64_offsets, write_gdbindex) (write_debug_names): Update. 2021-04-30 Tom Tromey * dwarf2/read.h (struct dwarf2_per_bfd) : Change return type. : Hold unique pointers. (struct dwarf2_per_cu_data): Add constructor and initializers. (struct signatured_type): Derive from dwarf2_per_cu_data. * dwarf2/read.c (type_unit_group): Derive from dwarf2_per_cu_data. (dwarf2_per_bfd::get_cutu, dwarf2_per_bfd::get_cu) (dwarf2_per_bfd::get_tu) (dwarf2_per_bfd::allocate_signatured_type) (dwarf2_per_bfd::allocate_signatured_type) (create_cu_from_index_list, create_cus_from_index_list) (create_signatured_type_table_from_index) (create_signatured_type_table_from_debug_names) (create_addrmap_from_aranges) (dwarf2_base_index_functions::find_last_source_symtab) (dw_expand_symtabs_matching_file_matcher) (dwarf2_gdb_index::expand_symtabs_matching) (dwarf2_base_index_functions::map_symbol_filenames) (create_cus_from_debug_names_list) (dw2_debug_names_iterator::next) (dwarf2_debug_names_index::expand_symtabs_matching) (create_debug_type_hash_table, add_type_unit) (fill_in_sig_entry_from_dwo_entry, lookup_dwo_signatured_type): Update. (allocate_type_unit_groups_table): Use delete. (create_type_unit_group): Change return type. Use new. (get_type_unit_group, build_type_psymtabs_1) (build_type_psymtab_dependencies) (process_skeletonless_type_unit, set_partial_user) (dwarf2_build_psymtabs_hard, read_comp_units_from_section) (create_cus_hash_table, queue_and_load_dwo_tu, follow_die_sig_1) (read_signatured_type): Update. (dwarf2_find_containing_comp_unit): Change type of 'all_comp_units'. (run_test): Update. (dwarf2_per_bfd::allocate_per_cu) (dwarf2_per_bfd::allocate_signatured_type): Change return type. Use new. (add_signatured_type_cu_to_table): Update. * dwarf2/index-write.c (write_one_signatured_type) (check_dwarf64_offsets, psyms_seen_size, write_gdbindex) (write_debug_names): Update. 2021-04-30 Tom Tromey * nat/windows-nat.h (get_image_name): Don't declare. * nat/windows-nat.c (get_image_name): Now static. 2021-04-30 Tom Tromey * windows-nat.c (windows_nat::handle_load_dll): Update. (windows_nat_target::get_windows_debug_event): Call dll_loaded_event. (windows_add_all_dlls, windows_add_dll): Move to nat/windows-nat.c. * nat/windows-nat.h (handle_load_dll): Change parameters. (dll_loaded_event, windows_add_all_dlls): Declare. * nat/windows-nat.c (windows_add_dll, windows_add_all_dlls): Move from windows-nat.c. (dll_loaded_event): New function. 2021-04-30 Tom Tromey * nat/windows-nat.h (GenerateConsoleCtrlEvent): New define. (GenerateConsoleCtrlEvent_ftype, GenerateConsoleCtrlEvent): Declare. * nat/windows-nat.c (GenerateConsoleCtrlEvent): Define. (initialize_loadable): Initialize GenerateConsoleCtrlEvent. 2021-04-30 Tom Tromey * windows-nat.c: Move code to nat/windows-nat.[ch]. (_initialize_windows_nat): Call initialize_loadable. * nat/windows-nat.h (AdjustTokenPrivileges) (DebugActiveProcessStop, DebugBreakProcess) (DebugSetProcessKillOnExit, EnumProcessModules) (EnumProcessModulesEx, GetModuleInformation) (GetModuleFileNameExA, GetModuleFileNameExW) (LookupPrivilegeValueA, OpenProcessToken, GetConsoleFontSize) (GetCurrentConsoleFont, Wow64SuspendThread) (Wow64GetThreadContext, Wow64SetThreadContext) (Wow64GetThreadSelectorEntry): Move from windows-nat.c. (AdjustTokenPrivileges_ftype) (DebugActiveProcessStop_ftype, DebugBreakProcess_ftype) (DebugSetProcessKillOnExit_ftype, EnumProcessModules_ftype) (EnumProcessModulesEx_ftype, GetModuleInformation_ftype) (GetModuleFileNameExA_ftype, GetModuleFileNameExW_ftype) (LookupPrivilegeValueA_ftype, OpenProcessToken_ftype) (GetConsoleFontSize_ftype) (GetCurrentConsoleFont_ftype, Wow64SuspendThread_ftype) (Wow64GetThreadContext_ftype, Wow64SetThreadContext_ftype) (Wow64GetThreadSelectorEntry_ftype): Likewise. (initialize_loadable): Declare. * nat/windows-nat.c (AdjustTokenPrivileges) (DebugActiveProcessStop, DebugBreakProcess) (DebugSetProcessKillOnExit, EnumProcessModules) (EnumProcessModulesEx, GetModuleInformation, GetModuleFileNameExA) (GetModuleFileNameExW, LookupPrivilegeValueA, OpenProcessToken) (GetCurrentConsoleFont, GetConsoleFontSize, Wow64SuspendThread) (Wow64GetThreadContext, Wow64SetThreadContext) (Wow64GetThreadSelectorEntry): Define. (bad, bad_GetCurrentConsoleFont, bad_GetConsoleFontSize): Move from windows-nat.c. (initialize_loadable): Likewise, and rename. 2021-04-30 Tom Tromey * windows-nat.c (bad_GetModuleFileNameEx): Remove define. (bad_DebugActiveProcessStop, bad_DebugBreakProcess) (bad_DebugSetProcessKillOnExit, bad_EnumProcessModules) (bad_GetModuleFileNameExW, bad_GetModuleFileNameExA) (bad_GetModuleInformation, bad_OpenProcessToken): Remove. (bad): New template functions. (_initialize_loadable): Update. 2021-04-30 Tom Tromey * ada-lang.c (ada_index_type): Use ada_check_typedef. 2021-04-29 Simon Marchi * auto-load.h: Split namespace declaration. 2021-04-29 Simon Marchi * infrun.c (save_waitstatus): Move variables to inner scope. 2021-04-29 Andrew Burgess * NEWS: Fix typo and stray full stop. 2021-04-28 Tom Tromey * ada-exp.y (primary): Use new type for null pointer. * ada-lang.c (ada_type_match): Remove "may_deref" parameter. Handle null pointer. (ada_args_match): Update. * ada-valprint.c (ada_value_print_ptr, ada_value_print): Handle null pointer. 2021-04-28 Andrew Burgess * NEWS: Mention new commands. * python/python.c (python_ignore_environment): New static global. (show_python_ignore_environment): New function. (set_python_ignore_environment): New function. (python_dont_write_bytecode): New static global. (show_python_dont_write_bytecode): New function. (set_python_dont_write_bytecode): New function. (_initialize_python): Register new commands. 2021-04-28 Andrew Burgess * extension-priv.h (struct extension_language_ops): Rename 'finish_initialization' to 'initialize'. * extension.c (finish_ext_lang_initialization): Renamed to... (ext_lang_initialization): ...this, update comment, and updated the calls to reflect the change in struct extension_language_ops. * extension.h (finish_ext_lang_initialization): Renamed to... (ext_lang_initialization): ...this. * guile/guile.c (gdbscm_finish_initialization): Renamed to... (gdbscm_initialize): ...this, update comment at definition. (guile_extension_ops): Update. * main.c (captured_main_1): Update call to finish_ext_lang_initialization. * python/python.c (gdbpy_finish_initialization): Rename to... (gdbpy_initialize): ...this, update comment at definition, and update call to do_finish_initialization. (python_extension_ops): Update. (do_finish_initialization): Rename to... (do_initialize): ...this, and update comment. 2021-04-28 Andrew Burgess * main.c (captured_main_1): Add a call to finish_ext_lang_initialization. * top.c (gdb_init): Remove call to finish_ext_lang_initialization. 2021-04-28 Andrew Burgess * guile/guile.c (gdbscm_set_backtrace): Add declaration. (gdbscm_finish_initialization): Add code moved from _initialize_guile. (_initialize_guile): Move code to gdbscm_finish_initialization. * guile/scm-arch.c (gdbscm_initialize_arches): Move some code into _initialize_scm_arch. (_initialize_scm_arch): New function. * guile/scm-block.c (gdbscm_initialize_blocks): Move some code into _initialize_scm_block. (_initialize_scm_block): New function. * guile/scm-frame.c (gdbscm_initialize_frames): Move some code into _initialize_scm_frame. (_initialize_scm_frame): New function. * guile/scm-objfile.c (gdbscm_initialize_objfiles): Move some code into _initialize_scm_objfile. (_initialize_scm_objfile): New function. * guile/scm-progspace.c (gdbscm_initialize_pspaces): Move some code into _initialize_scm_progspace. (_initialize_scm_progspace): New function. * guile/scm-symbol.c (gdbscm_initialize_symbols): Move some code into _initialize_scm_symbol. (_initialize_scm_symbol): New function. * guile/scm-symtab.c (gdbscm_initialize_symtabs): Move some code into _initialize_scm_symtab. (_initialize_scm_symtab): New function. * guile/scm-type.c (gdbscm_initialize_types): Move some code into _initialize_scm_type. (_initialize_scm_type): New function. 2021-04-28 Andrew Burgess * python/py-arch.c (_initialize_py_arch): New function. (gdbpy_initialize_arch): Move code to _initialize_py_arch. * python/py-block.c (_initialize_py_block): New function. (gdbpy_initialize_blocks): Move code to _initialize_py_block. * python/py-inferior.c (_initialize_py_inferior): New function. (gdbpy_initialize_inferior): Move code to _initialize_py_inferior. * python/py-objfile.c (_initialize_py_objfile): New function. (gdbpy_initialize_objfile): Move code to _initialize_py_objfile. * python/py-progspace.c (_initialize_py_progspace): New function. (gdbpy_initialize_pspace): Move code to _initialize_py_progspace. * python/py-registers.c (_initialize_py_registers): New function. (gdbpy_initialize_registers): Move code to _initialize_py_registers. * python/py-symbol.c (_initialize_py_symbol): New function. (gdbpy_initialize_symbols): Move code to _initialize_py_symbol. * python/py-symtab.c (_initialize_py_symtab): New function. (gdbpy_initialize_symtabs): Move code to _initialize_py_symtab. * python/py-type.c (_initialize_py_type): New function. (gdbpy_initialize_types): Move code to _initialize_py_type. * python/py-unwind.c (_initialize_py_unwind): New function. (gdbpy_initialize_unwind): Move code to _initialize_py_unwind. * python/python.c (_initialize_python): Move call to do_start_initialization to gdbpy_finish_initialization. (gdbpy_finish_initialization): Add call to do_start_initialization. 2021-04-28 Andrew Burgess * extension.c (struct scoped_default_signal): New struct. (scoped_default_sigint): New typedef. (finish_ext_lang_initialization): Make use of scoped_default_sigint. 2021-04-28 Andrew Burgess * main.c (captured_main_1): Don't pass argument to gdb_init. * top.c (gdb_init): Remove unused argument, and add header comment. * top.h (gdb_init): Remove argument. 2021-04-27 Luis Machado * psymtab.c (psymbol_functions::dump): Output newline. Remove wrap. * symmisc.c (dump_objfile): Likewise. 2021-04-27 Michael Weghorn Simon Marchi * gdb/auto-load.c (_initialize_auto_load): 'Specify token when attaching the 'auto_load_new_objfile' observer, so other observers can specify it as a dependency. * gdb/auto-load.h (struct token): Declare 'auto_load_new_objfile_observer_token' as token to be used for the 'auto_load_new_objfile' observer. * gdb/python/py-inferior.c (gdbpy_initialize_inferior): Make 'python_new_objfile' observer depend on 'auto_load_new_objfile' observer, so it gets notified after the latter. 2021-04-27 Michael Weghorn Simon Marchi * unittests/observable-selftests.c (dependency_test_counters): New. (observer_token0, observer_token1, observer_token2, observer_token3, observer_token4, observer_token5): New. (struct dependency_observer_data): New struct. (observer_dependency_test_callback): New function. (test_observers): New. (run_dependency_test): New function. (test_dependency): New. (_initialize_observer_selftest): Register dependency test. 2021-04-26 Simon Marchi PR gdb/27773 * cli/cli-dump.c (dump_binary_file): Check result of gdb_fopen_cloexec. 2021-04-25 Sergei Trofimovich * sparc-linux-nat.c (sparc_linux_nat_target): fix sparc build by passing `process_stratum_target*` parameter. 2021-04-25 Lancelot Six PR gdb/22640 * typeprint.h (struct type_print_options): Add print_in_hex flag. (struct print_offset_data): Add print_in_hex flag, add a constructor accepting a type_print_options* argument. * typeprint.c (type_print_raw_options, default_ptype_flags): Set default value for print_in_hex. (print_offset_data::indentation): Allow more horizontal space. (print_offset_data::print_offset_data): Add ctor. (print_offset_data::maybe_print_hole, print_offset_data::update): Handle the print_in_hex flag. (whatis_exp): Handle 'x' and 'd' flags. (print_offsets_and_sizes_in_hex): Declare. (set_print_offsets_and_sizes_in_hex): Create. (show_print_offsets_and_sizes_in_hex): Create. (_initialize_typeprint): Update help message for the ptype command, register the 'set print type hex' and 'show print type hex' commands. * c-typeprint.c (c_print_type, c_type_print_base_struct_union) (c_type_print_base): Construct the print_offset_data object using the type_print_optons parameter. * rust-lang.c (rust_language::print_type): Construct the print_offset_data object using the type_print_optons parameter. * NEWS: Mention the new flags of the ptype command. 2021-04-25 Lancelot Six * typeprint.h (struct type_print_options): Move before print_offset_data. 2021-04-25 Joel Brobecker GDB 10.2 released. 2021-04-23 Simon Marchi * observable.c (observer_debug): Change to bool. 2021-04-23 Andrew Burgess * dwarf2/read.c: Add 'unordered_set' include. (dwarf2_base_index_functions::map_symbol_filenames): Replace 'visited' hash table with 'qfn_cache' unordered_set. Remove use of per_Bfd->filenames_cache cache, and use function local filenames_cache instead. Reindent. * dwarf2/read.h (struct dwarf2_per_bfd) : Delete. 2021-04-22 Simon Marchi * breakpoint.c (iterate_over_bp_locations): Change callback to function view, remove data parameter. * breakpoint.h (iterate_over_bp_locations): Likewise. * record-full.c (record_full_sync_record_breakpoints): Remove data parameter. 2021-04-22 Tom Tromey * c-typeprint.c (c_type_print_base_struct_union): Use print_spaces_filtered_with_print_options. 2021-04-22 Simon Marchi PR gdb/27757 * python/py-type.c (typy_range): Check that bounds are constant before accessing them as such. * guile/scm-type.c (gdbscm_type_range): Likewise. 2021-04-22 Tankut Baris Aktemur * Makefile.in (COMMON_SFILES): Remove continuations.c. * inferior.c (inferior::add_continuation): New method, adapted from 'add_inferior_continuation'. (inferior::do_all_continuations): New method, adapted from 'do_all_inferior_continuations'. (inferior::~inferior): Clear the list of continuations directly. * inferior.h (class inferior) : Rename into... : ...this and make private. * continuations.c: Remove. * continuations.h: Remove. * event-top.c: Don't include "continuations.h". Update the users below. * inf-loop.c (inferior_event_handler) * infcmd.c (attach_command) (notice_new_inferior): Update. 2021-04-22 Tankut Baris Aktemur * inferior.h (class inferior) : Change the type to be an std::list of std::function's. Update the references and uses below. * continuations.c (struct continuation): Delete. (make_continuation): Delete. (do_my_continuations_1): Delete. (do_my_continuations): Delete. (discard_my_continuations_1): Delete. (discard_my_continuations): Delete. (add_inferior_continuation): Update. (do_all_inferior_continuations): Update. (discard_all_inferior_continuations): Update. * continuations.h (add_inferior_continuation): Update to take an std::function as the parameter. * infcmd.c (struct attach_command_continuation_args): Delete. (attach_command_continuation): Delete. (attach_command_continuation_free_args): Delete. (attach_command): Update. (notice_new_inferior): Update. 2021-04-22 Tankut Baris Aktemur * continuations.h: Update the general comment. * inferior.h (class inferior) : Update the comment. * interps.c: Do not include "continuations.h". 2021-04-22 Tankut Baris Aktemur * continuations.h (do_all_inferior_continuations): Remove the 'err' parameter. Update the references below. * continuations.c (do_my_continuations_1) (do_my_continuations) (do_all_inferior_continuations): Update. * inf-loop.c (inferior_event_handler): Update. * infcmd.c (attach_command_continuation): Update. 2021-04-22 Tankut Baris Aktemur * infcmd.c (attach_post_wait): Update the function comment. 2021-04-22 Tankut Baris Aktemur * infcmd.c (attach_post_wait): Remove the unused parameter 'args'. Update the references below. (struct attach_command_continuation_args) (attach_command_continuation) (attach_command_continuation_free_args) (attach_command) (notice_new_inferior): Update to remove the reference to 'args'. 2021-04-22 Simon Marchi Tom de Vries PR remote/27710 * remote.c (remote_target_is_non_stop_p): New function. * remote.h (remote_target_is_non_stop_p): Declare. * remote-notif.c (remote_async_get_pending_events_handler): Fix assert to check non-stopness using notif_state->remote rather current target. 2021-04-22 Tom Tromey * rust-parse.c (rust_parser::parse_sizeof): Remove KW_MUT code. (struct typed_val_int) : Now ULONGEST. (rust_parser::parse_array_type): Remove negative check. (rust_lex_int_test): Change 'value' to ULONGEST. 2021-04-22 Andrew Burgess * arch-utils.c (default_addressable_memory_unit_size): Return a value based on bfd's bits per byte. 2021-04-21 Tom Tromey * dwarf2/read.h (struct dwarf2_per_cu_data) : Now unsigned char. (struct dwarf2_per_cu_data): Rearrange. * dwarf2/comp-unit.h (struct comp_unit_head) : Now unsigned char. (struct comp_unit_head): Rearrange. * dwarf2/comp-unit.c (read_comp_unit_head): Update. 2021-04-21 Tom de Vries PR build/27681 * configure.ac: Remove --without-included-regex/--with-included-regex. * config.in: Regenerate. * configure: Regenerate. * gdb_regex.h: Assume USE_INCLUDED_REGEX is defined. 2021-04-21 Tankut Baris Aktemur * breakpoint.h (create_breakpoint): Add a new parameter, 'force_condition'. * breakpoint.c (create_breakpoint): Use the 'force_condition' argument when 'parse_extra' is false to check if the condition is invalid at all of the breakpoint locations. Update the users below. (break_command_1) (dprintf_command) (trace_command) (ftrace_command) (strace_command) (create_tracepoint_from_upload): Update. * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update. * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update. * python/py-breakpoint.c (bppy_init): Update. * python/py-finishbreakpoint.c (bpfinishpy_init): Update. 2021-04-21 Tankut Baris Aktemur * breakpoint.c (print_one_breakpoint_location): Display "N" for disabled-by-condition locations on MI-like output. (breakpoint_1): Do not display the disabled-by-condition footnote if the output is MI-like. 2021-04-21 Frederic Cambus * syscalls/update-netbsd.sh: Fix script name display in usage, and update year range in generated copyright notices. 2021-04-20 Felix Willgerodt * c-exp.y (qualifier_seq_noopt): Replace qualifier_seq with qualifier_seq_noopt. 2021-04-20 Felix Willgerodt * c-exp.y (single_qualifier): Handle UNKNOWN_CPP_NAME. 2021-04-19 Andrew Burgess * producer.c: Replace 'regex' include with 'gdb_regex.h'. (producer_is_icc): Replace use of std::regex with gdb's compiled_regex. 2021-04-17 Tom Tromey PR gdb/23743: * dwarf2/read.c (class offset_view): New. (struct symbol_table_slot): Remove. (struct mapped_index) : Change type. : New methods. : Rewrite. (read_gdb_index_from_buffer): Update. (struct dw2_symtab_iterator) : Change type. (dw2_symtab_iter_init_common, dw2_symtab_iter_init) (dw2_symtab_iter_next, dw2_expand_marked_cus): Update. * dwarf2/index-write.c (class data_buf) : Remove. : New methods. (write_hash_table, add_address_entry, write_gdbindex_1) (write_debug_names): Update. * dwarf2/index-common.h (byte_swap, MAYBE_SWAP): Remove. 2021-04-17 Tom Tromey * dwarf2/index-write.c (write_psymtabs_to_index): Check partial_symtabs. 2021-04-17 Tom Tromey * psymtab.c (psymbol_functions::expand_matching_symbols): Rename from map_matching_symbols. Change parameters. * psympriv.h (struct psymbol_functions) : Rename from map_matching_symbols. Change parameters. * dwarf2/read.c (struct dwarf2_gdb_index) : Rename from map_matching_symbols. Change parameters. (struct dwarf2_debug_names_index) : Rename from map_matching_symbols. Change parameters. (dwarf2_gdb_index::expand_matching_symbols): Rename from dw2_map_matching_symbols. Change parameters. (dwarf2_gdb_index::expand_matching_symbols): Remove old implementation. (dwarf2_debug_names_index::expand_matching_symbols): Rename from map_matching_symbols. Change parameters. * objfiles.h (struct objfile) : Rename from map_matching_symbols. Change parameters. * symfile-debug.c (objfile::expand_matching_symbols): Rename from map_matching_symbols. Change parameters. * ada-lang.c (map_matching_symbols): New function. (add_nonlocal_symbols): Update. 2021-04-17 Tom Tromey * quick-symbol.h (struct quick_symbol_functions) : Remove. * psymtab.c (psymbol_functions::expand_symtabs_with_fullname): Remove. * psympriv.h (struct psymbol_functions) : Remove. * dwarf2/read.c (struct dwarf2_base_index_functions) : Remove. (dwarf2_base_index_functions::expand_symtabs_with_fullname): Remove. * objfiles.h (struct objfile) : Update comment. * symfile-debug.c (objfile::expand_symtabs_with_fullname): Rewrite. 2021-04-17 Tom Tromey * symfile-debug.c (objfile::expand_symtabs_for_function): Rewrite. * quick-symbol.h (struct quick_symbol_functions) : Remove. * psymtab.c (psymbol_functions::expand_symtabs_for_function): Remove. * psympriv.h (struct psymbol_functions) : Remove. * objfiles.h (struct objfile) : Update comment. * dwarf2/read.c (struct dwarf2_gdb_index) : Remove. (struct dwarf2_debug_names_index) : Remove. (find_slot_in_mapped_hash): Remove. (dw2_symtab_iter_init_common): Merge with dw2_symtab_iter_init. (dw2_symtab_iter_init): Remove one overload. (dwarf2_gdb_index::expand_symtabs_for_function) (dwarf2_debug_names_index::expand_symtabs_for_function): Remove. 2021-04-17 Tom Tromey * symfile-debug.c (objfile::map_symtabs_matching_filename): Rewrite. * quick-symbol.h (struct quick_symbol_functions) : Remove. * psymtab.c (partial_map_expand_apply) (psymbol_functions::map_symtabs_matching_filename): Remove. * psympriv.h (struct psymbol_functions) : Remove. * objfiles.h (struct objfile) : Update comment. * dwarf2/read.c (struct dwarf2_base_index_functions) : Remove. (dw2_map_expand_apply) (dwarf2_base_index_functions::map_symtabs_matching_filename): Remove. 2021-04-17 Tom Tromey * symfile-debug.c (objfile::lookup_symbol): Rewrite. * quick-symbol.h (struct quick_symbol_functions) : Remove. * psymtab.c (psymbol_functions::lookup_symbol): Remove. * psympriv.h (struct psymbol_functions) : Remove. * objfiles.h (struct objfile) : Add comment. * dwarf2/read.c (struct dwarf2_gdb_index) : Remove. (struct dwarf2_debug_names_index) : Remove. (dwarf2_gdb_index::lookup_symbol) (dwarf2_debug_names_index::lookup_symbol): Remove. 2021-04-17 Tom Tromey * symtab.c (global_symbol_searcher::expand_symtabs): Update. * symmisc.c (maintenance_expand_symtabs): Update. * symfile.c (expand_symtabs_matching): Update. * symfile-debug.c (objfile::expand_symtabs_matching): Add 'domain' parameter. * quick-symbol.h (struct quick_symbol_functions) : Add 'domain' parameter. * psymtab.c (recursively_search_psymtabs) (psymbol_functions::expand_symtabs_matching): Add 'domain' parameter. * psympriv.h (struct psymbol_functions) : Add 'domain' parameter. * objfiles.h (struct objfile) : Add 'domain' parameter. * linespec.c (iterate_over_all_matching_symtabs): Update. * dwarf2/read.c (struct dwarf2_gdb_index) : Add 'domain' parameter. (struct dwarf2_debug_names_index) : Add 'domain' parameter. (dw2_expand_symtabs_matching) (dwarf2_gdb_index::expand_symtabs_matching) (dw2_debug_names_iterator) (dwarf2_debug_names_index::expand_symtabs_matching): Add 'domain' parameter. 2021-04-17 Tom Tromey * symtab.c (global_symbol_searcher::expand_symtabs) (default_collect_symbol_completion_matches_break_on): Update. * symmisc.c (maintenance_expand_symtabs): Update. * symfile.h (expand_symtabs_matching): Add search_flags parameter. * symfile.c (expand_symtabs_matching): Add search_flags parameter. * symfile-debug.c (objfile::expand_symtabs_matching): Add search_flags parameter. * quick-symbol.h (struct quick_symbol_functions) : Add search_flags parameter. * python/py-symbol.c (gdbpy_lookup_static_symbols): Update. * psymtab.c (recursively_search_psymtabs) (psymbol_functions::expand_symtabs_matching): Add search_flags parameter. * psympriv.h (struct psymbol_functions) : Add search_flags parameter. * objfiles.h (struct objfile) : Add search_flags parameter. * linespec.c (iterate_over_all_matching_symtabs): Update. * dwarf2/read.c (struct dwarf2_gdb_index) : Add search_flags parameter. (struct dwarf2_debug_names_index) : Add search_flags parameter. (dw2_map_matching_symbols): Update. (dw2_expand_marked_cus, dw2_expand_symtabs_matching) (dwarf2_gdb_index::expand_symtabs_matching): Add search_flags parameter. (dw2_debug_names_iterator): Change block_index to search flags. : Likewise. (dw2_debug_names_iterator::next) (dwarf2_debug_names_index::lookup_symbol) (dwarf2_debug_names_index::expand_symtabs_for_function) (dwarf2_debug_names_index::map_matching_symbols) (dwarf2_debug_names_index::map_matching_symbols): Update. (dwarf2_debug_names_index::expand_symtabs_matching): Add search_flags parameter. * ada-lang.c (ada_add_global_exceptions) (collect_symbol_completion_matches): Update. 2021-04-17 Tom Tromey * symtab.c (default_collect_symbol_completion_matches_break_on): Update. * symfile.h (expand_symtabs_matching): Return bool. * symfile.c (expand_symtabs_matching): Return bool. * symfile-debug.c (objfile::expand_symtabs_matching): Return bool. * quick-symbol.h (expand_symtabs_exp_notify_ftype): Return bool. (struct quick_symbol_functions) : Return bool. * psymtab.c (psymbol_functions::expand_symtabs_matching): Return bool. * psympriv.h (struct psymbol_functions) : Return bool. * objfiles.h (struct objfile) : Return bool. * dwarf2/read.c (struct dwarf2_gdb_index) : Return bool. (struct dwarf2_debug_names_index) : Return bool. (dw2_expand_symtabs_matching_symbol): Return bool. (dw2_expand_symtabs_matching_one, dw2_expand_marked_cus) (dw2_expand_symtabs_matching) (dwarf2_gdb_index::expand_symtabs_matching) (dwarf2_debug_names_index::expand_symtabs_matching) (dwarf2_debug_names_index::expand_symtabs_matching): Return bool. 2021-04-17 Tom Tromey * quick-symbol.h (enum block_search_flag_values): New. (block_search_flags): New enum flags type. 2021-04-16 Tom Tromey * rust-parse.c: New file. * rust-exp.y: Remove. * Makefile.in (COMMON_SFILES): Add rust-parse.c. (SFILES): Remove rust-exp.y. (YYFILES, local-maintainer-clean): Remove rust-exp.c. 2021-04-16 Luis Machado * arch-utils.c (default_floatformat_for_type): Handle bfloat16. 2021-04-15 John Baldwin * fbsd-nat.c (fbsd_lwp_debug_printf, fbsd_nat_debug_printf): New, use throughout file. 2021-04-15 Tom Tromey * ada-valprint.c (ada_value_print_array): Handle optimized-out arrays. 2021-04-15 Tom Tromey * printcmd.c (print_variable_and_value): Use common_val_print_checked. 2021-04-15 Tom Tromey * rust-exp.y (rust_parser::convert_ast_to_expression): Update. * parse.c (parser_state::push_symbol, parser_state::push_dollar): Update. * p-exp.y (variable): Update. * m2-exp.y (variable): Update. * go-exp.y (variable): Update. * expprint.c (dump_for_expression): New overload. * expop.h (check_objfile): New overload. (check_constant): New overload. (class var_value_operation): Use block_symbol. : Rewrite. * eval.c (var_value_operation::evaluate) (var_value_operation::evaluate_funcall) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_with_coercion) (var_value_operation::evaluate_for_sizeof) (var_value_operation::evaluate_for_cast): Update. * d-exp.y (PrimaryExpression): Update. * c-exp.y (variable): Update. * ax-gdb.c (var_value_operation::do_generate_ax): Update. * ada-lang.c (ada_var_value_operation::evaluate_for_cast) (ada_var_value_operation::evaluate) (ada_var_value_operation::resolve) (ada_funcall_operation::resolve): Update. * ada-exp.y (write_var_from_sym, write_object_renaming) (write_ambiguous_var, write_var_or_type, write_name_assoc) (maybe_overload): Update. * ada-exp.h (class ada_var_value_operation) : Rewrite. 2021-04-15 Tom Tromey Andrew Burgess * NEWS: Add entry. * main.c (captured_main_1): Call check_quiet_mode. * top.c (startup_quiet): New global. (check_quiet_mode): New function. (show_startup_quiet): New function. (init_main): Register new command. * top.h (check_quiet_mode): Declare. 2021-04-15 Andrew Burgess PR cli/25956 * NEWS: Mention new early init files and command line options. * config.in: Regenerate. * configure: Regenerate. * configure.ac: Define GDBEARLYINIT. * main.c (get_earlyinit_files): New function. (enum cmdarg_kind): Add CMDARG_EARLYINIT_FILE and CMDARG_EARLYINIT_COMMAND. (captured_main_1): Add support for new command line flags, and for processing startup files. (print_gdb_help): Include startup files in the output. 2021-04-15 Andrew Burgess * main.c (relocate_gdbinit_path_maybe_in_datadir): Rename to... (relocate_file_path_maybe_in_datadir): ...this. (class gdb_initfile_finder): New class. (get_init_files): Now uses gdb_initfile_finder. (print_gdb_help): Print 'None found' when there are no init files. 2021-04-14 Tankut Baris Aktemur * dwarf2/read.c (inherit_abstract_dies): Keep a reference to the corresponding child of the abstract DIE when iterating the children of the concrete DIE. 2021-04-13 Tom de Vries * ui-style.c (read_semi_number, extended_color): Change idx parameter type to regoff_t *. 2021-04-13 Luis Machado * rs6000-tdep.c (ppc_displaced_step_fixup): Use %s to print hex values. 2021-04-12 Will Schmidt * rs6000-tdep.c: Add support for single-stepping of prefixed instructions. 2021-04-12 Will Schmidt PR gdb/27525 * gdb/rs6000-tdep.c (ppc_displaced_step_fixup): Update to handle the addpcis/lnia instruction. 2021-04-05 Will Schmidt * MAINTAINERS (Write After Approval): Add myself. 2021-4-12 Carl Love * rs6000-tdep.c (rs6000_builtin_type_vec128): Add t_float128 variable. (rs6000_builtin_type_vec128): Add append_composite_type_field for float128. 2021-04-12 Simon Marchi * nat/windows-nat.c: Remove all code guarded by _WIN32_WCE. * nat/windows-nat.h: Likewise. 2021-04-10 Eli Zaretskii * windows-nat.c (windows_nat::handle_load_dll): Call windows_add_dll if get_image_name failed to glean the name of the DLL by using the lpImageName pointer. (windows_add_all_dlls): Now a thin wrapper around windows_add_dll. (windows_add_dll): Now does what windows_add_all_dlls did before, but also accepts an argument LOAD_ADDR, which, if non-NULL, specifies the address where the DLL was loaded into the inferior, and looks for the single DLL loaded at that address. 2021-04-09 Luis Machado * nat/aarch64-mte-linux-ptrace.c: Update include file order. 2021-04-08 Dominique Quatravaux * darwin-nat.c (darwin_nat_target::resume): Remove status variable. 2021-04-08 Felix Willgerodt * i386-tdep.c (i386_skip_prologue): Use symbol table to find the prologue end for Intel compilers. * amd64-tdep.c (amd64_skip_prologue): Likewise. * producer.c (producer_is_icc_ge_19): New function. * producer.h (producer_is_icc_ge_19): New declaration. 2021-04-08 Felix Willgerodt * producer.c: (producer_is_icc): Update for new version scheme. (producer_parsing_tests): Update names and expected results. * producer.h: (producer_is_icc): Update comment accordingly. 2021-04-07 Simon Marchi * target.h (struct target_ops) : Return void. (target_follow_fork): Likewise. * target.c (default_follow_fork): Likewise. (target_follow_fork): Likewise. * infrun.c (follow_fork_inferior): Adjust. * fbsd-nat.h (class fbsd_nat_target) : Return void. * fbsd-nat.c (fbsd_nat_target:::follow_fork): Likewise. * linux-nat.h (class linux_nat_target) : Likewise. * linux-nat.c (linux_nat_target::follow_fork): Return void. * obsd-nat.h (class obsd_nat_target) : Return void. * obsd-nat.c (obsd_nat_target::follow_fork): Likewise. * remote.c (class remote_target) : Likewise. (remote_target::follow_fork): Likewise. * target-delegates.c: Re-generate. 2021-04-07 Weimin Pan * ctfread.c (fetch_tid_type): New function, use throughout file. (read_forward_type): New function. (read_type_record): Call read_forward_type. 2021-04-07 Andrew Burgess * f-exp.h (class fortran_structop_operation): New class. * f-exp.y (exp): Create fortran_structop_operation instead of the generic structop_operation. * f-lang.c (fortran_undetermined::evaluate): Re-evaluate expression as EVAL_NORMAL if the result type was dynamic so we can extract the actual array bounds. (fortran_structop_operation::evaluate): New function. 2021-04-07 Andrew Burgess * eval.c (evaluate_subexp_standard): Remove EVAL_AVOID_SIDE_EFFECTS handling from STRUCTOP_STRUCT and STRUCTOP_PTR. 2021-04-07 Andrew Burgess * valops.c (value_cast): Call value_deeply_equal before performing any cast. 2021-04-07 Andrew Burgess * gdbtypes.c (types_equal): Move pointer equality check earlier in the function. 2021-04-07 Caroline Tice * dwarf2/read.c (try_open_dwop_file): Add path for the binary to the search paths used resolve relative location of .dwo file. 2021-04-07 Andrew Burgess * dwarf2/section.c (dwarf2_section_info::get_bfd_owner): Add an assert. (dwarf2_section_info::get_file_name): Add an assert. (dwarf2_section_info::read_string): Display a minimal, sane error when the dwarf2_section_info is not associated with a bfd section. 2021-04-07 Andrew Burgess * top.c (staged_gdb_datadir): Update comment. (set_gdb_datadir): Copy the value of gdb_datadir back into staged_datadir. (init_main): Initialise staged_gdb_datadir. 2021-04-06 Tom de Vries PR breakpoints/25884 * infcmd.c (prepare_one_step): Using inline frame info to narrow stepping range. 2021-04-06 Tom de Vries PR tui/27680 * tui/tui-disasm.c (len_without_escapes): Pass ptr pointing at escape to style.parse. 2021-04-04 Simon Marchi * avr-tdep.c (avr_frame_unwind_cache): Use trad_frame_saved_reg::is_addr. 2021-04-02 Simon Marchi * objfiles.c (get_objfile_bfd_data): Remove objfile parameter, adjust callers. 2021-04-02 Simon Marchi * psympriv.h (struct partial_symtab) : Change objfile parameter for objfile_per_bfd_storage, adjust callers. (struct standard_psymtab) : Likewise. (struct legacy_psymtab) : Likewise. * psymtab.c (partial_symtab::partial_symtab): Likewise. * ctfread.c (struct ctf_psymtab): Likewise. * dwarf2/read.h (struct dwarf2_psymtab): Likewise. * dwarf2/read.c (struct dwarf2_include_psymtab): Likewise. (dwarf2_create_include_psymtab): Likewise. * objfiles.h (struct objfile_per_bfd_storage) : Add bfd parameter, adjust callers. : New method. : New field. * objfiles.c (get_objfile_bfd_data): Adjust. 2021-04-02 Simon Marchi * psymtab.c (partial_symtab::partial_symtab): Change last_objfile_name to be an std::string. * symfile.c (allocate_symtab): Likewise. 2021-04-02 Simon Marchi * objfiles.h (struct objfile_per_bfd_storage) : New methods. (struct objfile) : Use objfile::objfile_per_bfd_storage::intern. 2021-04-01 Simon Marchi * gdbtypes.h (TYPE_FLAG_ENUM): Remove, replace all uses with type::is_flag_enum. 2021-04-01 Simon Marchi * gdbtypes.h (struct type) : New methods. (TYPE_FLAG_ENUM): Use type::is_flag_enum, change all write call sites to use type::set_is_flag_enum. 2021-04-01 Simon Marchi * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses with type::is_declared_class. 2021-04-01 Simon Marchi * gdbtypes.h (struct type) : New methods. (TYPE_DECLARED_CLASS): Use type::is_declared_class, change all write call sites to use type::set_is_declared_class. 2021-02-28 Boris Staletic * gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+ to avoid deprecation warnings. 2021-04-01 Martin Liska * cp-name-parser.y: Use startswith instead of strncmp. * m2-exp.y: Likewise. * macroexp.c (substitute_args): Likewise. * mi/mi-main.c (command_notifies_uscc_observer): Likewise. * rust-exp.y: Likewise. 2021-03-31 Tom Tromey * dwarf2/read.c (dwarf2_gdb_index::map_matching_symbols): Merge with dw2_map_matching_symbols. (dwarf2_gdb_index::expand_symtabs_matching): Merge with dw2_expand_symtabs_matching. 2021-03-31 Tom Tromey * dwarf2/stringify.h: Fix typo. 2021-03-30 Simon Marchi PR gdb/27541 * dwarf2/read.c (dwarf2_has_info): Don't share dwarf2_per_bfd with objfiles using READNOW. 2021-03-29 Tom Tromey * top.c (check_frame_language_change): Update. * language.c (language_info): Remove parameter. * language.h (language_info): Remove parameter. 2021-03-29 Luis Machado * compile/compile.c (get_args): Don't add empty argv entries. 2021-03-29 Rainer Orth gdb: * procfs.c (procfs_target::attach): Define inf. Use it. (procfs_target::create_inferior): Likewise. 2021-03-28 Tom Tromey * elfread.c (can_lazily_read_symbols): Move to dwarf2/read.c. (elf_symfile_read): Simplify. * dwarf2/read.c (struct lazy_dwarf_reader): Move from elfread.c. (make_lazy_dwarf_reader): New function. (make_dwarf_gdb_index, make_dwarf_debug_names): Now static. (dwarf2_initialize_objfile): Return void. Remove index_kind parameter. Push on 'qf' list. * dwarf2/public.h (dwarf2_initialize_objfile): Change return type. Remove 'index_kind' parameter. (make_dwarf_gdb_index, make_dwarf_debug_names): Don't declare. 2021-03-27 Tom Tromey * elfread.c (elf_sym_fns_lazy_psyms): Don't declare. 2021-03-27 Tom Tromey * elfread.c (elf_symfile_read): Don't clear 'qf'. 2021-03-26 Lancelot Six * contrib/gdb-add-index.sh: Avoid variable shadowing and get rid of 'local'. 2021-03-26 Tom Tromey * symtab.c (struct output_source_filename_data): Add 'output' method and operator(). (output_source_filename_data::output): Rename from output_source_filename. (output_partial_symbol_filename): Remove. (info_sources_command): Update. (struct add_partial_filename_data): Add operator(). (add_partial_filename_data::operator()): Rename from maybe_add_partial_symtab_filename. (make_source_files_completion_list): Update. * symfile.c (quick_symbol_functions): Update. * symfile-debug.c (objfile::map_symbol_filenames): Update. * quick-symbol.h (symbol_filename_ftype): Change type of 'fun' and 'need_fullname'. Remove 'data' parameter. (struct quick_symbol_functions) : Likewise. * psymtab.c (psymbol_functions::map_symbol_filenames): Update. * psympriv.h (struct psymbol_functions) : Change type of 'fun' and 'need_fullname'. Remove 'data' parameter. * objfiles.h (struct objfile) : Change type of 'fun' and 'need_fullname'. Remove 'data' parameter. * mi/mi-cmd-file.c (print_partial_file_name): Remove 'ignore' parameter. (mi_cmd_file_list_exec_source_files): Update. * dwarf2/read.c (dwarf2_base_index_functions::map_symbol_filenames): Update. 2021-03-26 Tom Tromey * ada-lang.c (struct match_data): Add operator(). (match_data::operator()): Rename from aux_add_nonlocal_symbols. (callback): Remove 'callback'. 2021-03-26 Tom Tromey * psymtab.c (psymbol_functions::expand_symtabs_matching): Only call make_ignore_params once. 2021-03-26 Tom Tromey * psymtab.c (psymbol_functions::expand_symtabs_matching): Remove "user" check. 2021-03-26 Simon Marchi Pedro Alves * async-event.c: Include "infrun.h". (async_event_handler_marked): New. * async-event.h (async_event_handler_marked): Declare. * infrun.c (maybe_set_commit_resumed_all_targets): Switch to inferior before calling target method. Don't commit-resumed if target_has_pending_events is true. * remote.c (remote_target::has_pending_events): New. * target-delegates.c: Regenerate. * target.c (target_has_pending_events): New. * target.h (target_ops::has_pending_events): New target method. (target_has_pending_events): New. 2021-03-26 Simon Marchi Pedro Alves * infcmd.c (run_command_1, attach_command, detach_command) (interrupt_target_1): Use scoped_disable_commit_resumed. * infrun.c (do_target_resume): Remove target_commit_resume call. (commit_resume_all_targets): Remove. (maybe_set_commit_resumed_all_targets): New. (maybe_call_commit_resumed_all_targets): New. (enable_commit_resumed): New. (scoped_disable_commit_resumed::scoped_disable_commit_resumed) (scoped_disable_commit_resumed::~scoped_disable_commit_resumed) (scoped_disable_commit_resumed::reset) (scoped_disable_commit_resumed::reset_and_commit) (scoped_enable_commit_resumed::scoped_enable_commit_resumed) (scoped_enable_commit_resumed::~scoped_enable_commit_resumed): New. (proceed): Use scoped_disable_commit_resumed and maybe_call_commit_resumed_all_targets. (fetch_inferior_event): Use scoped_disable_commit_resumed. * infrun.h (struct scoped_disable_commit_resumed): New. (maybe_call_commit_resumed_all_process_targets): New. (struct scoped_enable_commit_resumed): New. * mi/mi-main.c (exec_continue): Use scoped_disable_commit_resumed. * process-stratum-target.h (class process_stratum_target): : New. * record-full.c (record_full_wait_1): Change commit_resumed_state around calling commit_resumed. * remote.c (class remote_target) : Rename to... : ... this. (struct stop_reply): Move up. (remote_target::commit_resume): Rename to... (remote_target::commit_resumed): ... this. Check if there is any thread pending vCont resume. (remote_target::remote_stop_ns): Generate stop replies for resumed but pending vCont threads. (remote_target::wait_ns): Add gdb_assert. * target-delegates.c: Regenerate. * target.c (target_wait, target_resume): Assert that the current process_stratum target isn't in commit-resumed state. (defer_target_commit_resume): Remove. (target_commit_resume): Remove. (target_commit_resumed): New. (make_scoped_defer_target_commit_resume): Remove. (target_stop): Assert that the current process_stratum target isn't in commit-resumed state. * target.h (struct target_ops) : Rename to ... : ... this. (target_commit_resume): Remove. (target_commit_resumed): New. (make_scoped_defer_target_commit_resume): Remove. * top.c (wait_sync_command_done): Use scoped_enable_commit_resumed. 2021-03-26 Pedro Alves * target.c (target_always_non_stop_p): Also check whether the target can async. 2021-03-26 Tom Tromey * dwarf2/read.c (dwarf2_read_debug_names) (dwarf2_build_psymtabs_hard, create_addrmap_from_aranges) (dw2_debug_names_iterator::next, create_type_unit_group): Simplify. 2021-03-25 Pedro Alves * gdb.server/bkpt-other-inferior.exp: Only enable remote output around setting the breakpoint. 2021-03-25 Pedro Alves * remote.c (remote_target::check_pending_events_prevent_wildcard_vcont): Check whether the event's ptid is not null_ptid before looking up the corresponding inferior. 2021-03-24 Changbin Du * riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to read_code. 2021-03-24 Simon Marchi * target.h (current_top_target): Remove, make callers use the current inferior instead. * target.c (current_top_target): Remove. 2021-03-24 Simon Marchi * target.h (target_shortname): Change to function declaration. (target_longname): Likewise. (target_attach_no_wait): Likewise. (target_post_attach): Likewise. (target_prepare_to_store): Likewise. (target_supports_enable_disable_tracepoint): Likewise. (target_supports_string_tracing): Likewise. (target_supports_evaluation_of_breakpoint_conditions): Likewise. (target_supports_dumpcore): Likewise. (target_dumpcore): Likewise. (target_can_run_breakpoint_commands): Likewise. (target_files_info): Likewise. (target_post_startup_inferior): Likewise. (target_insert_fork_catchpoint): Likewise. (target_remove_fork_catchpoint): Likewise. (target_insert_vfork_catchpoint): Likewise. (target_remove_vfork_catchpoint): Likewise. (target_insert_exec_catchpoint): Likewise. (target_remove_exec_catchpoint): Likewise. (target_set_syscall_catchpoint): Likewise. (target_rcmd): Likewise. (target_can_lock_scheduler): Likewise. (target_can_async_p): Likewise. (target_is_async_p): Likewise. (target_execution_direction): Likewise. (target_extra_thread_info): Likewise. (target_pid_to_exec_file): Likewise. (target_thread_architecture): Likewise. (target_find_memory_regions): Likewise. (target_make_corefile_notes): Likewise. (target_get_bookmark): Likewise. (target_goto_bookmark): Likewise. (target_stopped_by_watchpoint): Likewise. (target_stopped_by_sw_breakpoint): Likewise. (target_supports_stopped_by_sw_breakpoint): Likewise. (target_stopped_by_hw_breakpoint): Likewise. (target_supports_stopped_by_hw_breakpoint): Likewise. (target_have_steppable_watchpoint): Likewise. (target_can_use_hardware_watchpoint): Likewise. (target_region_ok_for_hw_watchpoint): Likewise. (target_can_do_single_step): Likewise. (target_insert_watchpoint): Likewise. (target_remove_watchpoint): Likewise. (target_insert_hw_breakpoint): Likewise. (target_remove_hw_breakpoint): Likewise. (target_can_accel_watchpoint_condition): Likewise. (target_can_execute_reverse): Likewise. (target_get_ada_task_ptid): Likewise. (target_filesystem_is_local): Likewise. (target_trace_init): Likewise. (target_download_tracepoint): Likewise. (target_can_download_tracepoint): Likewise. (target_download_trace_state_variable): Likewise. (target_enable_tracepoint): Likewise. (target_disable_tracepoint): Likewise. (target_trace_start): Likewise. (target_trace_set_readonly_regions): Likewise. (target_get_trace_status): Likewise. (target_get_tracepoint_status): Likewise. (target_trace_stop): Likewise. (target_trace_find): Likewise. (target_get_trace_state_variable_value): Likewise. (target_save_trace_data): Likewise. (target_upload_tracepoints): Likewise. (target_upload_trace_state_variables): Likewise. (target_get_raw_trace_data): Likewise. (target_get_min_fast_tracepoint_insn_len): Likewise. (target_set_disconnected_tracing): Likewise. (target_set_circular_trace_buffer): Likewise. (target_set_trace_buffer_size): Likewise. (target_set_trace_notes): Likewise. (target_get_tib_address): Likewise. (target_set_permissions): Likewise. (target_static_tracepoint_marker_at): Likewise. (target_static_tracepoint_markers_by_strid): Likewise. (target_traceframe_info): Likewise. (target_use_agent): Likewise. (target_can_use_agent): Likewise. (target_augmented_libraries_svr4_read): Likewise. (target_log_command): Likewise. * target.c (target_shortname): New. (target_longname): New. (target_attach_no_wait): New. (target_post_attach): New. (target_prepare_to_store): New. (target_supports_enable_disable_tracepoint): New. (target_supports_string_tracing): New. (target_supports_evaluation_of_breakpoint_conditions): New. (target_supports_dumpcore): New. (target_dumpcore): New. (target_can_run_breakpoint_commands): New. (target_files_info): New. (target_post_startup_inferior): New. (target_insert_fork_catchpoint): New. (target_remove_fork_catchpoint): New. (target_insert_vfork_catchpoint): New. (target_remove_vfork_catchpoint): New. (target_insert_exec_catchpoint): New. (target_remove_exec_catchpoint): New. (target_set_syscall_catchpoint): New. (target_rcmd): New. (target_can_lock_scheduler): New. (target_can_async_p): New. (target_is_async_p): New. (target_execution_direction): New. (target_extra_thread_info): New. (target_pid_to_exec_file): New. (target_thread_architecture): New. (target_find_memory_regions): New. (target_make_corefile_notes): New. (target_get_bookmark): New. (target_goto_bookmark): New. (target_stopped_by_watchpoint): New. (target_stopped_by_sw_breakpoint): New. (target_supports_stopped_by_sw_breakpoint): New. (target_stopped_by_hw_breakpoint): New. (target_supports_stopped_by_hw_breakpoint): New. (target_have_steppable_watchpoint): New. (target_can_use_hardware_watchpoint): New. (target_region_ok_for_hw_watchpoint): New. (target_can_do_single_step): New. (target_insert_watchpoint): New. (target_remove_watchpoint): New. (target_insert_hw_breakpoint): New. (target_remove_hw_breakpoint): New. (target_can_accel_watchpoint_condition): New. (target_can_execute_reverse): New. (target_get_ada_task_ptid): New. (target_filesystem_is_local): New. (target_trace_init): New. (target_download_tracepoint): New. (target_can_download_tracepoint): New. (target_download_trace_state_variable): New. (target_enable_tracepoint): New. (target_disable_tracepoint): New. (target_trace_start): New. (target_trace_set_readonly_regions): New. (target_get_trace_status): New. (target_get_tracepoint_status): New. (target_trace_stop): New. (target_trace_find): New. (target_get_trace_state_variable_value): New. (target_save_trace_data): New. (target_upload_tracepoints): New. (target_upload_trace_state_variables): New. (target_get_raw_trace_data): New. (target_get_min_fast_tracepoint_insn_len): New. (target_set_disconnected_tracing): New. (target_set_circular_trace_buffer): New. (target_set_trace_buffer_size): New. (target_set_trace_notes): New. (target_get_tib_address): New. (target_set_permissions): New. (target_static_tracepoint_marker_at): New. (target_static_tracepoint_markers_by_strid): New. (target_traceframe_info): New. (target_use_agent): New. (target_can_use_agent): New. (target_augmented_libraries_svr4_read): New. (target_log_command): New. * bfin-tdep.c (bfin_sw_breakpoint_from_kind): Adjust. * infrun.c (set_schedlock_func): Adjust. * mi/mi-main.c (exec_reverse_continue): Adjust. * reverse.c (exec_reverse_once): Adjust. * sh-tdep.c (sh_sw_breakpoint_from_kind): Adjust. * tui/tui-stack.c (tui_locator_window::make_status_line): Adjust. * remote-sim.c (gdbsim_target::detach): Adjust. (gdbsim_target::files_info): Adjust. 2021-03-24 Tom Tromey * dwarf2/read.c (dw2_map_matching_symbols): Update. (dw2_expand_symtabs_matching_symbol): Remove 'kind' parameter. (check_match, dw2_expand_symtabs_matching) (dwarf2_debug_names_index::map_matching_symbols) (dwarf2_debug_names_index::expand_symtabs_matching): Update. 2021-03-24 Keith Seitz * compile/compile-cplus-types.c (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS thinko. 2021-03-24 Simon Marchi * gdbarch.sh (gdbarch_data_registry): Make static. * gdbarch.c: Re-generate. 2021-03-24 Luis Machado * NEWS: Mention memory tagging changes. 2021-03-24 Luis Machado * printcmd.c (decode_format): Handle the 'm' modifier. (do_examine): Display allocation tags when required/supported. (should_validate_memtags): New function. (print_command_1): Display memory tag mismatches. * valprint.c (show_memory_tag_violations): New function. (value_print_option_defs): Add new option "memory-tag-violations". (user_print_options) : Initialize to 1. * valprint.h (struct format_data) : New field. (value_print_options) : New field. 2021-03-24 Luis Machado * printcmd.c: Include gdbsupport/rsp-low.h. (memory_tag_list): New static global. (process_print_command_args): Factored out of print_command_1. (print_command_1): Use process_print_command_args. (show_addr_not_tagged, show_memory_tagging_unsupported) (memory_tag_command, memory_tag_print_tag_command) (memory_tag_print_logical_tag_command) (memory_tag_print_allocation_tag_command, parse_with_logical_tag_input) (memory_tag_with_logical_tag_command, parse_set_allocation_tag_input) (memory_tag_set_allocation_tag_command, memory_tag_check_command): New functions. (_initialize_printcmd): Add "memory-tag" prefix and subcommands. 2021-03-24 Luis Machado * aarch64-linux-tdep.c (aarch64_linux_iterate_over_regset_sections): Handle MTE register set. * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Define. 2021-03-24 Luis Machado * aarch64-linux-tdep.c (aarch64_linux_report_signal_info): New function. (aarch64_linux_init_abi): Register aarch64_linux_report_signal_info as the report_signal_info hook. * arch/aarch64-linux.h (SEGV_MTEAERR): Define. (SEGV_MTESERR): Define. 2021-03-24 Luis Machado * aarch64-linux-tdep.c: Include gdbsupport/selftest.h. (aarch64_linux_ltag_tests): New function. (_initialize_aarch64_linux_tdep): Register aarch64_linux_ltag_tests. 2021-03-24 Luis Machado * aarch64-linux-tdep.c: Include target.h, arch-utils.h, value.h. (aarch64_mte_get_atag, aarch64_linux_tagged_address_p) (aarch64_linux_memtag_mismatch_p, aarch64_linux_set_memtags) (aarch64_linux_get_memtag, aarch64_linux_memtag_to_string): New functions. (aarch64_linux_init_abi): Initialize MTE-related gdbarch hooks. * arch/aarch64-mte-linux.c (aarch64_mte_make_ltag_bits) (aarch64_mte_make_ltag, aarch64_linux_set_ltag) (aarch64_linux_get_ltag): New functions. * arch/aarch64-mte-linux.h (AARCH64_MTE_LOGICAL_TAG_START_BIT) (AARCH64_MTE_LOGICAL_MAX_VALUE): Define. (aarch64_mte_make_ltag_bits, aarch64_mte_make_ltag) (aarch64_mte_set_ltag, aarch64_mte_get_ltag): New prototypes. 2021-03-24 Luis Machado * linux-tdep.c (struct smaps_vmflags) : New flag bit. (struct smaps_data): New struct. (decode_vmflags): Handle the 'mt' flag. (parse_smaps_data): New function, refactored from linux_find_memory_regions_full. (linux_address_in_memtag_page): New function. (linux_find_memory_regions_full): Refactor into parse_smaps_data. * linux-tdep.h (linux_address_in_memtag_page): New prototype. 2021-03-24 Luis Machado * linux-tdep.c (linux_find_memory_regions_full): Use std::string instead of char arrays. 2021-03-24 Luis Machado * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o. (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and nat/aarch64-mte-linux-ptrace.h. * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h. (aarch64_linux_nat_target) : New method override. : New method override. : New method override. (aarch64_linux_nat_target::supports_memory_tagging): New method. (aarch64_linux_nat_target::fetch_memtags): New method. (aarch64_linux_nat_target::store_memtags): New method. * arch/aarch64-mte-linux.c: New file. * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h. (AARCH64_MTE_GRANULE_SIZE): Define. (aarch64_memtag_type): New enum. (aarch64_mte_get_tag_granules): New prototype. * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o. * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o. * nat/aarch64-mte-linux-ptrace.c: New file. * nat/aarch64-mte-linux-ptrace.h: New file. 2021-03-24 Luis Machado * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h. * nat/aarch64-mte-linux-ptrace.h: New file. 2021-03-24 Luis Machado * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function. (store_mteregs_to_thread): New function. (aarch64_linux_nat_target::fetch_registers): Update to call fetch_mteregs_from_thread. (aarch64_linux_nat_target::store_registers): Update to call store_mteregs_to_thread. * aarch64-tdep.c (aarch64_mte_register_names): New struct. (aarch64_cannot_store_register): Handle MTE registers. (aarch64_gdbarch_init): Initialize and setup MTE registers. * aarch64-tdep.h (gdbarch_tdep) : New field. : New method. * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define. 2021-03-24 Luis Machado * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Take MTE flag into account. Slight refactor to hwcap flag checking. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for MTE. (aarch64_read_description): Add mte_p parameter and update to use it. Update the documentation. (aarch64_gdbarch_init): Update call to aarch64_read_description. * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter. * arch/aarch64.c: Include ../features/aarch64-mte.c. (aarch64_create_target_description): Add mte_p parameter and update the code to use it. * arch/aarch64.h (aarch64_create_target_description): Add mte_p parameter. * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml. * features/aarch64-mte.c: New file, generated. * features/aarch64-mte.xml: New file. 2021-03-24 Luis Machado * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h. * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h. * aarch64-linux-tdep.c: Likewise * arch/aarch64-mte-linux.h: New file. 2021-03-24 Luis Machado * remote: Include gdbsupport/selftest.h. (test_memory_tagging_functions): New function. (_initialize_remote): Register test_memory_tagging_functions. 2021-03-24 Luis Machado * remote.c (PACKET_memory_tagging_feature): New enum. (remote_memory_tagging_p): New function. (remote_protocol_features): New "memory-tagging" entry. (remote_target::remote_query_supported): Handle memory tagging support. (remote_target::supports_memory_tagging): Implement. (create_fetch_memtags_request, parse_fetch_memtags_reply) (create_store_memtags_request): New functions. (remote_target::fetch_memtags): Implement. (remote_target::store_memtags): Implement. (_initialize_remote): Add new "memory-tagging-feature" config command. 2021-03-24 Luis Machado * arch-utils.c (default_memtag_to_string, default_tagged_address_p) (default_memtag_matches_p, default_set_memtags) (default_get_memtag): New functions. * arch-utils.h (default_memtag_to_string, default_tagged_address_p) (default_memtag_matches_p, default_set_memtags) (default_get_memtag): New prototypes. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. * gdbarch.sh (memtag_to_string, tagged_address_p, memtag_matches_p) (set_memtags, get_memtag, memtag_granule_size): New gdbarch hooks. (enum memtag_type): New enum. 2021-03-24 Luis Machado * remote.c (remote_target) : New method override. : New method override. : New method override. (remote_target::supports_memory_tagging): New method. (remote_target::fetch_memtags): New method. (remote_target::store_memtags): New method. * target-delegates.c: Regenerate. * target.h (struct target_ops) : New virtual method. : New virtual method. : New virtual method. (target_supports_memory_tagging): Define. (target_fetch_memtags): Define. (target_store_memtags): Define. * target-debug.h (target_debug_print_size_t) (target_debug_print_const_gdb_byte_vector_r) (target_debug_print_gdb_byte_vector_r): New functions. 2021-03-23 Simon Marchi * target.h (target_longname): Remove. 2021-03-23 Simon Marchi * target.h (target_is_pushed): Remove, update callers to use inferior::target_is_pushed instead. * target.c (target_is_pushed): Remove. 2021-03-23 Simon Marchi * target.h (push_target): Remove, update callers to use inferior::push_target. * target.c (push_target): Remove. * inferior.h (class inferior) : New overload. 2021-03-23 Simon Marchi * target.h (unpush_target): Remove, update all callers to use `inferior::unpush_target` instead. (struct target_unpusher) : Just declare. * target.c (unpush_target): Remove. (target_unpusher::operator()): New. 2021-03-22 Andrew Burgess * dwarf2/read.c (process_psymtab_comp_unit): Replace abort with an error. (process_full_comp_unit): Validate the top-level tag before processing the first DIE. (read_func_scope): Ensure we have a valid builder. 2021-03-22 Andrew Burgess * objc-lang.c (objc_demangle): Renamed to objc_language::demangle_symbol, and moved later in the file. (objc_language::sniff_from_mangled_name): Call demangle_symbol member function. (objc_language::demangle_symbol): Defined outside of class declaration. The definition is the old objc_demangle with NULL changed to nullptr, and if conditions relating to nullptr pointers or null character checks made explicit. * objc-lang.h (objc_demangle): Delete declaration. 2021-03-22 Martin Liska * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith. (_initialize_arm_tdep): Likewise. 2021-03-20 Tom Tromey * xcoffread.c (xcoff_initial_scan): Create partial symtabs. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * psymtab.h (make_psymbol_functions): Don't declare. * psymtab.c (make_psymbol_functions): Remove. (maintenance_print_psymbols): Update. * psympriv.h (struct psymbol_functions): Add no-argument constructor. * objfiles.h (struct objfile) : Remove. : Remove. * mdebugread.c (mdebug_build_psymtabs): Create partial symtabs. * elfread.c (read_partial_symbols): Update. (elf_symfile_read): Remove check for existing partial symbols. Don't clear "qf". * dwarf2/read.c (dwarf2_has_info): Remove check for existing partial symbols. (dwarf2_build_psymtabs): Add psymbol_functions parameter. Create partial symtabs. * dwarf2/public.h (dwarf2_build_psymtabs): Add psymbol_functions parameter. * dbxread.c (dbx_symfile_read): Create partial symtabs. * ctfread.c (elfctf_build_psymtabs): Create partial symtabs. 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Update. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * symfile-debug.c (objfile::has_partial_symbols) (objfile::find_last_source_symtab) (objfile::forget_cached_source_info) (objfile::map_symtabs_matching_filename, objfile::lookup_symbol) (objfile::print_stats, objfile::dump) (objfile::expand_symtabs_for_function) (objfile::expand_all_symtabs) (objfile::expand_symtabs_with_fullname) (objfile::map_matching_symbols) (objfile::expand_symtabs_matching) (objfile::find_pc_sect_compunit_symtab) (objfile::map_symbol_filenames) (objfile::find_compunit_symtab_by_address) (objfile::lookup_global_symbol_language) (objfile::require_partial_symbols): Update. * psymtab.c (maintenance_print_psymbols) (maintenance_info_psymtabs, maintenance_check_psymtabs): Update. * objfiles.h (struct objfile) : Now a forward_list. * objfiles.c (objfile_relocate1): Update. * elfread.c (elf_symfile_read): Update. 2021-03-20 Tom Tromey * objfiles.h (struct objfile) : Remove method. 2021-03-20 Tom Tromey * psymtab.c (psymbol_functions::count_psyms): Rename. (psymbol_functions::print_stats): Update. * psympriv.h (struct psymbol_functions) : Declare method. 2021-03-20 Tom Tromey * psymtab.c (psymbol_functions::require_partial_symbols): Rename. (psymbol_functions::find_pc_sect_psymtab): Rename. (psymbol_functions::find_pc_sect_compunit_symtab) (maintenance_print_psymbols, maintenance_check_psymtabs): Update. * psympriv.h (struct psymbol_functions) : Declare new method. : Likewise. 2021-03-20 Tom Tromey * xcoffread.c (xcoff_start_psymtab): Add partial_symtabs parameter. (xcoff_end_psymtab, scan_xcoff_symtab): Update. * psymtab.c (partial_symtab::partial_symtab): Add partial_symtabs parameter. (add_psymbol_to_bcache): Remove. (partial_symtab::add_psymbol): Add partial_symtabs parameter. (partial_symtab::add_psymbol, partial_symtab::partial_symtab): Likewise. * psympriv.h (partial_symtab): Add partial_symtabs parameter. : Likewise. (standard_psymtab, legacy_psymtab): Likewise. * mdebugread.c (parse_partial_symbols): Update. (handle_psymbol_enumerators): Add partial_symtabs parameter. (handle_psymbol_enumerators): Update. (new_psymtab): Add partial_symtabs parameter. * dwarf2/read.h (dwarf2_psymtab): Add partial_symtabs parameter. * dwarf2/read.c (dwarf2_include_psymtab): Add partial_symtabs parameter. (dwarf2_create_include_psymtab): Add partial_symtabs parameter. (create_partial_symtab, add_partial_symbol, dwarf_decode_lines): Update. * dbxread.c (read_dbx_symtab): Update. (start_psymtab): Add partial_symtabs parameter. (dbx_end_psymtab): Update. * ctfread.c (struct ctf_context) : New member. (ctf_psymtab): Add partial_symtabs parameter. (create_partial_symtab, ctf_psymtab_type_cb, ctf_psymtab_var_cb): Update. (scan_partial_symbols): Add partial_symtabs parameter. (scan_partial_symbols, elfctf_build_psymtabs) (ctf_psymtab_add_enums): Update. 2021-03-20 Tom Tromey * symfile.c (read_symbols): Use objfile method. * symfile-debug.c (objfile::require_partial_symbols): New method. * psymtab.h (require_partial_symbols): Don't declare. * psymtab.c (require_partial_symbols): Use objfile method. Now static. (psymbol_functions::map_symtabs_matching_filename, OBJFILE) (psymbol_functions::lookup_symbol) (psymbol_functions::lookup_global_symbol_language) (psymbol_functions::find_last_source_symtab) (psymbol_functions::forget_cached_source_info) (psymbol_functions::print_stats) (psymbol_functions::expand_symtabs_for_function) (psymbol_functions::expand_all_symtabs) (psymbol_functions::expand_symtabs_with_fullname) (psymbol_functions::map_symbol_filenames) (psymbol_functions::map_matching_symbols) (psymbol_functions::expand_symtabs_matching) (psymbol_functions::find_compunit_symtab_by_address) (maintenance_print_psymbols, maintenance_info_psymtabs) (maintenance_check_psymtabs): Update. * objfiles.h (struct objfile) : Declare new method. 2021-03-20 Tom Tromey * xcoffread.c (xcoff_sym_fns): Update. * symfile.h (struct sym_fns) : Remove. * symfile-debug.c (objfile::has_partial_symbols): Use can_lazily_read_symbols. (debug_sym_read_psymbols): Remove. (debug_sym_fns, install_symfile_debug_logging): Update. * quick-symbol.h (struct quick_symbol_functions) : New methods. * psymtab.c (require_partial_symbols): Use new 'qf' methods. * mipsread.c (ecoff_sym_fns): Update. * machoread.c (macho_sym_fns): Update. * elfread.c (struct lazy_dwarf_reader): New. (elf_symfile_read): Update. (read_psyms): Now a method of lazy_dwarf_reader. (elf_sym_fns): Update. (elf_sym_fns_lazy_psyms): Remove. * dbxread.c (aout_sym_fns): Update. * coffread.c (coff_sym_fns): Update. 2021-03-20 Tom Tromey * symfile.c (syms_from_objfile_1): Call reset_psymtabs. (reread_symbols): Move reset_psymtabs call later. * objfiles.c (objfile::objfile): Don't initialize partial_symtabs. 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Call set_partial_symtabs. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * psymtab.h (make_psymbol_functions): Add partial_symtabs parameter. * psymtab.c (find_pc_sect_psymtab): Add partial_symtabs parameter. (psymbol_functions::find_pc_sect_compunit_symtab) (psymbol_functions::print_stats, psymbol_functions::dump) (psymbol_functions::has_symbols): Update. (make_psymbol_functions, dump_psymtab_addrmap): Add partial_symtabs parameter. (maintenance_print_psymbols): Update. (psymbol_functions::expand_symtabs_matching): Update. * psympriv.h (struct psymbol_functions): Add constructor. : New member. : New method. 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_create_include_psymtab): Add per_bfd parameter. (process_psymtab_comp_unit_reader) (build_type_psymtab_dependencies, dwarf2_build_psymtabs_hard) (add_partial_subprogram, dwarf2_ranges_read, dwarf_decode_lines): Reference psymtabs via per_bfd. 2021-03-20 Tom Tromey * dwarf2/index-write.c (struct addrmap_index_data) : Remove. (add_address_entry): Remove objfile parameter. (add_address_entry_worker): Update. (write_address_map): Replace objfile parameter with per_bfd. (write_gdbindex, write_psymtabs_to_index): Update. 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_base_index_functions::print_stats): Add print_bcache parameter. * symfile-debug.c (objfile::print_stats): Add print_bcache parameter. * quick-symbol.h (struct quick_symbol_functions) : Add print_bcache parameter. * symmisc.c (print_symbol_bcache_statistics, count_psyms): Move code to psymtab.c. (print_objfile_statistics): Move psymtab code to psymtab.c. * psymtab.c (count_psyms): Move from symmisc.c. (psymbol_functions::print_stats): Print partial symbol and bcache statistics. Add print_bcache parameter. * objfiles.h (print_symbol_bcache_statistics): Don't declare. (struct objfile) : Add print_bcache parameter. * maint.c (maintenance_print_statistics): Update. 2021-03-20 Tom Tromey * dwarf2/read.h (struct dwarf2_per_bfd) : New member. * dwarf2/read.c (create_addrmap_from_index) (create_addrmap_from_aranges): Set per_bfd addrmap. (dwarf2_read_gdb_index): Don't set partial_symtabs. (dwarf2_base_index_functions::find_pc_sect_compunit_symtab): Use per_bfd addrmap. (dwarf2_read_debug_names): Don't set partial_symtabs. (dwarf2_initialize_objfile): Likewise. 2021-03-20 Tom Tromey * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs earlier. 2021-03-20 Tom Tromey * psympriv.h (psymtab_discarder): Take psymtab_storage parameter. (~psymtab_discarder, keep): Update. : Remove. : New member. * dwarf2/read.c (dwarf2_build_psymtabs): Update. 2021-03-20 Tom Tromey * xcoffread.c (xcoff_end_psymtab): Add partial_symtabs parameter. (xcoff_end_psymtab): Update. (scan_xcoff_symtab): Add partial_symtabs parameter. (xcoff_initial_scan): Update. * stabsread.h (dbx_end_psymtab): Add partial_symtabs parameter. * mdebugread.c (mdebug_build_psymtabs): Update. (parse_partial_symbols): Add partial_symtabs parameter. * dbxread.c (dbx_symfile_read): Update. (read_dbx_symtab): Add partial_symtabs parameter. (read_dbx_symtab): Update. (dbx_end_psymtab): Add partial_symtabs parameter. 2021-03-20 Tom Tromey * quick-symbol.h (struct quick_symbol_functions) : New method. * psymtab.h (struct psymbol_functions) : New method. : Declare method. : New member. * psymtab.c (psymbol_functions::fill_psymbol_map): Rename. (psymbol_functions::find_compunit_symtab_by_address): Update. * objfiles.h (reset_psymtabs): Don't clear psymbol_map. (struct objfile) : Remove. * objfiles.c (objfile_relocate1): Update. 2021-03-20 Tom Tromey * psympriv.h (struct psymbol_functions): New. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * symfile-debug.c (objfile::find_compunit_symtab_by_address) (objfile::lookup_global_symbol_language): Update. * quick-symbol.h (struct quick_symbol_functions): Convert function pointers to methods. Add virtual destructor. (quick_symbol_functions_up): New typedef. * psymtab.h (psym_functions, dwarf2_gdb_index_functions) (dwarf2_debug_names_functions): Don't declare. (make_psymbol_functions): Declare. * psymtab.c (psymbol_functions::map_symtabs_matching_filename) (psymbol_functions::find_pc_sect_compunit_symtab) (psymbol_functions::lookup_symbol) (psymbol_functions::lookup_global_symbol_language) (psymbol_functions::find_last_source_symtab) (psymbol_functions::forget_cached_source_info) (psymbol_functions::print_stats, psymbol_functions::dump) (psymbol_functions::expand_symtabs_for_function) (psymbol_functions::expand_all_symtabs) (psymbol_functions::expand_symtabs_with_fullname) (psymbol_functions::map_symbol_filenames) (psymbol_functions::map_matching_symbols) (psymbol_functions::expand_symtabs_matching) (psymbol_functions::has_symbols) (psymbol_functions::find_compunit_symtab_by_address): Rename. (psym_functions): Remove. (make_psymbol_functions): New function. * objfiles.h (struct objfile) : Change type. * elfread.c (elf_symfile_read): Update. * dwarf2/read.c (struct dwarf2_base_index_functions) (struct dwarf2_gdb_index, struct dwarf2_debug_names_index): New. (make_dwarf_gdb_index, make_dwarf_debug_names): New functions. (dwarf2_base_index_functions::find_last_source_symtab) (dwarf2_base_index_functions::forget_cached_source_info) (dwarf2_base_index_functions::map_symtabs_matching_filename) (dwarf2_gdb_index::lookup_symbol) (dwarf2_base_index_functions::print_stats) (dwarf2_gdb_index::dump) (dwarf2_gdb_index::expand_symtabs_for_function) (dwarf2_base_index_functions::expand_all_symtabs) (dwarf2_base_index_functions::expand_symtabs_with_fullname): Rename. (dwarf2_gdb_index::map_matching_symbols): New method. (dwarf2_gdb_index::expand_symtabs_matching): New method. (dwarf2_base_index_functions::find_pc_sect_compunit_symtab) (dwarf2_base_index_functions::map_symbol_filenames) (dwarf2_base_index_functions::has_symbols): Rename. (dwarf2_gdb_index_functions): Remove. (dwarf2_debug_names_index::lookup_symbol) (dwarf2_debug_names_index::dump) (dwarf2_debug_names_index::expand_symtabs_for_function) (dwarf2_debug_names_index::map_matching_symbols) (dwarf2_debug_names_index::expand_symtabs_matching): Rename. (dwarf2_debug_names_functions): Remove. * dwarf2/public.h (make_dwarf_gdb_index, make_dwarf_debug_names): Declare. 2021-03-20 Tom Tromey * psymtab.c (require_partial_symbols): Check that 'sf' is not null. * xcoffread.c (xcoff_sym_fns): Update. * symfile.h (struct sym_fns) : Remove. * symfile.c (syms_from_objfile_1, reread_symbols): Update. * symfile-debug.c (objfile::has_partial_symbols) (objfile::find_last_source_symtab) (objfile::forget_cached_source_info) (objfile::map_symtabs_matching_filename, objfile::lookup_symbol) (objfile::print_stats, objfile::dump) (objfile::expand_symtabs_for_function) (objfile::expand_all_symtabs) (objfile::expand_symtabs_with_fullname) (objfile::map_matching_symbols) (objfile::expand_symtabs_matching) (objfile::find_pc_sect_compunit_symtab) (objfile::map_symbol_filenames) (objfile::find_compunit_symtab_by_address) (objfile::lookup_global_symbol_language, debug_sym_fns) (install_symfile_debug_logging): Update. * objfiles.h (struct objfile) : New member. * mipsread.c (ecoff_sym_fns): Update. * machoread.c (macho_sym_fns): Update. * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names): Don't declare. (elf_symfile_read, elf_sym_fns, elf_sym_fns_lazy_psyms): Update. * dbxread.c (aout_sym_fns): Update. * coffread.c (coff_sym_fns): Update. 2021-03-20 Tom Tromey * symfile.h (symbol_compare_ftype, symbol_filename_ftype) (expand_symtabs_file_matcher_ftype) (expand_symtabs_symbol_matcher_ftype) (expand_symtabs_exp_notify_ftype, struct quick_symbol_functions): Move to quick-symbol.h. * quick-symbol.h: New file. 2021-03-20 Tom Tromey * symtab.c (iterate_over_symtabs, expand_symtab_containing_pc) (lookup_symbol_via_quick_fns, find_quick_global_symbol_language) (basic_lookup_transparent_type_quick) (find_pc_sect_compunit_symtab, find_symbol_at_address) (find_line_symtab, global_symbol_searcher::expand_symtabs): Update. * symmisc.c (print_objfile_statistics, dump_objfile) (maintenance_expand_symtabs): Update. * symfile.c (symbol_file_add_with_addrs) (expand_symtabs_matching, map_symbol_filenames): Update. * symfile-debug.c (objfile::has_partial_symbols) (objfile::find_last_source_symtab) (objfile::forget_cached_source_info) (objfile::map_symtabs_matching_filename, objfile::lookup_symbol) (objfile::print_stats, objfile::dump) (objfile::expand_symtabs_for_function) (objfile::expand_all_symtabs) (objfile::expand_symtabs_with_fullname) (objfile::map_matching_symbols) (objfile::expand_symtabs_matching) (objfile::find_pc_sect_compunit_symtab) (objfile::map_symbol_filenames) (objfile::find_compunit_symtab_by_address) (objfile::lookup_global_symbol_language): New methods. (debug_sym_quick_functions): Remove. (debug_sym_fns, install_symfile_debug_logging): Update. * source.c (forget_cached_source_info_for_objfile) (select_source_symtab): Update. * objfiles.h (struct objfile): Add methods corresponding to quick_symbol_functions. * objfiles.c (objfile::has_partial_symbols): Move to symfile-debug.c. * linespec.c (iterate_over_all_matching_symtabs): Update. * cp-support.c (add_symbol_overload_list_qualified): Update. * ada-lang.c (add_nonlocal_symbols): Update. 2021-03-20 Tom Tromey * objfiles.h (struct objfile) : Return bool. * symfile.h (struct quick_symbol_functions) : Return bool. * symfile-debug.c (debug_qf_has_symbols): Return bool. * psymtab.c (psym_has_symbols): Return bool. * objfiles.c (objfile::has_partial_symbols): Return bool. * dwarf2/read.c (dw2_has_symbols): Return bool. 2021-03-20 Tom Tromey * symfile.c (read_symbols): Update. * objfiles.h (struct objfile) : New method. (objfile_has_partial_symbols): Don't declare. * objfiles.c (objfile::has_partial_symbols): Rename from objfile_has_partial_symbols. (objfile_has_symbols, have_partial_symbols): Update. * elfread.c (elf_symfile_read): Update. * dwarf2/read.c (dwarf2_has_info): Update. * coffread.c (coff_symfile_read): Update. 2021-03-20 Tom Tromey * coffread.c: Include dwarf2/public.h. * dwarf2/frame.c: Include dwarf2/public.h. * dwarf2/index-write.h: Include dwarf2/public.h, not symfile.h. * dwarf2/public.h: New file. * dwarf2/read.c: Include dwarf2/public.h. * elfread.c: Include dwarf2/public.h. * machoread.c: Include dwarf2/public.h. * symfile.h (dwarf2_has_info, enum dw_index_kind) (dwarf2_initialize_objfile, dwarf2_build_psymtabs) (dwarf2_build_frame_info): Move to dwarf2/public.h. * xcoffread.c: Include dwarf2/public.h. 2021-03-20 Tom Tromey * symfile.h (enum dwarf2_section_enum) (dwarf2_get_section_info): Move to dwarf2/read.h. * dwarf2/read.h (enum dwarf2_section_enum) (dwarf2_get_section_info): Move from symfile.h. 2021-03-19 Pedro Alves * thread.c (any_thread_of_inferior): Check if there's a selected thread before calling inferior_thread(). 2021-03-18 Tom Tromey * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use get_DW_UT_name. * dwarf2/stringify.h (dwarf_unit_type_name): Declare. * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove. 2021-03-18 Andrew Burgess * python/py-param.c (get_set_value): Update header comment. 2021-03-17 Simon Marchi * infrun.c (check_multi_target_resumption): Remove argument to all_non_exited_inferiors. 2021-03-16 Christian Biesinger * windows-nat.c (windows_init_thread_list): Add message to debug log. 2021-03-16 Andrew Burgess * python/py-framefilter.c (py_print_frame): Use PyInt_Check as well as PyLong_Check for Python 2. 2021-03-15 Tom Tromey PR build/27579: * rust-exp.y (maker_map): Use gdb::hash_enum. * stap-probe.c (stap_maker_map): Use gdb::hash_enum. 2021-03-15 Simon Marchi * dwarf2/read.c (create_debug_type_hash_table): Remove colon at end of debug print. 2021-03-15 Simon Marchi * dwarf2/read.c (dw2_get_file_names_reader): Remove info_ptr parameter, adjust caller. 2021-03-15 Tom Tromey * ada-exp.y (simple_exp): Always push a result for unary '+'. 2021-03-15 Tom Tromey * ada-lang.c (ada_unop_ind_operation::evaluate): Call ada_ensure_varsize_limit. 2021-03-15 Tom Tromey * ada-lang.c (numeric_type_p, integer_type_p): Return true for fixed-point. * ada-exp.y (maybe_overload): New function. (ada_wrap_overload): New function. (ada_un_wrap2, ada_wrap2, ada_wrap_op): Use maybe_overload. (exp1, simple_exp, relation, and_exp, and_then_exp, or_exp) (or_else_exp, xor_exp, primary): Update. 2021-03-15 Tom Tromey PR ada/27545: * ada-lang.c (ada_var_value_operation::evaluate): Use recursive call for tagged type. 2021-03-15 Tom Tromey * ada-exp.y (exp1): Handle resolution of the right hand side of an assignment. 2021-03-15 Tom Tromey * ada-lang.c (ada_aggregate_operation::assign_aggregate): Return container. (ada_assign_operation::evaluate): Update. * ada-exp.h (class ada_aggregate_operation) : Change return type. 2021-03-15 Felix Willgerodt * i386-tdep.c (i386_floatformat_for_type): Add COMPLEX*32 and REAL*16. 2021-03-15 Andrew Burgess * python/python.c (gdbpy_source_objfile_script): Use make_scoped_restore to restore gdbpy_current_objfile. (gdbpy_execute_objfile_script): Likewise. 2021-03-14 Tom Tromey * dwarf2/read.c (read_attribute_value): Use cu_header consistently. 2021-03-14 Tom Tromey * dwarf2/read.c (struct die_reader_specs) : Fix formatting. (peek_die_abbrev): Use reader.abfd. 2021-03-14 Tom Tromey * dwarf2/read.c (dwarf2_per_cu_data::get_header): Set m_header_read_in. 2021-03-13 Tom Tromey * dwarf2/read.c (struct partial_die_info): Update. (peek_die_abbrev, skip_children, skip_one_die, read_full_die_1) (load_partial_dies, partial_die_info::partial_die_info): Update. * dwarf2/abbrev.h (lookup_abbrev): Constify. 2021-03-13 Tom Tromey * dwarf2/abbrev.c (abbrev_table::read): Remove Irix 6 workaround. 2021-03-12 Christian Biesinger PR threads/27239 * cp-support.c: Use scoped_segv_handler_restore. * event-top.c (thread_local_segv_handler): Made static. (scoped_segv_handler_restore::scoped_segv_handler_restore): New function. (scoped_segv_handler_restore::~scoped_segv_handler_restore): New function. * event-top.h (class scoped_segv_handler_restore): New class. (thread_local_segv_handler): Removed. 2021-03-10 Tom Tromey * parser-defs.h (parser_state): Change completion to bool. : Likewise. * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall) (ada_resolve_variable, ada_resolve_function): Update. * ada-lang.c (ada_find_operator_symbol): Change parse_completion to bool. (ada_resolve_funcall, ada_resolve_variable) (ada_resolve_function): Likewise. 2021-03-09 Tom Tromey * eval.c (operation::evaluate_funcall): Use function formal parameter types when evaluating. 2021-03-09 Andrew Burgess * gdb-gdb.py.in (StructMainTypePrettyPrinter) : Updated fields names flag_objfile_owned to m_flag_objfile_owned, and owner to m_owner. 2021-03-09 Felix Willgerodt * f-exp.h (eval_op_f_loc): Declare. (expr::fortran_loc_operation): New typedef. * f-exp.y (exp): Handle UNOP_FORTRAN_LOC after parsing an UNOP_INTRINSIC. (f77_keywords): Add LOC keyword. * f-lang.c (eval_op_f_loc): New function. * std-operator.def (UNOP_FORTRAN_LOC): New operator. 2021-03-09 Andrew Burgess * f-exp.h (eval_op_f_array_shape): Declare. (fortran_array_shape_operation): New type. * f-exp.y (exp): Handle UNOP_FORTRAN_SHAPE after parsing UNOP_INTRINSIC. (f77_keywords): Add "shape" keyword. * f-lang.c (fortran_array_shape): New function. (eval_op_f_array_shape): New function. * std-operator.def (UNOP_FORTRAN_SHAPE): New operator. 2021-03-09 Andrew Burgess * f-exp.y (eval_op_f_array_size): Declare 1 and 2 argument forms of this function. (expr::fortran_array_size_1arg): New type. (expr::fortran_array_size_2arg): Likewise. * f-exp.y (exp): Handle FORTRAN_ARRAY_SIZE after parsing UNOP_OR_BINOP_INTRINSIC. (f77_keywords): Add "size" keyword. * f-lang.c (fortran_array_size): New function. (eval_op_f_array_size): New function, has a 1 arg and 2 arg form. * std-operator.def (FORTRAN_ARRAY_SIZE): New operator. 2021-03-09 Andrew Burgess * f-exp.h (eval_op_f_rank): Declare. (expr::fortran_rank_operation): New typedef. * f-exp.y (exp): Handle UNOP_FORTRAN_RANK after parsing an UNOP_INTRINSIC. (f77_keywords): Add "rank" keyword. * f-lang.c (eval_op_f_rank): New function. * std-operator.def (UNOP_FORTRAN_RANK): New operator. 2021-03-08 Tom Tromey * printcmd.c (set_command): Remove null check. * value.c (init_if_undefined_command): Remove null check. 2021-03-08 Tom Tromey * parse.c (parser_state::push_symbol, parser_state::push_dollar): Update. * p-exp.y (variable): Update. * go-exp.y (variable): Update. * expprint.c (dump_for_expression): Use bound_minimal_symbol. Remove overload for objfile. * expop.h (eval_op_var_msym_value): Use bound_minimal_symbol parameter. (check_objfile): Likewise. (dump_for_expression): Likewise. Remove overload for objfile. (class var_msym_value_operation): Use bound_minimal_symbol. * eval.c (eval_op_var_msym_value): Use bound_minimal_symbol parameter. (var_msym_value_operation::evaluate_for_address) (var_msym_value_operation::evaluate_for_sizeof) (var_msym_value_operation::evaluate_for_cast): Update. * d-exp.y (PrimaryExpression): Update. * c-exp.y (variable): Update. * ax-gdb.c (var_msym_value_operation::do_generate_ax): Update. * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast): Update. * ada-exp.y (write_var_or_type): Update. 2021-03-08 Tom Tromey * parser-defs.h (exp_uses_objfile): Return bool. * parse.c (exp_uses_objfile): Return bool. 2021-03-08 Tom Tromey * value.h (eval_skip_value): Don't declare. * opencl-lang.c (eval_opencl_assign): Update. * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): Update. * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil) (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx): Remove. * expression.h (enum noside) : Remove. * expop.h (typeof_operation::evaluate) (decltype_operation::evaluate, unop_addr_operation::evaluate) (unop_sizeof_operation::evaluate, assign_operation::evaluate) (cxx_cast_operation::evaluate): Update. * eval.c (eval_skip_value): Remove. (eval_op_scope, eval_op_var_entry_value) (eval_op_func_static_var, eval_op_string, eval_op_objc_selector) (eval_op_concat, eval_op_ternop, eval_op_structop_struct) (eval_op_structop_ptr, eval_op_member, eval_op_add, eval_op_sub) (eval_op_binary, eval_op_subscript, eval_op_equal) (eval_op_notequal, eval_op_less, eval_op_gtr, eval_op_geq) (eval_op_leq, eval_op_repeat, eval_op_plus, eval_op_neg) (eval_op_complement, eval_op_lognot, eval_op_ind) (eval_op_memval, eval_op_preinc, eval_op_predec) (eval_op_postinc, eval_op_postdec, eval_op_type) (eval_binop_assign_modify, eval_op_objc_msgcall) (eval_multi_subscript, logical_and_operation::evaluate) (logical_or_operation::evaluate, array_operation::evaluate) (operation::evaluate_for_cast) (var_msym_value_operation::evaluate_for_cast) (var_value_operation::evaluate_for_cast): Update. * c-lang.c (c_string_operation::evaluate): Update. * c-exp.h (objc_nsstring_operation::evaluate) (objc_selector_operation::evaluate): Update. * ada-lang.c (ada_assign_operation::evaluate) (eval_ternop_in_range, ada_unop_neg, ada_unop_in_range) (ada_atr_size): Update. 2021-03-08 Tom Tromey * eval.c: Merge "namespace" scopes. 2021-03-08 Tom Tromey * parser-defs.h (struct expr_builder) : Inline. : Inline. * parse.c (expr_builder::expr_builder, expr_builder::release): Remove. 2021-03-08 Tom Tromey * parse.c (expression::expression, expression::~expression): Remove. * expression.h (struct expression): Inline constructor. Remove destructor. 2021-03-08 Tom Tromey * std-operator.def (BINOP_END): Remove. * p-exp.y (tokentab3, tokentab2): Use OP_NULL, not BINOP_END. * go-exp.y (tokentab2): Use OP_NULL, not BINOP_END. * f-exp.y (dot_ops, f77_keywords): Use OP_NULL, not BINOP_END. * d-exp.y (tokentab2, ident_tokens): Use OP_NULL, not BINOP_END. * c-exp.y (tokentab3, tokentab2, ident_tokens): Use OP_NULL, not BINOP_END. 2021-03-08 Tom Tromey * expression.h (enum exp_opcode) : Remove. 2021-03-08 Tom Tromey * std-operator.def (OP_EXTENDED0): Remove. 2021-03-08 Tom Tromey * std-operator.def (OP_NAME, OP_ATR_IMAGE, OP_ATR_MODULUS) (OP_OTHERS, OP_CHOICES, OP_POSITIONAL, OP_DISCRETE_RANGE): Remove. 2021-03-08 Tom Tromey * std-operator.def (UNOP_CAP, UNOP_CHR, UNOP_ORD, UNOP_FLOAT) (UNOP_MAX, UNOP_MIN, UNOP_ODD, UNOP_TRUNC, OP_M2_STRING): Remove. 2021-03-08 Tom Tromey * std-operator.def (OP_ATR_MIN, OP_ATR_MAX): Remove. * ada-lang.c (ada_binop_minmax): Update. * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation): Use BINOP_MIN and BINOP_MAX. 2021-03-08 Tom Tromey * value.h (evaluate_subexp_with_coercion): Don't declare. * parse.c (exp_descriptor_standard): Remove. (expr_builder::expr_builder, expr_builder::release): Update. (expression::expression): Remove size_t parameter. (expression::~expression): Simplify. (expression::resize): Remove. (write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym) (write_exp_elt_msym, write_exp_elt_block, write_exp_elt_objfile) (write_exp_elt_longcst, write_exp_elt_floatcst) (write_exp_elt_type, write_exp_elt_intern, write_exp_string) (write_exp_string_vector, write_exp_bitstring): Remove. * p-lang.h (class pascal_language) : Remove. * p-lang.c (pascal_language::op_print_tab): Remove. * opencl-lang.c (class opencl_language) : Remove. * objc-lang.c (objc_op_print_tab): Remove. (class objc_language) : Remove. * m2-lang.h (class m2_language) : Remove. * m2-lang.c (m2_language::op_print_tab): Remove. * language.h (struct language_defn) : Remove. * language.c (language_defn::expression_ops) (auto_or_unknown_language::opcode_print_table): Remove. * go-lang.h (class go_language) : Remove. * go-lang.c (go_language::op_print_tab): Remove. * f-lang.h (class f_language) : Remove : Remove. * f-lang.c (f_language::op_print_tab): Remove. * expression.h (union exp_element): Remove. (struct expression): Remove size_t parameter from constructor. : Remove. : Update. : Remove. (EXP_ELEM_TO_BYTES, BYTES_TO_EXP_ELEM): Remove. (evaluate_subexp_standard, print_expression, op_string) (dump_raw_expression): Don't declare. * expprint.c (print_expression, print_subexp) (print_subexp_funcall, print_subexp_standard, op_string) (dump_raw_expression, dump_subexp, dump_subexp_body) (dump_subexp_body_funcall, dump_subexp_body_standard): Remove. (dump_prefix_expression): Update. * eval.c (evaluate_subexp): Remove. (evaluate_expression, evaluate_type): Update. (evaluate_subexpression_type): Remove. (fetch_subexp_value): Remove "pc" parameter. Update. (extract_field_op, evaluate_struct_tuple, evaluate_funcall) (evaluate_subexp_standard, evaluate_subexp_for_address) (evaluate_subexp_with_coercion, evaluate_subexp_for_sizeof) (evaluate_subexp_for_cast): Remove. (parse_and_eval_type): Update. * dtrace-probe.c (dtrace_probe::compile_to_ax): Update. * d-lang.c (d_op_print_tab): Remove. (class d_language) : Remove. * c-lang.h (c_op_print_tab): Don't declare. * c-lang.c (c_op_print_tab): Remove. (class c_language, class cplus_language, class asm_language, class minimal_language) : Remove. * breakpoint.c (update_watchpoint, watchpoint_check) (watchpoint_exp_is_const, watch_command_1): Update. * ax-gdb.h (union exp_element): Don't declare. * ax-gdb.c (const_var_ref, const_expr, maybe_const_expr) (gen_repeat, gen_sizeof, gen_expr_for_cast, gen_expr) (gen_expr_binop_rest): Remove. (gen_trace_for_expr, gen_eval_for_expr, gen_printf): Update. * ada-lang.c (ada_op_print_tab): Remove. (class ada_language) : Remove. 2021-03-08 Tom Tromey * go-lang.c (go_language::expression_ops): Don't declare. * go-lang.h (class go_language) : Remove. * opencl-lang.c (evaluate_subexp_opencl, exp_descriptor_opencl): Remove. (class opencl_language) : Remove. * d-lang.c (class d_language) : Remove. * c-lang.h (evaluate_subexp_c, exp_descriptor_c): Don't declare. * c-lang.c (evaluate_subexp_c, exp_descriptor_c): Remove. (class c_language, class cplus_language, class asm_language) (class minimal_language) : Remove. 2021-03-08 Tom Tromey * ada-lang.c (resolve_subexp, replace_operator_with_call) (evaluate_subexp_type, assign_aggregate) (aggregate_assign_positional, aggregate_assign_from_choices) (aggregate_assign_others, ada_evaluate_subexp_for_cast) (ada_evaluate_subexp, ADA_OPERATORS, ada_operator_length) (ada_operator_check, ada_forward_operator_length) (ada_dump_subexp_body, ada_print_subexp, ada_exp_descriptor): Remove. (post_parser): Update. (class ada_language) : Remove. 2021-03-08 Tom Tromey * m2-lang.h (class m2_language) : Remove. * m2-lang.c (evaluate_subexp_modula2) (m2_language::exp_descriptor_modula2): Remove. 2021-03-08 Tom Tromey * f-lang.h (class f_language) : Remove. : Remove. * f-lang.c (fortran_value_subarray, evaluate_subexp_f) (operator_length_f, print_unop_subexp_f, print_binop_subexp_f) (print_subexp_f, dump_subexp_body_f, operator_check_f) (f_language::exp_descriptor_tab, fortran_prepare_argument): Remove. 2021-03-08 Tom Tromey * rust-lang.h (class rust_language) : Remove. * rust-lang.c (rust_evaluate_funcall): Remove. (rust_range, rust_subscript, eval_op_rust_complement): Don't use EVAL_SKIP. (rust_evaluate_subexp): Remove. (rust_aggregate_operation::evaluate): Don't use EVAL_SKIP. (rust_operator_length, rust_dump_subexp_body, rust_print_subexp) (rust_operator_check, rust_language::exp_descriptor_tab): Remove. 2021-03-08 Tom Tromey * ada-exp.y: Create operations. (empty_stoken): Remove. (ada_pop, ada_wrap, ada_addrof, ada_un_wrap2, ada_wrap2) (ada_wrap_op, ada_wrap3, ada_funcall): New functions. (components): New global. (push_component, choice_component, pop_component, pop_components): New functions. (associations): New global (push_association, pop_association, pop_associations): New functions. (ada_parse): Update. (write_var_from_sym, write_int): Create operations. (write_exp_op_with_string): Remove. (write_object_renaming, write_selectors, write_ambiguous_var) (write_var_or_type, write_name_assoc): Create operations. * ada-lang.h (ada_index_type): Declare. * ada-lang.c (ada_index_type): No longer static. 2021-03-08 Tom Tromey * f-exp.y: Create operations. (f_language::parser): Update. 2021-03-08 Tom Tromey * m2-exp.y: Create operations. (m2_language::parser): Update. 2021-03-08 Tom Tromey * p-exp.y: Create operations. (pascal_language::parser): Update. 2021-03-08 Tom Tromey * d-exp.y: Create operations. (d_parse): Update. 2021-03-08 Tom Tromey * go-exp.y: Create operations. (go_language::parser): Update. 2021-03-08 Tom Tromey * objc-lang.c (end_msglist): Create operations. * c-exp.y: Change parser to create operations. (write_destructor_name): Remove. (c_parse): Update. 2021-03-08 Tom Tromey * rust-exp.y: Create operations. (rust_parser::convert_params_to_expression): Change return type. (binop_maker_ftype): New typedef. (maker_map): New global. (rust_parser::convert_ast_to_expression): Change return type. (rust_language::parser): Update. (_initialize_rust_exp): Initialize maker_map. 2021-03-08 Tom Tromey * stap-probe.c (binop_maker_ftype): New typedef. (stap_maker_map): New global. (stap_make_binop): New function. (stap_parse_register_operand): Return operation_up. (stap_parse_single_operand, stap_parse_argument_conditionally) (stap_parse_argument_1): Likewise. (stap_parse_argument): Create operations. (stap_probe::parse_arguments): Update. (_initialize_stap_probe): Initialize stap_maker_map. * ppc-linux-tdep.c (ppc_stap_parse_special_token): Change return type. * i386-tdep.h (i386_stap_parse_special_token): Change return type. * i386-tdep.c (i386_stap_parse_special_token_triplet) (i386_stap_parse_special_token_three_arg_disp) (i386_stap_parse_special_token): Change return type. * gdbarch.sh (stap_parse_special_token): Change return type. * gdbarch.c: Rebuild. * gdbarch.h: Rebuild. * arm-linux-tdep.c (arm_stap_parse_special_token): Change return type. * aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Change return type. 2021-03-08 Tom Tromey * gdbarch.sh (dtrace_parse_probe_argument): Change return type. * gdbarch.h: Rebuild. * gdbarch.c: Rebuild. * dtrace-probe.c (dtrace_probe::build_arg_exprs): Update. * amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Change return type. (amd64_dtrace_parse_probe_argument): Update. 2021-03-08 Tom Tromey * parser-defs.h (struct parser_state) : New methods. : New member. * parse.c (parser_state::push_c_string) (parser_state::push_symbol, parser_state::push_dollar): New methods. 2021-03-08 Tom Tromey * parser-defs.h (struct expr_completion_state) : New member. (struct parser_state) : New method. * parse.c (parser_state::mark_struct_expression): Update assert. (parser_state::mark_struct_expression): New method. (parser_state::mark_completion_tag): Update assert. (parse_expression_for_completion): Handle expout_last_op. 2021-03-08 Tom Tromey * ada-exp.h (class ada_var_value_operation) : Remove; now in superclass. * value.h (fetch_subexp_value): Add "op" parameter. * value.c (init_if_undefined_command): Update. * tracepoint.c (validate_actionline, encode_actions_1): Update. * stap-probe.c (stap_probe::compile_to_ax): Update. * printcmd.c (set_command): Update. * ppc-linux-nat.c (ppc_linux_nat_target::check_condition): Update. * parser-defs.h (struct expr_builder) : New method. * parse.c (parse_exp_in_context, exp_uses_objfile): Update. * expression.h (struct expression) : Update. : New member. * expprint.c (dump_raw_expression, dump_prefix_expression): Update. * expop.h (class var_value_operation) : New method. (class register_operation) : New method. (class equal_operation): No longer a typedef, now a subclass. (class unop_memval_operation) : New method. (class assign_operation) : New method. (class unop_cast_operation) : New method. * eval.c (evaluate_expression, evaluate_type) (evaluate_subexpression_type): Update. (fetch_subexp_value): Add "op" parameter. (parse_and_eval_type): Update. * dtrace-probe.c (dtrace_probe::compile_to_ax): Update. * breakpoint.c (update_watchpoint, watchpoint_check) (watchpoint_exp_is_const, watch_command_1): Update. * ax-gdb.c (gen_trace_for_expr, gen_eval_for_expr, gen_printf): Update. 2021-03-08 Tom Tromey * ada-lang.c (ada_value_binop): Do not use op_string. 2021-03-08 Tom Tromey * expprint.c (dump_for_expression): New overload. * expop.h (check_objfile, dump_for_expression): Declare new overloads. * ada-lang.c (check_objfile): New overload. (assign_component, ada_aggregate_component::uses_objfile) (ada_aggregate_component::dump, ada_aggregate_component::assign) (ada_aggregate_component::assign_aggregate) (ada_positional_component::uses_objfile) (ada_positional_component::dump, ada_positional_component::assign) (ada_discrete_range_association::uses_objfile) (ada_discrete_range_association::dump) (ada_discrete_range_association::assign) (ada_name_association::uses_objfile, ada_name_association::dump) (ada_name_association::assign) (ada_choices_component::uses_objfile, ada_choices_component::dump) (ada_choices_component::assign) (ada_others_component::uses_objfile, ada_others_component::dump) (ada_others_component::assign, ada_assign_operation::evaluate): New methods. * ada-exp.h (ada_string_operation) : New method. (class ada_assign_operation): New. (class ada_component): New. (ada_component_up): New typedef. (class ada_aggregate_operation, class ada_aggregate_component) (class ada_positional_component, class ada_others_component) (class ada_association): New. (ada_association_up): New typedef. (class ada_choices_component) (class ada_discrete_range_association) (class ada_name_association): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_var_value_operation::resolve) (ada_funcall_operation::resolve) (ada_ternop_slice_operation::resolve): New methods. * ada-exp.h (struct ada_resolvable): New. (class ada_var_value_operation): Derive from ada_resolvable. : New methods. (class ada_funcall_operation): Derive from ada_resolvable. : New method. (class ada_ternop_slice_operation): Derive from ada_resolvable. : New method. 2021-03-08 Tom Tromey * ada-lang.c (ada_funcall_operation::evaluate): New method. * ada-exp.h (class ada_var_msym_value_operation) : New method. (class ada_funcall_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_structop_operation::evaluate): New method. * ada-exp.h (class ada_structop_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_ind_operation::evaluate): New method. * ada-exp.h (class ada_unop_ind_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_exp): No longer static. * ada-exp.h (ada_binop_exp_operation): New typedef. 2021-03-08 Tom Tromey * ada-lang.c (ada_val_atr): No longer static. (ada_atr_val_operation::evaluate): New method. * ada-exp.h (class ada_atr_val_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_pos_atr): No longer static. * ada-exp.h (ada_pos_operation): New typedef. 2021-03-08 Tom Tromey * ada-lang.c (ada_pos_atr): Rename from value_pos_atr. Change parameters. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_minmax): No longer static. * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation): New typedefs. 2021-03-08 Tom Tromey * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast): New method. * ada-exp.h (class ada_var_msym_value_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_var_value_operation::evaluate_for_cast) (ada_var_value_operation::evaluate): New methods. * ada-exp.h (class ada_var_value_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_atr_operation::evaluate): New method. * ada-exp.h (class ada_unop_atr_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_in_bounds): No longer static. * ada-exp.h (class ada_binop_in_bounds_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_ternop_slice): No longer static. * ada-exp.h (class ada_ternop_slice_operation): New. 2021-03-08 Tom Tromey * ada-exp.h (ada_bitwise_operation): New template class. (ada_bitwise_and_operation, ada_bitwise_ior_operation) (ada_bitwise_xor_operation): New typedefs. 2021-03-08 Tom Tromey * ada-lang.c (ada_equal_binop): No longer static. * ada-exp.h (class ada_binop_equal_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_mult_binop): No longer static. * ada-exp.h (ada_binop_mul_operation ada_binop_div_operation) (ada_binop_rem_operation, ada_binop_mod_operation): New typedefs. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_addsub_operation::evaluate): New method. * ada-exp.h (class ada_binop_addsub_operation): New. 2021-03-08 Tom Tromey * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall) (ada_resolve_variable): Declare. * ada-lang.c (ada_find_operator_symbol, ada_resolve_funcall) (ada_resolve_variable): New functions. (resolve_subexp): Update. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_ternop_cond_operation::evaluate): New method. * c-exp.h (class opencl_ternop_cond_operation): New. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_logical_binop_operation::evaluate): New method. * c-exp.h (class opencl_logical_binop_operation): New. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_structop_operation::evaluate): New method. * c-exp.h (class opencl_structop_operation): New. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_logical_not): No longer static. Change parameters. (evaluate_subexp_opencl): Update. * c-exp.h (opencl_notequal_operation): New typedef. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_relop, eval_opencl_assign): No longer static. Change parameters. (eval_opencl_assign): No longer static. Add "op" parameter. (evaluate_subexp_opencl): Update. * c-exp.h (opencl_binop_operation): New template class. (opencl_assign_operation, opencl_equal_operation) (opencl_notequal_operation, opencl_less_operation) (opencl_gtr_operation, opencl_geq_operation) (opencl_leq_operation): New typedefs. 2021-03-08 Tom Tromey * opencl-lang.c (opencl_value_cast): No longer static. * c-exp.h (opencl_cast_type_operation): New typedef. 2021-03-08 Tom Tromey * f-exp.h (eval_op_f_allocated): Declare. (fortran_allocated_operation): New typedef. * f-lang.c (eval_op_f_allocated): No longer static. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_associated): New functions. * f-exp.h (fortran_associated_1arg, fortran_associated_2arg): New typedefs. 2021-03-08 Tom Tromey * f-lang.c (fortran_bound_1arg::evaluate) (fortran_bound_2arg::evaluate): New methods. * f-exp.h (class fortran_bound_1arg, class fortran_bound_2arg): New. 2021-03-08 Tom Tromey * expop.h (class unop_addr_operation) : New method. * f-lang.c (fortran_undetermined::value_subarray) (fortran_undetermined::evaluate): New methods. (fortran_prepare_argument): New overload. * f-exp.h (class fortran_range_operation) (class fortran_undetermined): New classes. 2021-03-08 Tom Tromey * rust-lang.c (rust_structop::evaluate_funcall): New method. * rust-exp.h (class rust_structop) : Declare method. 2021-03-08 Tom Tromey * expression.h (class operation) : New methods. * expop.h (class scope_operation) : New method. (class var_value_operation) : New method. (class structop_base_operation) : New method. (class var_msym_value_operation) : New method. (class structop_member_base): New class. (class structop_member_operation): Derive from structop_member_base. (class structop_mptr_operation): Derive from structop_member_base. (class funcall_operation): New class. * eval.c (operation::evaluate_funcall) (var_value_operation::evaluate_funcall) (scope_operation::evaluate_funcall) (structop_member_base::evaluate_funcall) (structop_base_operation::evaluate_funcall): New methods. 2021-03-08 Tom Tromey * expop.h (class array_operation): New. * eval.c (array_operation::evaluate_struct_tuple) (array_operation::evaluate): New methods. 2021-03-08 Tom Tromey * expop.h (class adl_func_operation): New. * eval.c (adl_func_operation::evaluate): New method. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_in_range): No longer static. * ada-exp.h (class ada_unop_range_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_neg, ada_atr_tag, ada_atr_size, ada_abs): No longer static. * ada-exp.h (ada_neg_operation, ada_atr_tag_operation) (ada_atr_size_operation, ada_abs_operation): New typedefs. 2021-03-08 Tom Tromey * expop.h (class logical_and_operation) (class logical_or_operation): New. * eval.c (logical_and_operation::evaluate) (logical_or_operation::evaluate): New methods. * ax-gdb.c (logical_and_operation::do_generate_ax) (logical_or_operation::do_generate_ax): New methods. 2021-03-08 Tom Tromey * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): No longer static. * m2-exp.h: New file. 2021-03-08 Tom Tromey * rust-lang.c (rust_aggregate_operation::evaluate): New method. * rust-exp.h (class rust_aggregate_operation): New. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_struct_anon, eval_op_rust_structop): No longer static. * rust-exp.h (class rust_struct_anon): New. (class rust_structop): New. 2021-03-08 Tom Tromey * rust-lang.c (rust_range): No longer static. * rust-exp.h (class rust_range_operation): New. 2021-03-08 Tom Tromey * rust-lang.c (rust_subscript): No longer static. * rust-exp.h (class rust_subscript_operation): New. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_ind): No longer static. Add "opcode" parameter. (rust_evaluate_subexp): Update. * rust-exp.h (class rust_unop_ind_operation): New. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_complement, eval_op_rust_array): No longer static. Add "opcode" parameter. (rust_evaluate_subexp): Update. * rust-exp.h: New file. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil) (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx) (eval_op_f_kind): No longer static. Add "opcode" parameter. (evaluate_subexp_f): Update. * f-exp.h: New file. 2021-03-08 Tom Tromey * ada-lang.c (ada_ternop_range_operation::evaluate): New method. * ada-exp.h (class ada_ternop_range_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_qual_operation::evaluate): New method. * ada-exp.h (class ada_qual_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_string_operation::evaluate): New method. * ada-exp.h (class ada_string_operation): New. 2021-03-08 Tom Tromey * ada-lang.c (ada_wrapped_operation::evaluate): New method. * ada-exp.h: New file. 2021-03-08 Tom Tromey * expop.h (class multi_subscript_operation): New. * eval.c (multi_subscript_operation::evaluate): New method. 2021-03-08 Tom Tromey * eval.c (objc_msgcall_operation::evaluate): New method. * c-exp.h (class objc_msgcall_operation): New. 2021-03-08 Tom Tromey * expop.h (class var_value_operation): New. * eval.c (var_value_operation::evaluate) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_with_coercion) (var_value_operation::evaluate_for_sizeof) (var_value_operation::evaluate_for_cast): New methods. * ax-gdb.c (var_value_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (cxx_cast_ftype): New typedef. (cxx_cast_operation): New template. (dynamic_cast_operation, reinterpret_cast_operation): New typedefs. 2021-03-08 Tom Tromey * expop.h (class unop_cast_type_operation): New. * ax-gdb.c (unop_cast_type_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class unop_cast_operation): New. * ax-gdb.c (unop_cast_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class assign_modify_operation): New. * eval.c (eval_binop_assign_modify): No longer static. * ax-gdb.c (assign_modify_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class assign_operation): New. * ax-gdb.c (assign_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class type_instance_operation): New. * eval.c (type_instance_operation::evaluate): New method. 2021-03-08 Tom Tromey * expop.h (class op_this_operation): New. * ax-gdb.c (op_this_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class unop_memval_operation) (class unop_memval_type_operation): New. * eval.c (eval_op_memval): No longer static. (unop_memval_operation::evaluate_for_address) (unop_memval_type_operation::evaluate_for_address) (unop_memval_operation::evaluate_for_sizeof) (unop_memval_type_operation::evaluate_for_sizeof): New methods. * ax-gdb.c (unop_memval_operation::do_generate_ax) (unop_memval_type_operation::do_generate_ax): New methods. 2021-03-08 Tom Tromey * expop.h (class unop_alignof_operation): New. * eval.c (eval_op_alignof): No longer static. 2021-03-08 Tom Tromey * expop.h (class unop_sizeof_operation): New. * ax-gdb.c (unop_sizeof_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class unop_addr_operation): New. * ax-gdb.c (gen_expr_unop) : New. 2021-03-08 Tom Tromey * expop.h (class typeid_operation): New. 2021-03-08 Tom Tromey * expop.h (class decltype_operation): New. 2021-03-08 Tom Tromey * expop.h (class typeof_operation): New. 2021-03-08 Tom Tromey * expop.h (class type_operation): New. * eval.c (eval_op_type): No longer static. 2021-03-08 Tom Tromey * expop.h (class unop_ind_base_operation) (class unop_ind_operation): New. * eval.c (eval_op_ind): No longer static. Remove "op" parameter. (unop_ind_base_operation::evaluate_for_address) (unop_ind_base_operation::evaluate_for_sizeof): New method. * ax-gdb.c (gen_expr_unop) : New. 2021-03-08 Tom Tromey * expop.h (unop_incr_operation): New template. (preinc_operation, predec_operation, postinc_operation) (postdec_operation): New typedefs. * eval.c (eval_op_preinc, eval_op_predec, eval_op_postinc) (eval_op_postdec): No longer static. 2021-03-08 Tom Tromey * expop.h (unary_ftype): New typedef. (unop_operation, usual_ax_binop_operation): New templates. (unary_plus_operation, unary_neg_operation) (unary_complement_operation, unary_logical_not_operation): New typedefs. * eval.c (eval_op_plus, eval_op_neg, eval_op_complement) (eval_op_lognot): No longer static. * ax-gdb.c (gen_expr_unop): New function. 2021-03-08 Tom Tromey * ax-gdb.c (comma_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class repeat_operation): New. * eval.c (eval_op_repeat): No longer static. Remove "op" parameter. (evaluate_subexp_standard): Update. * ax-gdb.c (repeat_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class comparison_operation): New. (equal_operation, notequal_operation, less_operation) (gtr_operation, geq_operation, leq_operation): New typedefs. * eval.c (eval_op_equal, eval_op_notequal, eval_op_less) (eval_op_gtr, eval_op_geq, eval_op_leq): No longer static. 2021-03-08 Tom Tromey * expop.h (class subscript_operation): New. * eval.c (eval_op_subscript): No longer static. 2021-03-08 Tom Tromey * expop.h (class binop_operation, class usual_ax_binop_operation): New. (exp_operation, intdiv_operation, mod_operation, mul_operation) (div_operation, rem_operation, lsh_operation, rsh_operation) (bitwise_and_operation, bitwise_ior_operation) (bitwise_xor_operation): New typedefs. * eval.c (eval_op_binary): No longer static. 2021-03-08 Tom Tromey * expop.h (class sub_operation): New. * eval.c (eval_op_sub): No longer static. Remove "op" parameter. (evaluate_subexp_standard): Update. 2021-03-08 Tom Tromey * expop.h (class add_operation): New. * eval.c (eval_op_add): No longer static. Remove "op" parameter. (evaluate_subexp_standard): Update. 2021-03-08 Tom Tromey * expop.h (class concat_operation): New. * eval.c (eval_op_concat): No longer static. Remove "op" parameter. (evaluate_subexp_standard): Update. 2021-03-08 Tom Tromey * expop.h (class structop_member_operation) (class structop_mptr_operation): New. * eval.c (eval_op_member): No longer static. 2021-03-08 Tom Tromey * expop.h (class structop_ptr_operation): New. * eval.c (eval_op_structop_ptr): No longer static. Remove "op" parameter. 2021-03-08 Tom Tromey * expop.h (class structop_base_operation) (class structop_operation): New. * eval.c (eval_op_structop_struct): No longer static. 2021-03-08 Tom Tromey * expop.h (class complex_operation): New. 2021-03-08 Tom Tromey * eval.c (eval_op_objc_selector): No longer static. * c-exp.h (class objc_selector_operation): New. 2021-03-08 Tom Tromey * eval.c: Include c-exp.h. * c-exp.h (class objc_nsstring_operation): New. 2021-03-08 Tom Tromey * c-lang.c (c_string_operation::evaluate): New method. * c-exp.h: New file. 2021-03-08 Tom Tromey * expop.h (class ternop_cond_operation): New. * ax-gdb.c (ternop_cond_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class ternop_slice_operation): New. * eval.c (eval_op_ternop): No longer static. 2021-03-08 Tom Tromey * expop.h (class string_operation): New. * eval.c (eval_op_string): No longer static. 2021-03-08 Tom Tromey * expop.h (class internalvar_operation): New. * ax-gdb.c (internalvar_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class bool_operation): New. 2021-03-08 Tom Tromey * expop.h (class register_operation): New. * eval.c (eval_op_register): No longer static. * ax-gdb.c (register_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class last_operation): New. 2021-03-08 Tom Tromey * expop.h (class func_static_var_operation): New. * eval.c (eval_op_func_static_var): No longer static. 2021-03-08 Tom Tromey * expop.h (class var_entry_value_operation): New. * eval.c (eval_op_var_entry_value): No longer static. 2021-03-08 Tom Tromey * expression.h (class operation) : New method. * expop.h (class var_msym_value_operation): New. * eval.c (eval_op_var_msym_value): No longer static. (var_msym_value_operation::evaluate_for_address) (var_msym_value_operation::evaluate_for_sizeof) (var_msym_value_operation::evaluate_for_cast): New methods. * ax-gdb.c (var_msym_value_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class long_const_operation): New. * ax-gdb.c (long_const_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expop.h (class scope_operation): New. * eval.c (eval_op_scope): No longer static. (scope_operation::evaluate_for_address): New method. * ax-gdb.c (scope_operation::do_generate_ax): New method. 2021-03-08 Tom Tromey * expprint.c (float_const_operation::dump): New method. * expop.h (float_data): New typedef. (class float_const_operation): New. 2021-03-08 Tom Tromey * expop.h (gen_expr_binop, gen_expr_structop): Declare. * ax-gdb.c (gen_expr_binop): New function. (gen_expr_structop): Likewise. 2021-03-08 Tom Tromey * expprint.c (expr::dump_for_expression): New functions. * expop.h (dump_for_expression): New overloads. (tuple_holding_operation::dump, tuple_holding_operation::do_dump): Update. 2021-03-08 Tom Tromey * expression.h (expr::operation): New class. (expr::make_operation): New function. (expr::operation_up): New typedef. * expop.h: New file. * eval.c (operation::evaluate_for_cast) (operation::evaluate_for_address, operation::evaluate_for_sizeof): New methods. * ax-gdb.c (operation::generate_ax): New method. 2021-03-08 Tom Tromey * ax-gdb.c (gen_expr_binop_rest): Remove "pc" parameter. (gen_expr_binop_rest): New overload. 2021-03-08 Tom Tromey * eval.c (eval_multi_subscript): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_exp): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_val_atr): Rename from value_val_atr. Change parameters. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_minmax): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_atr): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_binop_in_bounds): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_ternop_slice): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_equal_binop): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_mult_binop): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_abs): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_atr_size): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_atr_tag): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_in_range): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (ada_unop_neg): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * ada-lang.c (eval_ternop_in_range): New function. (ada_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * opencl-lang.c (eval_opencl_assign): New function. (evaluate_subexp_opencl): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_objc_msgcall): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_binop_assign_modify): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * m2-lang.c (eval_op_m2_subscript): New function. (evaluate_subexp_modula2): Use it. 2021-03-08 Tom Tromey * m2-lang.c (eval_op_m2_high): New function. (evaluate_subexp_modula2): Use it. 2021-03-08 Tom Tromey * eval.c (evaluate_subexp_for_address_base): New function. (evaluate_subexp_for_address): Use it. (evaluate_subexp_for_sizeof_base): New function. (evaluate_subexp_for_sizeof): Use it. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_structop): New function. (rust_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_struct_anon): New function. (rust_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_array): New function. (rust_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_complement): New function. (rust_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * rust-lang.c (eval_op_rust_ind): New function. (rust_evaluate_subexp): Use it. 2021-03-08 Tom Tromey * rust-lang.c (rust_subscript): Change parameters. (rust_evaluate_subexp): Update. 2021-03-08 Tom Tromey * rust-lang.c (rust_range): Change parameters. (rust_evaluate_subexp): Update. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_allocated): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (fortran_require_array): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_kind): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_cmplx): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_modulo): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_floor): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_ceil): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_mod): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * f-lang.c (eval_op_f_abs): New function. (evaluate_subexp_f): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_type): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_postdec): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_postinc): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_predec): New file. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_preinc): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_memval): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_alignof): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_ind): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_lognot): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_complement): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_neg): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_plus): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_repeat): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_leq): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_geq): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_gtr): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_less): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_notequal): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_equal): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_subscript): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_binary): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_sub): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_add): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_member): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_structop_ptr): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_structop_struct): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_ternop): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_concat): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_objc_selector): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_string): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_register): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_func_static_var): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_var_msym_value): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_var_entry_value): New function. (evaluate_subexp_standard): Use it. 2021-03-08 Tom Tromey * eval.c (eval_op_scope): New function. (evaluate_subexp_standard): Use it. 2021-03-06 Chernov Sergey PR gdb/27528: * ada-lang.c (ada_fold_name): Use gdb::to_string. 2021-03-06 Tom Tromey * dwarf2/sect-names.h (dwarf2_elf_names): Declare. * dwarf2/read.h (dwarf2_get_dwz_file): Move to dwz.h. * dwarf2/read.c (dwarf2_elf_names): No longer static. (locate_dwz_sections, dwz_search_other_debugdirs) (dwarf2_get_dwz_file): Move to dwz.c. * dwarf2/dwz.h (dwarf2_get_dwz_file): Move declaration from read.h. * dwarf2/dwz.c (locate_dwz_sections, dwz_search_other_debugdirs) (dwarf2_get_dwz_file): Move from read.c. 2021-03-06 Tom Tromey * debuginfod-support.h: Include scoped_fd.h. 2021-03-06 Tom Tromey * dwarf2/read.h (dwarf2_get_dwz_file): Add 'require' parameter. * dwarf2/read.c (dwarf2_get_dwz_file): Add 'require' parameter. (get_abbrev_section_for_cu, read_attribute_value) (get_debug_line_section): Update. * dwarf2/macro.c (dwarf_decode_macro_bytes): Update. 2021-03-06 Tom Tromey * dwarf2/sect-names.h (struct dwarf2_section_names) : New method. * dwarf2/read.c (section_is_p): Remove. (dwarf2_per_bfd::locate_sections) (dwarf2_per_bfd::locate_sections, locate_dwz_sections) (locate_v1_virtual_dwo_sections, dwarf2_locate_dwo_sections) (dwarf2_locate_common_dwp_sections) (dwarf2_locate_v2_dwp_sections, dwarf2_locate_v5_dwp_sections): Update. 2021-03-06 Tom Tromey * xcoffread.c: Include sect-names.h. * symfile.h (struct dwarf2_section_names, struct dwarf2_debug_sections): Move to dwarf2/sect-names.h. * dwarf2/sect-names.h: New file, from symfile.h. * dwarf2/read.c: Include sect-names.h. 2021-03-06 Tom Tromey * dwarf2/read.c (read_attribute): Make 'abbrev' const. * dwarf2/abbrev.c (abbrev_table::alloc_abbrev): Remove. (abbrev_table::read): Update. * dwarf2/abbrev.h (struct attr_abbrev): Move earlier. (struct abbrev_info): Reformat. : Now an array. (struct abbrev_table) : Remove. 2021-03-06 Weimin Pan * ctfread.c (ctf_psymtab_add_enums): New function. (ctf_psymtab_type_cb): call ctf_psymtab_add_enums. 2021-03-06 Weimin Pan * ctfread.c (read_func_kind_type): Set up function arguments. 2021-03-05 Craig Blackmore Andrew Burgess * riscv-none-tdep.c: Add 'user-regs.h' and 'target-description.h' includes. (riscv_csrset): New static global. (riscv_update_csrmap): New function. (riscv_iterate_over_regset_sections): Process CSRs. 2021-03-05 Andrew Burgess * riscv-tdep.c (riscv_feature_name_csr): Define. (riscv_feature_name_cpu): Define. (riscv_feature_name_fpu): Define. (riscv_feature_name_virtual): Define. (riscv_xreg_feature): Use riscv_feature_name_cpu. (riscv_freg_feature): Use riscv_feature_name_fpu. (riscv_virtual_feature): Use riscv_feature_name_virtual. (riscv_csr_feature): Use riscv_feature_name_csr. * riscv-tdep.h (riscv_feature_name_csr): Declare. 2021-03-05 Andrew Burgess Craig Blackmore * Makefile.in (ALL_TARGET_OBS): Add riscv-none-tdep.o. (ALLDEPFILES): Add riscv-none-tdep.c. * configure: Regenerate. * configure.ac (CONFIG_OBS): Add elf-none-tdep.o when BFD has ELF support. * configure.tgt (riscv*-*-*): Include riscv-none-tdep.c. * elf-none-tdep.c: New file. * elf-none-tdep.h: New file. * riscv-none-tdep.c: New file. 2021-03-05 Craig Blackmore Andrew Burgess * corelow.c: Add 'xml-tdesc.h' include. (core_target::read_description): Load the target description from the core file when possible. * fbsd-tdep.c (fbsd_make_corefile_notes): Add target description note. * gcore-elf.c: Add 'gdbsupport/tdesc.h' include. (gcore_elf_make_tdesc_note): New function. * gcore-elf.h (gcore_elf_make_tdesc_note): Declare. * linux-tdep.c (linux_make_corefile_notes): Add target description note. 2021-03-05 Andrew Burgess * Makefile.in (SFILES): Add gcore-elf.c. (HFILES_NO_SRCDIR): Add gcore-elf.h * configure: Regenerate. * configure.ac: Add gcore-elf.o to CONFIG_OBS if we have ELF support. * fbsd-tdep.c: Add 'gcore-elf.h' include. (struct fbsd_collect_regset_section_cb_data): Delete. (fbsd_collect_regset_section_cb): Delete. (fbsd_collect_thread_registers): Delete. (struct fbsd_corefile_thread_data): Delete. (fbsd_corefile_thread): Delete. (fbsd_make_corefile_notes): Call gcore_elf_build_thread_register_notes instead of the now deleted FreeBSD code. * gcore-elf.c: New file, the content was moved here from linux-tdep.c, functions were renamed and given minor cleanup. * gcore-elf.h: New file. * gcore.c (gcore_find_signalled_thread): Moved here from linux-tdep.c and given a new name. Minor cleanups. * gcore.h (gcore_find_signalled_thread): Declare. * linux-tdep.c: Add 'gcore.h' and 'gcore-elf.h' includes. (struct linux_collect_regset_section_cb_data): Delete. (linux_collect_regset_section_cb): Delete. (linux_collect_thread_registers): Delete. (linux_corefile_thread): Call gcore_elf_build_thread_register_notes. (find_signalled_thread): Delete. (linux_make_corefile_notes): Call gcore_find_signalled_thread. 2021-03-04 Simon Marchi PR gdb/27147 * sparc-nat.h (sparc_fetch_inferior_registers): Add process_stratum_target parameter, sparc_store_inferior_registers): update callers. * sparc-nat.c (sparc_fetch_inferior_registers, sparc_store_inferior_registers): Add process_stratum_target parameter. Switch current thread before calling sparc_supply_gregset / sparc_collect_rwindow. (sparc_store_inferior_registers): Likewise. * sparc-obsd-tdep.c (sparc32obsd_supply_uthread): Add assertion. (sparc32obsd_collect_uthread): Likewise. * sparc-tdep.c (sparc_supply_rwindow, sparc_collect_rwindow): Add assertion. * sparc64-obsd-tdep.c (sparc64obsd_collect_uthread, sparc64obsd_supply_uthread): Add assertion. 2021-03-04 Tom Tromey * ada-lang.c (struct match_data) : Now bool. (aux_add_nonlocal_symbols): Update. (ada_add_block_symbols): Change "found_sym" to bool. 2021-03-03 Tom Tromey * ada-lang.c (ada_resolve_function): Update comment. (is_nonfunction, add_symbols_from_enclosing_procs) (remove_extra_symbols): Likewise. (struct match_data): Add constructor, initializers. (add_nonlocal_symbols): Remove memset. (aux_add_nonlocal_symbols): Update comment. (ada_add_block_renamings, add_nonlocal_symbols) (ada_add_all_symbols): Likewise. * ada-exp.y (write_var_or_type): Clean up trailing whitespace. 2021-03-02 Tom Tromey * ada-lang.c (cast_from_gnat_encoded_fixed_point_type) (cast_to_gnat_encoded_fixed_point_type): Remove. (ada_value_cast, ada_evaluate_subexp): Update. (gnat_encoded_fixed_point_type_info) (ada_is_gnat_encoded_fixed_point_type) (gnat_encoded_fixed_point_delta) (gnat_encoded_fixed_point_scaling_factor): Remove. * ada-lang.h (ada_is_gnat_encoded_fixed_point_type) (gnat_encoded_fixed_point_delta) (gnat_encoded_fixed_point_scaling_factor): Don't declare. * ada-typeprint.c (print_gnat_encoded_fixed_point_type): Remove. (ada_print_type): Update. * ada-valprint.c (ada_value_print_num): Update. * dwarf2/read.c (ada_get_gnat_encoded_number) (ada_get_gnat_encoded_ratio): New functions. (finish_fixed_point_type): Use them. Add parameters. (GNAT_FIXED_POINT_SUFFIX): New define. (gnat_encoded_fixed_point_type_info): New function. (read_base_type): Handle gnat encodings. 2021-03-02 Tom Tromey * ada-lang.c (ada_fold_name, ada_variant_discrim_name) (ada_enum_name, scan_discrim_bound, to_fixed_range_type): Use std::string. (GROW_VECT): Remove. (grow_vect): Remove. 2021-03-02 Tom Tromey * ada-lang.h (ada_lookup_symbol_list): Return a vector. * ada-lang.c (resolve_subexp): Update. (ada_resolve_function): Accept a vector. (is_nonfunction, add_defn_to_vec) (add_symbols_from_enclosing_procs): Likewise. (num_defns_collected, defns_collected): Remove. (remove_extra_symbols): Return a vector. (remove_irrelevant_renamings): Return void. (ada_add_local_symbols): Accept a vector. (struct match_data) : Remove. : New member. (aux_add_nonlocal_symbols): Update. (ada_add_block_renamings, add_nonlocal_symbols) (ada_add_all_symbols): Accept a vector. (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Return a vector. (ada_lookup_symbol): Update. (ada_add_block_symbols): Accept a vector. (get_var_value, iterate_over_symbols): Update. * ada-exp.y (block_lookup, write_var_or_type, write_name_assoc): Update. 2021-03-02 Tom Tromey * ada-lang.c (resolve_subexp): Use any_of and erase-remove idiom. 2021-03-02 Tom Tromey * ada-lang.c (struct ada_symbol_cache) : Now an auto_obstack. : Initialize. (ada_pspace_data): Remove destructor. : Now a unique_ptr. (ada_init_symbol_cache, ada_free_symbol_cache): Remove. (ada_get_symbol_cache): Use 'new'. (ada_clear_symbol_cache): Rewrite. 2021-03-02 Tom Tromey * ada-lang.c (add_nonlocal_symbols): Handle case where objfile->sf is null. 2021-02-27 Lancelot Six PR gdb/27393 * source.c (add_path): Skip empty dirnames. 2021-02-25 Kevin Buettner * nat/aarch64-sve-linux-ptrace.h: Add comment regarding include order for and . 2021-02-25 Simon Marchi PR gdb/26861 * target.c (target_mourn_inferior): Only compare pids in target_mourn_inferior. 2021-02-25 Jan Matyas PR gdb/26819 * remote.c (remote_target::start_remote): Ensure the single thread, automatically added for remote targets without the concept of threading, is initially in set to the "resumed" state. * remote.c (remote_target::add_current_inferior_and_thread): Add return value - return the main thread. 2021-02-25 Jan Vrany * gdb/mi/mi-interp.c (mi_traceframe_changed): Remove trailing \n from output. (mi_tsv_created): Likewise. (mi_tsv_deleted): Likewise. 2021-02-25 Tom de Vries PR symtab/27354 * dwarf2/read.c (open_and_init_dwo_file): Use rcuh_kind::COMPILE as section_kind for &dwo_file->sections.info. 2021-02-25 Andrew Burgess PR fortran/26155 * f-lang.c (fortran_argument_convert): Delete declaration. (fortran_prepare_argument): New function. (evaluate_subexp_f): Move logic to new function fortran_prepare_argument. 2021-02-25 Andrew Burgess * f-exp.y (f77_keywords): Add 'associated'. * f-lang.c (fortran_associated): New function. (evaluate_subexp_f): Handle FORTRAN_ASSOCIATED. (operator_length_f): Likewise. (print_unop_or_binop_subexp_f): New function. (print_subexp_f): Make use of print_unop_or_binop_subexp_f for FORTRAN_ASSOCIATED, FORTRAN_LBOUND, and FORTRAN_UBOUND. (dump_subexp_body_f): Handle FORTRAN_ASSOCIATED. (operator_check_f): Likewise. * std-operator.def: Add FORTRAN_ASSOCIATED. 2021-02-25 Andrew Burgess * f-exp.y (fortran_operators): Add ".xor.". 2021-02-24 Tom de Vries PR symtab/27336 * dwarf2/attribute.c (attribute::form_is_signed): New function factored out of ... * dwarf2/attribute.h (attribute::as_signed): ... here. (attribute::is_nonnegative, attribute::as_nonnegative): New function. (attribute::form_is_signed): Declare. * dwarf2/read.c (new_symbol): Use is_nonnegative and as_nonnegative for DW_AT_decl_file. 2021-02-24 Kevin Buettner * nat/aarch64-linux-hw-point.c: Add comment regarding include order for and . 2021-02-24 Kevin Buettner * nat/aarch64-linux-hw-point.c: Include after . 2021-02-24 Andrew Burgess * exec.c (set_section_command): Move variable declarations into the function body, and use std::string instead of a fixed size buffer. 2021-02-24 Andrew Burgess * exec.c (exec_target::get_section_table): Delete member function. (section_table_read_available_memory): Use current_top_target, not just the exec_ops target. * target-delegates.c: Regenerate. * target.c (default_get_section_table): New function. * target.h (target_ops::get_section_table): Change default behaviour to call default_get_section_table. (default_get_section_table): Declare. 2021-02-24 Andrew Burgess * exec.c (exec_target::close): Call new clear_target_sections function. (program_space::add_target_sections): Update name of member variable. (program_space::add_target_sections): Update name of member variable. (program_space::remove_target_sections): Likewise. (exec_one_fork): Use new target_sections member function. (exec_target::get_section_table): Likewise. (exec_target::files_info): Likewise. (set_section_command): Likewise. (exec_set_section_address): Likewise. (exec_target::has_memory): Use new target_sections member function. * progspace.h (program_space::clear_target_sections): New member function. (program_space::target_sections): Rename member variable to m_target_sections, replace with a new member function. (program_space::m_target_sections): New member variable. * solib-dsbt.c (scan_dyntag): Use new member function. * solib-svr4.c (scan_dyntag): Likewise. 2021-02-24 Andrew Burgess * gdb/bfd-target.c (class target_bfd) : Make return type const. * gdb/exec.c (struct exec_target) : Likewise. (section_table_read_available_memory): Make local const. (exec_target::xfer_partial): Make local const. (print_section_info): Make parameter const. * gdb/exec.h (print_section_info): Likewise. * gdb/ppc64-tdep.c (ppc64_convert_from_func_ptr_addr): Make local const. * gdb/record-btrace.c (record_btrace_target::xfer_partial): Likewise. * gdb/remote.c (remote_target::remote_xfer_live_readonly_partial): Likewise. * gdb/s390-tdep.c (s390_load): Likewise. * gdb/solib-dsbt.c (scan_dyntag): Likewise. * gdb/solib-svr4.c (scan_dyntag): Likewise. * gdb/target-debug.h (target_debug_print_target_section_table_p): Rename to... (target_debug_print_const_target_section_table_p): ...this. * gdb/target-delegates.c: Regenerate. * gdb/target.c (target_get_section_table): Make return type const. (target_section_by_addr): Likewise. Also make some locals const. (memory_xfer_partial_1): Make some locals const. * gdb/target.h (struct target_ops) : Make return type const. (target_section_by_addr): Likewise. (target_get_section_table): Likewise. 2021-02-24 Andrew Burgess * NEWS: Mention new 'maint info target-sections' command. * maint.c (maintenance_info_target_sections): New function. (_initialize_maint_cmds): Register new command. 2021-02-24 Andrew Burgess * riscv-tdep.c (riscv_features_from_gdbarch_info): Rename to... (riscv_features_from_bfd): ...this. Change parameter type to 'bfd*', and update as required. (riscv_find_default_target_description): Update call to riscv_features_from_bfd. Select a default xlen based on info.bfd_arch_info. (riscv_gdbarch_init): Update call to riscv_features_from_bfd. 2021-02-24 Andrew Burgess * eval.c (evaluate_subexp_standard): Call value_ind for points to dynamic types in UNOP_IND. 2021-02-23 Simon Marchi PR gdb/26828 * dwarf2/read.c (dwarf2_queue_guard) : Instantiate queue. (~dwarf2_queue_guard): Clear queue. (queue_comp_unit): Assert that queue is instantiated. (process_queue): Adjust. * dwarf2/read.h (struct dwarf2_per_bfd) : Make optional. 2021-02-23 Simon Marchi PR gdb/26828 * dwarf2/read.c (maybe_queue_comp_unit): Check if CU is expanded to decide whether or not to enqueue it for expansion. (follow_die_offset, follow_die_sig_1): Ensure we load the DIEs after calling maybe_queue_comp_unit. 2021-02-23 Simon Marchi * linux-nat.c (linux_nat_filter_event): Return void. 2021-02-22 Tom Tromey * solib-svr4.c (enable_break): Update. * bfd-target.c (class target_bfd) : Change parameter type. (target_bfd_reopen): Change parameter type. * bfd-target.h (target_bfd_reopen): Change parameter type. 2021-02-22 Simon Marchi * thread.c (add_thread_silent): Add assert. (find_thread_ptid): Add assert. 2021-02-22 Simon Marchi PR gdb/27435 * inf-ptrace.c (struct target_unpusher): Move to target.h. (target_unpush_up): Likewise. * procfs.c (procfs_target::attach): Push target early. Use target_unpush_up to unpush target in case of error. * target.h (struct target_unpusher): Move here. (target_unpush_up): Likewise. 2021-02-19 Kevin Buettner * nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h" (which in turn includes ) before include of . 2021-02-19 Nelson Chu PR 27158 * riscv-tdep.c (decode_ci_type_insn): Updated encoding macros. (decode_j_type_insn): Likewise. (decode_cj_type_insn): Likewise. (decode_b_type_insn): Likewise. (decode): Likewise. 2021-02-18 Tom Tromey * expression.h (struct expression) : Declare method. * eval.c (evaluate_subexp): Simplify. (expression::evaluate): New method. (evaluate_expression, evaluate_type): Use expression::evaluate. 2021-02-17 Kevin Buettner * ada-lang.c (ada_fold_name): Check for non-empty string prior to accessing it. (ada_lookup_name_info): Likewise. 2021-02-13 Mike Frysinger * aclocal.m4: Regenerate. 2021-02-12 Tom de Vries PR threads/26228 * linux-nat.c (lin_thread_get_thread_signals): Remove. (lin_thread_signals): New static var. (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal): New function. * linux-nat.h (lin_thread_get_thread_signals): Remove. (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal): Declare. * linux-thread-db.c (check_thread_signals): Use lin_thread_get_thread_signal_num and lin_thread_get_thread_signal. 2021-02-12 Andrew Burgess * f-exp.y (f77_keywords): Add allocated. * f-lang.c (evaluate_subexp_f): Handle UNOP_FORTRAN_ALLOCATED. (operator_length_f): Likewise. (print_subexp_f): Likewise. (dump_subexp_body_f): Likewise. (operator_check_f): Likewise. * std-operator.def (UNOP_FORTRAN_ALLOCATED): New operator. 2021-02-11 Tom de Vries PR symtab/27353 * dwarf2/attribute.c (attribute::form_requires_reprocessing): Return true for DW_FORM_strx. 2021-02-11 Tom Tromey PR gdb/27383: * parse.c (write_exp_symbol_reference): Write sym.block. 2021-02-11 Andrew Burgess * NEWS: Mention changes to 'maint info sections'. * maint.c (match_substring): Return a bool, fix whitespace issue. (struct single_bfd_flag_info): New struct. (bfd_flag_info): New static global. (match_bfd_flags): Return a bool, use bfd_flag_info. (print_bfd_flags): Use bfd_flag_info. (maint_print_section_info): Delete trailing whitespace. (struct maint_info_sections_opts): New struct. (maint_info_sections_option_defs): New static global. (maint_info_sections_completer): New function. (maintenance_info_sections): Use option parsing mechanism. (_initialize_maint_cmds): Update command help text for 'maint info sections' and register a command completer. 2021-02-11 Andrew Burgess * maint.c (print_bfd_section_info_maybe_relocated): Delete, functionality merged into... (maint_print_all_sections): ...this new function. (maintenance_info_sections): Make use of maint_print_all_sections, allow all objects to be printed even where there's no executable. 2021-02-11 Andrew Burgess * breakpoint.c (resolve_sal_pc): Make use of bound_minimal_symbol::obj_section. * maint.c (maintenance_translate_address): Likewise. * minsyms.c (minimal_symbol_upper_bound): Likewise. * minsyms.h (struct bound_minimal_symbol) : New member function. * printcmd.c (info_address_command): Make use of bound_minimal_symbol::obj_section. 2021-02-11 Alan Modra * arm-symbian-tdep.c: Delete. * NEWS: Mention arm-symbian removal. * Makefile.in: Remove arm-symbian-tdep entries. * configure.tgt: Remove arm*-*-symbianelf*. * doc/gdb.texinfo: Remove mention of SymbianOS. * osabi.c (gdb_osabi_names): Remove "Symbian". * osabi.h (enum gdb_osabi): Remove GDB_OSABI_SYMBIAN. * testsuite/gdb.base/ending-run.exp: Remove E32Main handling. * testsuite/gdb.ada/catch_ex_std.exp: Remove arm*-*-symbianelf* handling. * testsuite/gdb.base/dup-sect.exp: Likewise. * testsuite/gdb.base/long_long.exp: Likewise. * testsuite/gdb.base/solib-weak.exp: Likewise. * testsuite/gdb.guile/scm-section-script.exp: Likewise. * testsuite/gdb.python/py-section-script.exp: Likewise. * testsuite/lib/dwarf.exp: Likewise. * testsuite/lib/gdb.exp: Likewise. 2021-02-10 Andrew Burgess * f-exp.y (UNOP_OR_BINOP_INTRINSIC): New token. (exp): New pattern using UNOP_OR_BINOP_INTRINSIC. (one_or_two_args): New pattern. (f77_keywords): Add lbound and ubound. * f-lang.c (fortran_bounds_all_dims): New function. (fortran_bounds_for_dimension): New function. (evaluate_subexp_f): Handle FORTRAN_LBOUND and FORTRAN_UBOUND. (operator_length_f): Likewise. (print_subexp_f): Likewise. (dump_subexp_body_f): Likewise. (operator_check_f): Likewise. * std-operator.def (FORTRAN_LBOUND): Define. (FORTRAN_UBOUND): Define. 2021-02-10 Andrew Burgess * coff-pe-read.c (add_pe_forwarded_sym): Make use of section_index and set_section_index member functions where appropriate. * coffread.c (coff_symtab_read): Likewise. (process_coff_symbol): Likewise. * ctfread.c (set_symbol_address): Likewise. * dwarf2/read.c (add_partial_symbol): Likewise. (var_decode_location): Likewise. * language.c: Likewise. * minsyms.c (minimal_symbol_reader::record_full): Likewise. (compact_minimal_symbols): Likewise. (minimal_symbol_upper_bound): Likewise. * objfiles.c (relocate_one_symbol): Likewise. * psympriv.h (partial_symbol::obj_section): Likewise. (partial_symbol::address): Likewise. * psymtab.c (partial_symtab::add_psymbol): Likewise. * stabsread.c (scan_file_globals): Likewise. * symmisc.c (dump_msymbols): Likewise. * symtab.c (general_symbol_info::obj_section): Likewise. (fixup_section): Likewise. (get_msymbol_address): Likewise. * symtab.h (general_symbol_info::section): Rename to... (general_symbol_info::m_section): ...this. (general_symbol_info::set_section_index): New member function. (general_symbol_info::section_index): Likewise. (SYMBOL_SECTION): Delete. (MSYMBOL_VALUE_ADDRESS): Make use of section_index and set_section_index member functions where appropriate. (MSYMBOL_SECTION): Delete. (symbol::symbol): Update to initialize 'm_section'. * xcoffread.c (read_xcoff_symtab): Make use of set_section_index. (process_xcoff_symbol): Likewise. 2021-02-10 Andrew Burgess * breakpoint.c (resolve_sal_pc): Replace SYMBOL_OBJ_SECTION and MSYMBOL_OBJ_SECTION. * findvar.c (language_defn::read_var_value): Likewise. * infcmd.c (jump_command): Likewise. * linespec.c (minsym_found): Likewise. * maint.c (maintenance_translate_address): Likewise. * minsyms.c (lookup_minimal_symbol_by_pc_section): Likewise. (minimal_symbol_upper_bound): Likewise. * parse.c (find_minsym_type_and_address): Likewise. (operator_check_standard): Likewise. * printcmd.c (info_address_command): Likewise. * symmisc.c (dump_msymbols): Likewise. (print_symbol): Likewise. * symtab.c (general_symbol_info::obj_section): Define new function. (fixup_symbol_section): Replace SYMBOL_OBJ_SECTION. (find_pc_sect_compunit_symtab): Likewise. (find_function_start_sal): Likewise. (skip_prologue_sal): Replace SYMBOL_OBJ_SECTION and MSYMBOL_OBJ_SECTION. * symtab.h (struct general_symbol_info) : Declare new function. (SYMBOL_OBJ_SECTION): Delete. (MSYMBOL_OBJ_SECTION): Delete. 2021-02-09 Tom Tromey * stap-probe.c (stap_parse_argument_conditionally): Fix typo. 2021-02-09 Tom de Vries PR symtab/27341 * dwarf2/read.c (read_array_type): Return NULL when not being able to construct an array type. Add assert to ensure that element_type is not being modified. 2021-02-09 Andrew Burgess * gcore.c (struct gcore_collect_regset_section_cb_data): Delete. (gcore_collect_regset_section_cb): Delete. (gcore_collect_thread_registers): Delete. (gcore_build_thread_register_notes): Delete. (gcore_find_signalled_thread): Delete. * gcore.h: Remove 'gdbsupport/gdb_signals.h' include and delete 'gdbarch' and 'thread_info' declarations. (gcore_build_thread_register_notes): Delete declaration. (gcore_find_signalled_thread): Likewise. * fbsd-tdep.c: Remove 'gcore.h' include. (struct fbsd_collect_regset_section_cb_data): New struct. (fbsd_collect_regset_section_cb): New function. (fbsd_collect_thread_registers): New function. (struct fbsd_corefile_thread_data): New struct. (fbsd_corefile_thread): New function. (fbsd_make_corefile_notes): Call FreeBSD specific code. * linux-tdep.c: Remove 'gcore.h' include. (struct linux_collect_regset_section_cb_data): New struct. (linux_collect_regset_section_cb): New function. (linux_collect_thread_registers): New function. (linux_corefile_thread): Call Linux specific code. (find_signalled_thread): New function. (linux_make_corefile_notes): Call find_signalled_thread. 2021-02-09 Tom Tromey * ada-lang.c (coerce_unspec_val_to_type): Avoid making lazy not_lval value. * value.c (value_contents_copy_raw): Now static. * value.h (value_contents_copy_raw): Don't declare. 2021-02-09 Tom Tromey * gdbtypes.c (resolve_dynamic_struct): Handle structure with no fields. 2021-02-08 Shahab Vahedi PR tdep/27369 * arc-linux-tdep.c (handle_atomic_sequence): New. (arc_linux_software_single_step): Call handle_atomic_sequence(). 2021-02-08 Andrew Burgess * python/py-tui.c (gdbpy_tui_window) : New member function. (REQUIRE_WINDOW): Call is_valid member function. (REQUIRE_WINDOW_FOR_SETTER): New define. (gdbpy_tui_is_valid): Call is_valid member function. (gdbpy_tui_set_title): Call REQUIRE_WINDOW_FOR_SETTER instead. * tui/tui-data.h (struct tui_win_info) : Check tui_active too. * tui/tui-layout.c (tui_apply_current_layout): Add an assert. * tui/tui.c (tui_enable): Move setting of tui_active earlier in the function. 2021-02-08 Andrew Burgess * python/py-tui.c (gdbpy_tui_set_title): Check that the new value for the title is not nullptr. 2021-02-08 Andrew Burgess * tui-layout.c (saved_tui_windows): Delete. (tui_apply_current_layout): Don't make use of saved_tui_windows, call new get_windows member function instead. (tui_get_window_by_name): Check in tui_windows. (tui_layout_window::apply): Don't add to tui_windows. * tui-layout.h (tui_layout_base::get_windows): New member function. (tui_layout_window::get_windows): Likewise. (tui_layout_split::get_windows): Likewise. 2021-02-08 Andrew Burgess * tui/tui-layout.c (tui_apply_current_layout): Restore the delete of the window objects. 2021-02-08 Andrew Burgess * python/python.c (gdbpy_print_stack): Reformat an error message. 2021-02-08 Andrew Burgess * tui/tui-interp.c (tui_command_line_handler): New function. (tui_interp::resume): Register tui_command_line_handler as the input_handler. * tui/tui-io.c (tui_inject_newline_into_command_window): New function. (tui_getc_1): Delete handling of '\n' and '\r'. * tui-io.h (tui_inject_newline_into_command_window): Declare. 2021-02-07 Hannes Domani * tui/tui-regs.c (tui_data_window::display_registers_from): Mark invisible register sub windows. (tui_data_window::check_register_values): Ignore invisible register sub windows. 2021-02-07 Hannes Domani * tui/tui-regs.c (tui_data_item_window::rerender): Don't call n_spaces with a negative value. 2021-02-07 Hannes Domani * tui/tui-regs.c (tui_data_window::display_registers_from): Add refresh_window call. 2021-02-07 Hannes Domani * python/py-frame.c (frapy_richcompare): Compare frame_id_is_next. 2021-02-05 Simon Marchi * symmisc.c (std_in, std_out, std_err): Remove. (_initialize_symmisc): Don't set std_in, std_out and std_err. 2021-02-05 Tom de Vries PR breakpoints/27330 * breakpoint.c (create_exception_master_breakpoint): Handle case that glibc object file has debug info. 2021-02-05 Tom de Vries PR symtab/27333 * dwarf2/read.c (process_psymtab_comp_unit): Handle DW_TAG_type_unit. 2021-02-05 Tom de Vries PR breakpoints/27313 * break-catch-syscall.c (catch_syscall_split_args): Reject negative syscall numbers. 2021-02-05 Tom Tromey * compile/compile-c-support.c (get_compile_context) (c_get_compile_context, cplus_get_compile_context): Change return type. * language.c (language_defn::get_compile_instance): New method. * language.h (language_defn::get_compile_instance): Change return type. No longer inline. * c-lang.c (c_language::get_compile_instance): Change return type. (cplus_language::get_compile_instance): Change return type. * c-lang.h (c_get_compile_context, cplus_get_compile_context): Change return type. * compile/compile.c (compile_to_object): Update. 2021-02-05 Tom Tromey * parser-defs.h (write_exp_symbol_reference): Declare. * parse.c (write_exp_symbol_reference): New function. * p-exp.y (variable): Use write_exp_symbol_reference. * m2-exp.y (variable): Use write_exp_symbol_reference. * f-exp.y (variable): Use write_exp_symbol_reference. * d-exp.y (PrimaryExpression): Use write_exp_symbol_reference. * c-exp.y (variable): Use write_exp_symbol_reference. 2021-02-05 Tom de Vries PR exp/27265 * valarith.c (complex_binop): Throw an error if complex type can't be created. 2021-02-05 Tom de Vries PR symtab/27307 * dwarf2/read.c (create_cus_from_debug_names_list): Add missing return. 2021-02-05 Tom de Vries * dwarf2/read.c (create_cus_from_debug_names_list): Fix indentation. 2021-02-04 Mike Frysinger * configure.tgt (riscv*-*-*): Set gdb_sim. 2021-02-04 Simon Marchi * target.c (target_is_non_stop_p): Return bool. * target.h (target_is_non_stop_p): Return bool. 2021-02-04 Simon Marchi * record-full.c (record_full_async_inferior_event_handler): Don't clear async event handler. (record_full_base_target::wait): Clear async event handler at beginning. 2021-02-04 Simon Marchi * record-btrace.c (record_btrace_handle_async_inferior_event): Don't clear async event handler. (record_btrace_target::wait): Clear async event handler at beginning. 2021-02-04 Simon Marchi * remote.c (remote_target::wait): Clear async event handler at beginning, mark if needed at the end. (remote_async_inferior_event_handler): Don't set or clear async event handler. 2021-02-04 Simon Marchi * async-event.h (async_event_handler_func): Add documentation. * async-event.c (check_async_event_handlers): Don't clear async_event_handler ready flag. * infrun.c (infrun_async_inferior_event_handler): Clear ready flag. * record-btrace.c (record_btrace_handle_async_inferior_event): Likewise. * record-full.c (record_full_async_inferior_event_handler): Likewise. * remote-notif.c (remote_async_get_pending_events_handler): Likewise. * remote.c (remote_async_inferior_event_handler): Likewise. 2021-02-03 Simon Marchi * infrun.c (handle_inferior_event): Move stop_soon variable to inner scope. 2021-02-03 Pedro Alves * infcmd.c (detach_command): Hold strong reference to target, and if all-stop on entry, restart threads on exit. * infrun.c (switch_back_to_stepped_thread): Factor out bits to ... (restart_stepped_thread): ... this new function. Also handle trap_expected. (restart_after_all_stop_detach): New function. * infrun.h (restart_after_all_stop_detach): Declare. 2021-02-03 Pedro Alves * infrun.c (struct step_over_info): Initialize fields. (prepare_for_detach): Handle ongoing in-line step over. 2021-02-03 Pedro Alves * linux-nat.c (linux_nat_target::detach): Remove breakpoints here... * remote.c (remote_target::remote_detach_1): ... and here ... * target.c (target_detach): ... instead of here. * target.h (target_ops::detach): Add comment. 2021-02-03 Pedro Alves * infrun.c (struct wait_one_event): Move higher up. (prepare_for_detach): Abort in-progress displaced steps instead of letting them complete. (handle_one): If the inferior is detaching, don't add the thread back to the global step-over chain. (restart_threads): Don't restart threads if detaching. (handle_signal_stop): Remove inferior::detaching reference. 2021-02-03 Pedro Alves * infrun.c (prepare_for_detach): Don't release scoped_restore before returning. 2021-02-03 Pedro Alves * infrun.c (handle_one): New function, factored out from ... (stop_all_threads): ... here. 2021-02-03 Pedro Alves * remote.c (remote_notif_stop_ack): Don't error out on TARGET_WAITKIND_IGNORE; instead, just ignore the notification. (remote_target::discard_pending_stop_replies): Don't delete in-flight notification; instead, clear its contents. 2021-02-03 Pedro Alves * remote.c (extended_remote_target::attach): Set target async in the target-non-stop path too. 2021-02-03 Pedro Alves PR gdb/27055 * infrun.c (handle_signal_stop): Move main context_switch call earlier, before STOP_QUIETLY_NO_SIGSTOP. 2021-02-02 Lancelot SIX * NEWS (Changed commands): Add entry for the behavior change of the inferior command. * inferior.c (inferior_command): When no argument is given to the inferior command, display info about the currently selected inferior. 2021-02-02 Simon Marchi * dwarf2/read.c (read_loclist_index, read_rnglist_index): Return a sect_offset. (read_attribute_reprocess): Adjust. 2021-02-02 Simon Marchi * dwarf2/die.h (struct die_info) : Split in... : ... this... : ... and this. * dwarf2/read.c (struct dwarf2_cu) : Split in... : ... this... : ... and this. (read_cutu_die_from_dwo): Adjust (dwarf2_get_pc_bounds): Adjust (dwarf2_record_block_ranges): Adjust. (read_full_die_1): Adjust (partial_die_info::read): Adjust. (read_rnglist_index): Adjust. 2021-02-02 Simon Marchi PR gdb/26813 * dwarf2/read.c (read_loclists_rnglists_header): Add header_offset parameter and use it. (read_loclist_index): Read header of the current contribution, not the one at the beginning of the section. (read_rnglist_index): Likewise. 2021-02-02 Simon Marchi PR gdb/26813 * dwarf2/attribute.h (struct attribute) : Clear requires_reprocessing flag. * dwarf2/attribute.c (attribute::form_is_unsigned): Handle DW_FORM_loclistx. (attribute::form_requires_reprocessing): Handle DW_FORM_rnglistx and DW_FORM_loclistx. * dwarf2/read.c (read_attribute_reprocess): Use set_unsigned instead of set_address for DW_FORM_loclistx and DW_FORM_rnglistx. 2021-02-02 Simon Marchi * dwarf2/read.c (read_loclist_index): Remove bound check for start of offset. (read_rnglist_index): Likewise. 2021-02-02 Simon Marchi * dwarf2/read.c (read_loclist_index): Add bound check for the end of the offset. 2021-02-02 Simon Marchi * dwarf2/read.c (read_rnglist_index): Fix bound check. 2021-02-02 Simon Marchi * dwarf2/read.c (read_loclist_index): Change complaints into errors. 2021-02-02 Tom de Vries PR symtab/24620 * dwarf2/index-write.c (write_one_signatured_type): Skip if psymtab == nullptr. 2021-02-01 Andrew Burgess * Makefile.in (HFILES_NO_SRCDIR): Add corefile.h. * gcore.c (struct gcore_collect_regset_section_cb_data): Moved here from linux-tdep.c and given a new name. Minor cleanups. (gcore_collect_regset_section_cb): Likewise. (gcore_collect_thread_registers): Likewise. (gcore_build_thread_register_notes): Likewise. (gcore_find_signalled_thread): Likewise. * gcore.h (gcore_build_thread_register_notes): Declare. (gcore_find_signalled_thread): Declare. * fbsd-tdep.c: Add 'gcore.h' include. (struct fbsd_collect_regset_section_cb_data): Delete. (fbsd_collect_regset_section_cb): Delete. (fbsd_collect_thread_registers): Delete. (struct fbsd_corefile_thread_data): Delete. (fbsd_corefile_thread): Delete. (fbsd_make_corefile_notes): Call gcore_build_thread_register_notes instead of the now deleted FreeBSD code. * linux-tdep.c: Add 'gcore.h' include. (struct linux_collect_regset_section_cb_data): Delete. (linux_collect_regset_section_cb): Delete. (linux_collect_thread_registers): Delete. (linux_corefile_thread): Call gcore_build_thread_register_notes. (find_signalled_thread): Delete. (linux_make_corefile_notes): Call gcore_find_signalled_thread. 2021-01-29 Tom de Vries PR breakpoints/26063 * infrun.c (process_event_stop_test): Reset ecs->event_thread->current_line to 0 if is-stmt=n and frame has changed. 2021-01-28 Andrew Burgess * thread.c (thr_try_catch_cmd): Replace swith_to_thread with an assert. Extend the header comment. 2021-01-28 Andrew Burgess * Makefile.in (SUBDIR_TUI_SRCS): Add tui/tui-location.c. (HFILES_NO_SRCDIR): Add tui/tui-location.h. * tui/tui-data.h (TUI_STATUS_WIN): Define. (tui_locator_win_info_ptr): Delete declaration. * tui/tui-disasm.c: Add 'tui/tui-location.h' include. (tui_disasm_window::set_contents): Fetch state from tui_location global. (tui_get_begin_asm_address): Likewise. * tui/tui-layout.c (tui_apply_current_layout): Remove special case for locator window. (get_locator_window): Delete. (initialize_known_windows): Treat locator window just like all the rest. * tui/tui-source.c: Add 'tui/tui-location.h' include. (tui_source_window::set_contents): Fetch state from tui_location global. (tui_source_window::showing_source_p): Likewise. * tui/tui-stack.c: Add 'tui/tui-location.h' include. (_locator): Delete. (tui_locator_win_info_ptr): Delete. (tui_locator_window::make_status_line): Fetch state from tui_location global. (tui_locator_window::rerender): Remove check of 'handle', reindent function body. (tui_locator_window::set_locator_fullname): Delete. (tui_locator_window::set_locator_info): Delete. (tui_update_locator_fullname): Delete. (tui_show_frame_info): Likewise. (tui_show_locator_content): Access window through TUI_STATUS_WIN. * tui/tui-stack.h (tui_locator_window::set_locator_info): Moved to tui/tui-location.h and renamed to tui_location_tracker::set_location. (tui_locator_window::set_locator_fullname): Moved to tui/tui-location.h and renamed to tui_location_tracker::set_fullname. (tui_locator_window::full_name): Delete. (tui_locator_window::proc_name): Delete. (tui_locator_window::line_no): Delete. (tui_locator_window::addr): Delete. (tui_locator_window::gdbarch): Delete. (tui_update_locator_fullname): Delete declaration. * tui/tui-wingeneral.c (tui_refresh_all): Removed special handling for locator window. * tui/tui-winsource.c: Add 'tui/tui-location.h' include. (tui_display_main): Call function on tui_location directly. * tui/tui.h (enum tui_win_type): Add STATUS_WIN. * tui/tui-location.c: New file. * tui/tui-location.h: New file. 2021-01-28 Simon Marchi * gdbtypes.h (get_type_arch): Rename to... (struct type) : ... this, update all users. 2021-01-28 Simon Marchi * gdbtypes.h (struct type) : Rename to... : ... this, update all users. : Rename to... : ... this, update all users. 2021-01-28 Andrew Burgess * gdbcmd.h (execute_command_to_string): Update comment. * top.c (execute_command_to_string): Update header comment. 2021-01-28 Tom de Vries PR breakpoints/27205 * breakpoint.c (create_longjmp_master_breakpoint_probe) (create_longjmp_master_breakpoint_names): New function, factored out of ... (create_longjmp_master_breakpoint): ... here. Only try to install longjmp_names breakpoints in libc.so/libc.so.debug if installing probe breakpoint in libc.so failed. 2021-01-27 Lancelot SIX PR gdb/27133 * cli/cli-interp.c (cli_interp_base::set_logging): Ensure the unique_ptr is released when the wrapped pointer is kept for later use. 2021-01-27 Matthew Malcomson * aarch64-tdep.c (aarch64_displaced_step_others): Account for BLR and BR instructions. * arch/aarch64-insn.h (enum aarch64_opcodes): Add BR opcode. (enum aarch64_masks): New. 2021-01-26 Tom Tromey * windows-nat.c (DEBUG_EXEC, DEBUG_EVENTS, DEBUG_MEM) (DEBUG_EXCEPT): Use debug_prefixed_printf_cond. (windows_init_thread_list, windows_nat::handle_load_dll) (windows_nat::handle_unload_dll, windows_nat_target::resume) (windows_nat_target::resume) (windows_nat_target::get_windows_debug_event) (windows_nat_target::interrupt, windows_xfer_memory) (windows_nat_target::close): Update. * nat/windows-nat.c (DEBUG_EVENTS): Use debug_prefixed_printf_cond. (matching_pending_stop, fetch_pending_stop) (continue_last_debug_event): Update. 2020-12-17 Mihails Strasuns * linux-tdep.c (linux_make_mappings_corefile_notes): Start using elfcore_write_file_note. 2021-01-26 Shahab Vahedi * arc-tdep.c (arc_add_reggroups): New function. (arc_gdbarch_init): Call arc_add_reggroups. 2021-01-26 Anton Kolesov * arc-tdep.c (arc_skip_prologue): Log "pc" address. 2021-01-25 Bernd Edlinger Simon Marchi Tom de Vries * dwarf2/read.c (partial_die_info::read): Use as_unsigned () for DW_AT_ranges. 2021-01-25 Tom Tromey * dwarf2/read.c (get_mpz): New function. (get_dwarf2_rational_constant): Use it. 2021-01-25 Tom Tromey * ada-lang.c (resolve_subexp): Handle array context. 2021-01-23 Tom Tromey PR compile/25575 * compile/compile-loc2c.c (note_register): New function. (pushf_register_address, pushf_register): Use it. 2021-01-23 Tom Tromey * symtab.h (struct symbol_computed_ops) : Change type of "registers_used". * dwarf2/loc.h (dwarf2_compile_property_to_c): Update. * dwarf2/loc.c (dwarf2_compile_property_to_c) (locexpr_generate_c_location, loclist_generate_c_location): Change type of "registers_used". * compile/compile.h (compile_dwarf_expr_to_c) (compile_dwarf_bounds_to_c): Update. * compile/compile-loc2c.c (pushf_register_address) (pushf_register, do_compile_dwarf_expr_to_c) (compile_dwarf_expr_to_c, compile_dwarf_bounds_to_c): Change type of "registers_used". * compile/compile-c.h (generate_c_for_variable_locations): Update. * compile/compile-c-symbols.c (generate_vla_size) (generate_c_for_for_one_variable): Change type of "registers_used". (generate_c_for_variable_locations): Return std::vector. * compile/compile-c-support.c (generate_register_struct): Change type of "registers_used". (compute): Update. 2021-01-23 Tom Tromey * compile/compile-internal.h (class compile_instance) : Change return type. * compile/compile.c (compile_to_object): Remove call to reset. (compile_instance::set_arguments): Change return type. 2021-01-23 Simon Marchi * gdbtypes.c (copy_type_recursive): Use get_type_arch. * gdbtypes.h (struct type) : Add asserts. 2021-01-23 Lancelot SIX * Makefile.in (SELFTESTS_SRCS): Add unittests/gdb_tilde_expand-selftests.c. * unittests/gdb_tilde_expand-selftests.c: New file. 2021-01-22 Andrew Burgess PR cli/25956 * NEWS: Mention new command. * cli/cli-style.c: Add 'cli/cli-setshow.h' include. (version_style): Define. (cli_style_option::cli_style_option): Add intensity parameter, and use as appropriate. (_initialize_cli_style): Register version style set/show commands. * cli/cli-style.h (cli_style_option): Add intensity parameter. (version_style): Declare. * top.c (print_gdb_version): Use version_stype, and styled_string to print the GDB version string. 2021-01-22 Andrew Burgess * utils.c (emit_style_escape): Only emit an escape sequence if the requested style is different than the current applied style. (fputs_maybe_filtered): Adjust the juggling of the wrap_style, and current applied_style. (fputs_styled): Remove is_default check. (fputs_styled_unfiltered): Likewise. (vfprintf_styled_no_gdbfmt): Likewise. 2021-01-22 Simon Marchi * remote.h (remote_debug_printf): New. (remote_debug_printf_nofunc): New. (REMOTE_SCOPED_DEBUG_ENTER_EXIT): New. * remote.c: Use above macros throughout file. 2021-01-22 Simon Marchi * remote.h (remote_debug): Change to bool. * remote.c (remote_debug): Change to bool. (_initialize_remote): Adjust. 2021-01-22 Simon Marchi * target.h (remote_debug): Move to... * remote.h (remote_debug): ... here. * top.c (remote_debug): Move to... * remote.c (remote_debug): ... here. * remote-sim.c: Include remote.h. 2021-01-22 Simon Marchi * cli/cli-cmds.c (show_remote_debug): Remove. (show_remote_timeout): Remove. (_initialize_cli_cmds): Don't register commands. * remote.c (show_remote_debug): Move here. (show_remote_timeout): Move here. (_initialize_remote): Register commands. 2021-01-22 Simon Marchi * gdbtypes.h (TYPE_OBJFILE): Remove, change all users to use the type::objfile method instead. 2021-01-22 Simon Marchi * gdbtypes.h (TYPE_OBJFILE_OWNED): Remove, update all users to use the type::is_objfile_owned method. 2021-01-22 Simon Marchi * gdbtypes.h (TYPE_OBJFILE_OWNED): Adjust. (TYPE_OWNER): Remove. (TYPE_OBJFILE): Adjust. (struct main_type) : Rename to... : ... this. : Rename to... : ... this. (struct type) : New methods. (TYPE_ALLOC): Adjust. * gdbtypes.c (alloc_type): Adjust. (alloc_type_arch): Adjust. (alloc_type_copy): Adjust. (get_type_arch): Adjust. (smash_type): Adjust. (lookup_array_range_type): Adjust. (recursive_dump_type): Adjust. (copy_type_recursive): Adjust. * compile/compile-c-types.c (convert_func): Adjust. (convert_type_basic): Adjust. * compile/compile-cplus-types.c (compile_cplus_convert_func): Adjust. * language.c (language_arch_info::type_and_symbol::alloc_type_symbol): Adjust. 2021-01-21 Luis Machado * coffread.c (enter_linenos): Passing string to complaint. * valops.c (value_assign): Make array view. 2021-01-21 Simon Marchi * auto-load.h (debug_auto_load): Move here. (auto_load_debug_printf): New. * auto-load.c: Use auto_load_debug_printf. (debug_auto_load): Move to header. * linux-thread-db.c (try_thread_db_load): Use auto_load_debug_printf. * main.c (captured_main_1): Likewise. 2021-01-21 Simon Marchi * f-valprint.c (f77_array_offset_tbl): Remove. 2021-01-21 Simon Marchi * gdb_bfd.c (bfd_cache_debug_printf): New, use throughout file. 2021-01-21 Simon Marchi * ser-tcp.c (wait_for_connect): Use interruptible_select instead of gdb_select. 2021-01-21 Hannes Domani PR python/19151 * python/py-breakpoint.c (bppy_get_location): Handle bp_hardware_breakpoint. (bppy_init): Likewise. (gdbpy_breakpoint_created): Likewise. 2021-01-21 Simon Marchi * arm-tdep.c (arm_debug_printf): Add and use throughout file. 2021-01-20 Simon Marchi * gdb_bfd.c (debug_bfd_cache): Change type to bool. (_initialize_gdb_bfd): Adjust. 2021-01-20 Simon Marchi PR gdb/26828 * dwarf2/read.c (maybe_queue_comp_unit): Add assertion. 2021-01-20 Simon Marchi * dwarf2/read.c (follow_die_offset): Add logging. (dwarf2_per_objfile::age_comp_units): Add logging. 2021-01-20 Simon Marchi * aarch64-linux-tdep.c (aarch64_linux_record_tdep): Make static. * aarch64-tdep.c (tdesc_aarch64_list, aarch64_prologue_unwind, aarch64_stub_unwind, aarch64_normal_base, ): Make static. * arm-linux-tdep.c (arm_prologue_unwind): Make static. * arm-tdep.c (struct frame_unwind): Make static. * auto-load.c (auto_load_safe_path_vec): Make static. * csky-tdep.c (csky_stub_unwind): Make static. * gdbarch.c (gdbarch_data_registry): Make static. * gnu-v2-abi.c (gnu_v2_abi_ops): Make static. * i386-netbsd-tdep.c (i386nbsd_mc_reg_offset): Make static. * i386-tdep.c (i386_frame_setup_skip_insns, i386_tramp_chain_in_reg_insns, i386_tramp_chain_on_stack_insns): Make static. * infrun.c (observer_mode): Make static. * linux-nat.c (sigchld_action): Make static. * linux-thread-db.c (thread_db_list): Make static. * maint-test-options.c (maintenance_test_options_list): * mep-tdep.c (mep_csr_registers): Make static. * mi/mi-cmds.c (struct mi_cmd_stats): Remove struct type name. (stats): Make static. * nat/linux-osdata.c (struct osdata_type): Make static. * ppc-netbsd-tdep.c (ppcnbsd_reg_offsets): Make static. * progspace.c (last_program_space_num): Make static. * python/py-param.c (struct parm_constant): Remove struct type name. (parm_constants): Make static. * python/py-record-btrace.c (btpy_list_methods): Make static. * python/py-record.c (recpy_gap_type): Make static. * record.c (record_goto_cmdlist): Make static. * regcache.c (regcache_descr_handle): Make static. * registry.h (DEFINE_REGISTRY): Make definition static. * symmisc.c (std_in, std_out, std_err): Make static. * top.c (previous_saved_command_line): Make static. * tracepoint.c (trace_user, trace_notes, trace_stop_notes): Make static. * unittests/command-def-selftests.c (nr_duplicates, nr_invalid_prefixcmd, lists): Make static. * unittests/observable-selftests.c (test_notification): Make static. * unittests/optional/assignment/1.cc (counter): Make static. * unittests/optional/assignment/2.cc (counter): Make static. * unittests/optional/assignment/3.cc (counter): Make static. * unittests/optional/assignment/4.cc (counter): Make static. * unittests/optional/assignment/5.cc (counter): Make static. * unittests/optional/assignment/6.cc (counter): Make static. 2021-01-20 Joel Sherrill PR gdb/27219 * remote.c (struct remote_thread_info) : Rename to... : ... this. (remote_target::resume): Adjust. (remote_target::commit_resume): Adjust. (remote_target::select_thread_for_ambiguous_stop_reply): Adjust. 2021-01-20 Sergio Durigan Junior Tom Tromey * stap-probe.c (stap_parse_single_operand): Handle '!' operator. (stap_parse_argument_conditionally): Likewise. Skip spaces after processing open-parenthesis sub-expression. (stap_parse_argument_1): Skip spaces after call to stap_parse_argument_conditionally. Handle case when right-side expression is a parenthesized sub-expression. Skip spaces after call to stap_parse_argument_1. 2021-01-19 Lancelot SIX * top.h (switch_thru_all_uis): Use DISABLE_COPY_AND_ASSIGN. 2021-01-19 Luis Machado * trad-frame.h (trad_frame_saved_reg) : Allocate memory and save data. (trad_frame_set_value, trad_frame_set_realreg, trad_frame_set_addr) (trad_frame_set_unknown, trad_frame_set_value_bytes) (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p) (trad_frame_value_bytes_p): Remove. (trad_frame_reset_saved_regs): Adjust documentation. * trad-frame.c (trad_frame_alloc_saved_regs): Initialize via a constructor and reset the state of the registers. (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p) (trad_frame_value_bytes_p, trad_frame_set_value) (trad_frame_set_realreg, trad_frame_set_addr) (trad_frame_set_unknown, trad_frame_set_value_bytes): Remove. (trad_frame_set_reg_realreg): Update to call member function. (trad_frame_set_reg_addr, trad_frame_set_reg_value_bytes): Likewise. (trad_frame_get_prev_register): Likewise. * aarch64-tdep.c (aarch64_analyze_prologue) (aarch64_analyze_prologue_test, aarch64_make_prologue_cache_1) (aarch64_prologue_prev_register): Update to use member functions. * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Likewise. * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Likewise. * arc-tdep.c (arc_print_frame_cache, arc_make_frame_cache): Likewise. * arm-tdep.c (arm_make_prologue_cache, arm_exidx_fill_cache) (arm_make_epilogue_frame_cache): Likewise. * avr-tdep.c (avr_frame_unwind_cache) (avr_frame_prev_register): Likewise. * cris-tdep.c (cris_scan_prologue): Likewise. * csky-tdep.c (csky_frame_unwind_cache): Likewise. * frv-tdep.c (frv_analyze_prologue): Likewise. * hppa-tdep.c (hppa_frame_cache, hppa_fallback_frame_cache): Likewise. * lm32-tdep.c (lm32_frame_cache): Likewise. * m32r-tdep.c (m32r_frame_unwind_cache): Likewise. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. * mips-tdep.c (set_reg_offset, mips_insn16_frame_cache) (mips_micro_frame_cache, mips_insn32_frame_cache): Likewise. (reset_saved_regs): Adjust to set realreg. * riscv-tdep.c (riscv_scan_prologue, riscv_frame_cache): Adjust to call member functions. * rs6000-tdep.c (rs6000_frame_cache, rs6000_epilogue_frame_cache) * s390-tdep.c (s390_prologue_frame_unwind_cache) (s390_backchain_frame_unwind_cache): Likewise. * score-tdep.c (score7_analyze_prologue) (score3_analyze_prologue, score_make_prologue_cache): Likewise. * sparc-netbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise. * sparc64-netbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise. * tilegx-tdep.c (tilegx_analyze_prologue) (tilegx_frame_cache): Likewise. * v850-tdep.c (v850_frame_cache): Likewise. * vax-tdep.c (vax_frame_cache): Likewise. 2021-01-19 Luis Machado * frame.h (get_frame_register_bytes): Pass a gdb::array_view instead of buffer + length. (put_frame_register_bytes): Likewise. Adjust documentation. (get_frame_memory): Pass a gdb::array_view instead of buffer + length. (safe_frame_unwind_memory): Likewise. * frame.c (get_frame_register_bytes, put_frame_register_bytes) (get_frame_memory, safe_frame_unwind_memory): Adjust to use gdb::array_view. * amd64-fbsd-tdep.c (amd64fbsd_sigtramp_p): Likewise. * amd64-linux-tdep.c (amd64_linux_sigtramp_start): Likewise. * amd64-obsd-tdep.c (amd64obsd_sigtramp_p): Likewise. * arc-linux-tdep.c (arc_linux_is_sigtramp): Likewise. * cris-tdep.c (cris_sigtramp_start, cris_rt_sigtramp_start): Likewise. * dwarf2/loc.c (rw_pieced_value): Likewise. * hppa-tdep.c (hppa_frame_cache): Likewise. * i386-fbsd-tdep.c (i386fbsd_sigtramp_p): Likewise. * i386-gnu-tdep.c (i386_gnu_sigtramp_start): Likewise. * i386-linux-tdep.c (i386_linux_sigtramp_start) (i386_linux_rt_sigtramp_start): Likewise. * i386-obsd-tdep.c (i386obsd_sigtramp_p): Likewise. * i386-tdep.c (i386_register_to_value): Likewise. * i387-tdep.c (i387_register_to_value): Likewise. * ia64-tdep.c (ia64_register_to_value): Likewise. * m32r-linux-tdep.c (m32r_linux_sigtramp_start) (m32r_linux_rt_sigtramp_start): Likewise. * m68k-linux-tdep.c (m68k_linux_pc_in_sigtramp): Likewise. * m68k-tdep.c (m68k_register_to_value): Likewise. * mips-tdep.c (mips_register_to_value) (mips_value_to_register): Likewise. * ppc-fbsd-tdep.c (ppcfbsd_sigtramp_frame_sniffer) (ppcfbsd_sigtramp_frame_cache): Likewise. * ppc-obsd-tdep.c (ppcobsd_sigtramp_frame_sniffer) (ppcobsd_sigtramp_frame_cache): Likewise. * rs6000-tdep.c (rs6000_in_function_epilogue_frame_p) (rs6000_register_to_value): Likewise. * tilegx-tdep.c (tilegx_analyze_prologue): Likewise. * tramp-frame.c (tramp_frame_start): Likewise. * valops.c (value_assign): Likewise. 2021-01-19 Luis Machado * aarch64-linux-tdep.c (aarch64_linux_restore_vreg): Pass in an array_view. * trad-frame.c (trad_frame_set_value_bytes): Use gdb::array_view instead of buffer and size. (trad_frame_set_reg_value_bytes): Likewise. * trad-frame.h (trad_frame_set_reg_value_bytes): Likewise. (trad_frame_set_value_bytes): Likewise. 2021-01-18 Mike Frysinger * copyright.py (NOT_FSF_LIST): Delete sim/testsuite/sim/bfin/s21.s. 2021-01-18 Andrew Burgess * riscv-fbsd-tdep.c (riscv_fbsd_supply_gregset): Delete. (riscv_fbsd_gregset): Use riscv_supply_regset. (riscv_fbsd_fpregset): Likewise. * riscv-linux-tdep.c (riscv_linux_gregset): Likewise. (riscv_linux_fregset): Likewise. * riscv-tdep.c (riscv_supply_regset): Define new function. * riscv-tdep.h (riscv_supply_regset): Declare new function. 2021-01-18 Tom de Vries PR tdep/27172 * nat/amd64-linux-siginfo.c (cpt_si_lower, cpt_si_upper, SEGV_BNDERR): New macro. (compat_siginfo_from_siginfo): Copy cpt_si_lower and cpt_si_upper for SEGV_BNDERR. 2021-01-18 Simon Marchi * remote.c (class remote_target) : Constify parameter. (remote_hostio_parse_result): Likewise. (remote_target::remote_hostio_send_command): Adjust. (remote_target::remote_hostio_pread_vFile): Adjust. (remote_target::fileio_readlink): Adjust. (remote_target::fileio_fstat): Adjust. 2021-01-18 Simon Marchi * remote.c (remote_target::start_remote): Move wait_status to narrower scope. 2021-01-18 Simon Marchi * remote.c (class remote_target): : Constify parameter. (stop_reply_extract_thread): Likewise. (remote_target::get_current_thread): Likewise. (remote_target::add_current_inferior_and_thread): Likewise. 2021-01-18 Simon Marchi * remote.c (class remote_target) : Constify parameter and/or return value and or local variable. (stub_unpack_int): Likewise. (unpack_nibble): Likewise. (unpack_byte): Likewise. (unpack_int): Likewise. (unpack_string): Likewise. (unpack_threadid): Likewise. (remote_target::remote_unpack_thread_info_response): Likewise. (remote_target::parse_threadlist_response): Likewise. 2021-01-15 Andrew Burgess * tui/tui.c (tui_is_window_visible): Compare to nullptr, not 0. 2021-01-14 Lancelot Six * MAINTAINERS (Write After Approval): Add myself. 2021-01-14 Bernd Edlinger * trad-frame.c (trad_frame_alloc_saved_regs): Avoid compile-error because is_trivially_default_constructible was first implemented with gcc-5. 2021-01-14 Tom de Vries PR breakpoints/27151 * objfiles.h (in_plt_section): Handle .plt.sec. 2021-01-13 Andrew Burgess PR gdb/26819 * remote.c (remote_target::select_thread_for_ambiguous_stop_reply): New member function. (remote_target::process_stop_reply): Call select_thread_for_ambiguous_stop_reply. 2021-01-13 Simon Marchi * record-btrace.c (class record_btrace_target): Remove. (record_btrace_target::commit_resume): Remove. * record-full.c (class record_full_target): Remove. (record_full_target::commit_resume): Remove. 2021-01-13 Simon Marchi * remote.c (enum class resume_state): New. (struct resumed_pending_vcont_info): New. (struct remote_thread_info) : New. : Remove. (remote_target::remote_add_thread): Adjust. (remote_target::process_initial_stop_replies): Adjust. (remote_target::resume): Adjust. (remote_target::commit_resume): Rely on state in remote_thread_info and not on tp->executing. (remote_target::process_stop_reply): Adjust. 2021-01-13 Simon Marchi * arc-tdep.h (arc_debug_printf): New. * arc-tdep.c: Use arc_debug_printf. * arc-linux-nat.c (arc_linux_nat_debug_printf): Add and use. * arc-linux-tdep.c (arc_linux_debug_printf): Add and use. * arc-newlib-tdep.c (arc_newlib_debug_printf): Add and use. 2021-01-13 Simon Marchi * arc-tdep.h (arc_debug): Change type to bool. * arc-tdep.c (arc_debug): Change type to bool. (arc_analyze_prologue): Adjust. (_initialize_arc_tdep): Use add_setshow_boolean_cmd. * arc-linux-nat.c (ps_get_thread_area): Adjust. 2021-01-13 Simon Marchi * auto-load.c (auto_load_objfile_script_1): Use bool. (execute_script_contents): Use bool. 2021-01-13 Simon Marchi * auto-load.h (auto_load_gdb_scripts_enabled): Return bool, move comment here. * auto-load.c (auto_load_gdb_scripts_enabled): Return bool, move comment to header. * extension-priv.h (struct extension_language_script_ops) : Return bool. * extension.h (ext_lang_auto_load_enabled): Return bool, move comment here. * extension.c (ext_lang_auto_load_enabled): Return bool, move comment to header. * guile/guile-header.h (gdbscm_auto_load_enabled): Return bool, move comment here. * guile/scm-auto-load.c (gdbscm_auto_load_enabled): Return bool, move comment to header. * python/python-header.h (gdbpy_auto_load_enabled): Return bool, move comment here. * python/py-auto-load.c (gdbpy_auto_load_enabled): Return bool, move comment to header. 2021-01-13 Simon Marchi * auto-load.h (file_is_auto_load_safe): Change return type to bool, move comment here. * auto-load.c (file_is_auto_load_safe): Change return type and advice_printed to bool. Move comment to header. 2021-01-13 Simon Marchi * jit.c (jit_debug_printf): New, use throughout file. 2021-01-12 Simon Marchi * infrun.c (normal_stop): Fix indentation. 2021-01-12 Simon Marchi * top.h (readnow_symbol_files, readnever_symbol_files): Move declarations to ... * symfile.h: ... here. * symfile.c: Update doc. 2021-01-12 Simon Marchi * target.h (baud_rate, serial_parity): Move declarations... * serial.h: ... here. * main.c: Include serial.h. * serial.c (baud_rate, serial_parity): Update doc. 2021-01-12 Simon Marchi * top.c (pre_init_ui_hook): Remove. 2021-01-12 Srinath Parvathaneni * aarch64-tdep.c (aarch64_vnh_type): Add "bf" field in h registers. (aarch64_vnv_type): Add "bf" type in h field of v registers. * features/aarch64-fpu.c (create_feature_aarch64_fpu): Regenerated. * features/aarch64-fpu.xml: Add bfloat16 type. 2021-01-12 Andrew Burgess * expprint.c (dump_subexp_body_standard): Handle OP_BOOL. 2021-01-12 Andrew Burgess * f-exp.y (dot_ops): Rename to... (fortran_operators): ...this. Add a header comment. Add symbol based operators. (yylex): Update to use fortran_operators not dot_ops. Remove special handling for '**', this is now included in fortran_operators. 2021-01-11 Simon Marchi * arch/aarch64-insn.h (aarch64_debug_printf): New. * arch/aarch64-insn.c: Use aarch64_debug_printf. * aarch64-tdep.c: Use aarch64_debug_printf. 2021-01-11 Simon Marchi * solib-aix.c (solib_aix_debug_printf): New, use throughout file. 2021-01-11 Simon Marchi * jit.c (jit_debug): Change type to bool. (_initialize_jit): Adjust. 2021-01-09 Tom Tromey PR compile/23672 * compile/compile.c (compile_to_object): Avoid crash when osabi_triplet_regexp returns NULL. 2021-01-09 Tom Tromey * tracepoint.h (class collection_list) : Take a std::string. * tracepoint.c (collection_list::append_exp): Take a std::string. (encode_actions_1): Update. 2021-01-08 Tom Tromey * parse.c (parse_expression): Add void_context_p parameter. Use parse_exp_in_context. * printcmd.c (print_command_1): Change voidprint to bool. Pass to parse_expression. (print_command, call_command): Update. * expression.h (parse_expression): Add void_context_p parameter. 2021-01-08 Andrew Burgess * value.c (set_value_component_location): Adjust the VALUE_LVAL for internalvar components that have a dynamic location. 2021-01-08 Tom de Vries PR gdb/26881 * breakpoint.c (create_exception_master_breakpoint_probe) (create_exception_master_breakpoint_hook): Factor out of ... (create_exception_master_breakpoint): ... here. Only try to install the master exception breakpoint in objfile.debug using the _Unwind_DebugHook method, if the install using probes in objfile failed. 2021-01-08 Andrew Burgess * f-lang.c (fortran_value_subarray): Call value_from_component. 2021-01-07 Mike Frysinger * remote-sim.c: Include memory-map.h. (gdbsim_target): Define memory_map override. (gdbsim_target::memory_map): Define. 2021-01-07 Tom Tromey * ada-lang.c (do_full_match): Conditionally skip "_ada_" prefix. 2021-01-07 Tom Tromey * ada-lang.c (add_component_interval): Start loop using vector's updated size. 2021-01-06 Tom Tromey * ada-lang.c (ada_evaluate_subexp) : Do not cast result. * valarith.c (fixed_point_binop): Handle multiplication and division specially. * valops.c (value_to_gdb_mpq): New function. (value_cast_to_fixed_point): Use it. 2021-01-05 Hannes Domani * tui/tui-winsource.c (tui_source_window_base::refresh_window): Call wnoutrefresh instead of tui_win_info::refresh_window. 2021-01-05 Hannes Domani * tui/tui-source.c (tui_source_window::show_line_number): Redraw second space after line number. 2021-01-05 Hannes Domani PR tui/26927 * tui/tui-winsource.c (tui_source_window_base::refresh_window): Fix source pad size in prefresh. (tui_source_window_base::show_source_content): Grow source pad if necessary. 2021-01-04 Mike Frysinger * bfin-tdep.c (bfin_push_dummy_call): Use align_up. (bfin_frame_align): Use align_down. 2021-01-04 Tom de Vries * buildsym.c (buildsym_compunit::record_line): Filter out end-of-seq terminators that do not terminate anything. 2021-01-04 Simon Marchi * debug.c (debug_print_depth): New. * infrun.h (INFRUN_SCOPED_DEBUG_START_END): New. (INFRUN_SCOPED_DEBUG_ENTER_EXIT): New. * infrun.c (start_step_over): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT. (proceed): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT and INFRUN_SCOPED_DEBUG_START_END. (fetch_inferior_event): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT. 2021-01-04 Simon Marchi * infrun.c (print_target_wait_results): Use infrun_debug_printf. 2021-01-04 Simon Marchi * utils.c (vfprintf_unfiltered): Print timestamp only when previous debug output ended with a newline. 2021-01-04 Luis Machado Update all users of trad_frame_saved_reg to use the new member functions. Remote all struct keywords from declarations of trad_frame_saved_reg types, except on forward declarations. * aarch64-tdep.c: Update. * alpha-mdebug-tdep.c: Update. * alpha-tdep.c: Update. * arc-tdep.c: Update. * arm-tdep.c: Update. * avr-tdep.c: Update. * cris-tdep.c: Update. * csky-tdep.c: Update. * frv-tdep.c: Update. * hppa-linux-tdep.c: Update. * hppa-tdep.c: Update. * hppa-tdep.h: Update. * lm32-tdep.c: Update. * m32r-linux-tdep.c: Update. * m32r-tdep.c: Update. * m68hc11-tdep.c: Update. * mips-tdep.c: Update. * moxie-tdep.c: Update. * riscv-tdep.c: Update. * rs6000-tdep.c: Update. * s390-linux-tdep.c: Update. * s390-tdep.c: Update. * score-tdep.c: Update. * sparc-netbsd-tdep.c: Update. * sparc-sol2-tdep.c: Update. * sparc64-fbsd-tdep.c: Update. * sparc64-netbsd-tdep.c: Update. * sparc64-obsd-tdep.c: Update. * sparc64-sol2-tdep.c: Update. * tilegx-tdep.c: Update. * v850-tdep.c: Update. * vax-tdep.c: Update. * frame-unwind.c (frame_unwind_got_bytes): Make parameter const. * frame-unwind.h (frame_unwind_got_bytes): Likewise. * trad-frame.c: Update. Remove TF_REG_* enum. (trad_frame_alloc_saved_regs): Add a static assertion to check for a trivially-constructible struct. (trad_frame_reset_saved_regs): Adjust to use member function. (trad_frame_value_p): Likewise. (trad_frame_addr_p): Likewise. (trad_frame_realreg_p): Likewise. (trad_frame_value_bytes_p): Likewise. (trad_frame_set_value): Likewise. (trad_frame_set_realreg): Likewise. (trad_frame_set_addr): Likewise. (trad_frame_set_unknown): Likewise. (trad_frame_set_value_bytes): Likewise. (trad_frame_get_prev_register): Likewise. * trad-frame.h: Update. (trad_frame_saved_reg_kind): New enum. (struct trad_frame_saved_reg) : Remove. : New member fields. : New member functions. 2021-01-02 Simon Marchi * target-float.c: Fix typos. 2021-01-02 Hannes Domani * gdb-gdb.py.in: Fix main_type.flds_bnds.bounds pretty printer. 2021-01-01 Joel Brobecker * gdbarch.sh: Update copyright year range. 2021-01-01 Joel Brobecker Update copyright year range in copyright header of all GDB files. 2021-01-01 Joel Brobecker * copyright.py (get_update_list): Add "gdbserver" and "gdbsupport" to the list of directories to update. 2021-01-01 Joel Brobecker * top.c (print_gdb_version): Update copyright year. 2021-01-01, 21 Joel Brobecker * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2020. For older changes see ChangeLog-2020. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never coding: utf-8 End: