X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FChangeLog;h=98f4d17412ec49397fea37700d1bcafabd3cf888;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=4662ff34923e2cd2f9079f389acac42dce3f22fc;hpb=9392ebb3bbe4a43726ee8939c5447d88c7d3c1e4;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4662ff3492..98f4d17412 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,1555 @@ +2020-06-03 Tom de Vries + + PR symtab/26046 + * dwarf2/read.c (scan_partial_symbols): Recurse into DW_TAG_subprogram + children for C++. + (load_partial_dies): Don't skip DW_TAG_inlined_subroutine child of + DW_TAG_subprogram. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete skip_trampoline + initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (cplus_language::skip_trampoline): New member function. + (asm_language_data): Delete skip_trampoline initializer. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_language_data): Likewise. + * language.c (unk_lang_trampoline): Delete function. + (skip_language_trampoline): Update. + (unknown_language_data): Delete skip_trampoline initializer. + (auto_language_data): Likewise. + * language.h (language_data): Delete skip_trampoline field. + (language_defn::skip_trampoline): New function. + * m2-lang.c (m2_language_data): Delete skip_trampoline + initializer. + * objc-lang.c (objc_skip_trampoline): Delete function, move + implementation to objc_language::skip_trampoline. + (objc_language_data): Delete skip_trampoline initializer. + (objc_language::skip_trampoline): New member function with + implementation from objc_skip_trampoline. + * opencl-lang.c (opencl_language_data): Delete skip_trampoline + initializer. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete la_demangle initializer. + (ada_language::demangle): New member function. + * c-lang.c (c_language_data): Delete la_demangle initializer. + (cplus_language_data): Delete la_demangle initializer. + (cplus_language::demangle): New member function. + (asm_language_data): Delete la_demangle initializer. + (minimal_language_data): Delete la_demangle initializer. + * d-lang.c (d_language_data): Delete la_demangle initializer. + (d_language::demangle): New member function. + * f-lang.c (f_language_data): Delete la_demangle initializer. + (f_language::demangle): New member function. + * go-lang.c (go_language_data): Delete la_demangle initializer. + (go_language::demangle): New member function. + * language.c (language_demangle): Update. + (unk_lang_demangle): Delete. + (unknown_language_data): Delete la_demangle initializer. + (unknown_language::demangle): New member function. + (auto_language_data): Delete la_demangle initializer. + (auto_language::demangle): New member function. + * language.h (language_data): Delete la_demangle field. + (language_defn::demangle): New function. + * m2-lang.c (m2_language_data): Delete la_demangle initializer. + * objc-lang.c (objc_language_data): Delete la_demangle + initializer. + (objc_language::demangle): New member function. + * opencl-lang.c (opencl_language_data): Delete la_demangle + initializer. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + (rust_language::demangle): New member function. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete la_print_type + initializer. + (ada_language::print_type): New member function. + * c-lang.c (c_language_data): Delete la_print_type initializer. + (c_language::print_type): New member function. + (cplus_language_data): Delete la_print_type initializer. + (cplus_language::print_type): New member function. + (asm_language_data): Delete la_print_type initializer. + (asm_language::print_type): New member function. + (minimal_language_data): Delete la_print_type initializer. + (minimal_language::print_type): New member function. + * d-lang.c (d_language_data): Delete la_print_type initializer. + (d_language::print_type): New member function. + * f-lang.c (f_language_data): Delete la_print_type initializer. + (f_language::print_type): New member function. + * go-lang.c (go_language_data): Delete la_print_type initializer. + (go_language::print_type): New member function. + * language.c (unk_lang_print_type): Delete. + (unknown_language_data): Delete la_print_type initializer. + (unknown_language::print_type): New member function. + (auto_language_data): Delete la_print_type initializer. + (auto_language::print_type): New member function. + * language.h (language_data): Delete la_print_type field. + (language_defn::print_type): New function. + (LA_PRINT_TYPE): Update. + * m2-lang.c (m2_language_data): Delete la_print_type initializer. + (m2_language::print_type): New member function. + * objc-lang.c (objc_language_data): Delete la_print_type + initializer. + (objc_language::print_type): New member function. + * opencl-lang.c (opencl_print_type): Delete, implementation moved + to opencl_language::print_type. + (opencl_language_data): Delete la_print_type initializer. + (opencl_language::print_type): New member function, implementation + from opencl_print_type. + * p-lang.c (pascal_language_data): Delete la_print_type + initializer. + (pascal_language::print_type): New member function. + * rust-lang.c (rust_print_type): Delete, implementation moved to + rust_language::print_type. + (rust_language_data): Delete la_print_type initializer. + (rust_language::print_type): New member function, implementation + from rust_print_type. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_sniff_from_mangled_name): Delete function, + implementation moves to... + (ada_language::sniff_from_mangled_name): ...here. Update return + type. + (ada_language_data): Delete la_sniff_from_mangled_name + initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (cplus_language::sniff_from_mangled_name): New member function, + implementation taken from gdb_sniff_from_mangled_name. + (asm_language_data): Delete la_sniff_from_mangled_name + initializer. + (minimal_language_data): Likewise. + * cp-support.c (gdb_sniff_from_mangled_name): Delete, + implementation moves to cplus_language::sniff_from_mangled_name. + * cp-support.h (gdb_sniff_from_mangled_name): Delete declaration. + * d-lang.c (d_sniff_from_mangled_name): Delete, implementation + moves to... + (d_language::sniff_from_mangled_name): ...here. + (d_language_data): Delete la_sniff_from_mangled_name initializer. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_sniff_from_mangled_name): Delete, implementation + moves to... + (go_language::sniff_from_mangled_name): ...here. + (go_language_data): Delete la_sniff_from_mangled_name initializer. + * language.c (language_sniff_from_mangled_name): Delete. + (unknown_language_data): Delete la_sniff_from_mangled_name + initializer. + (auto_language_data): Likewise. + * language.h (language_data): Delete la_sniff_from_mangled_name + field. + (language_defn::sniff_from_mangled_name): New function. + (language_sniff_from_mangled_name): Delete declaration. + * m2-lang.c (m2_language_data): Delete la_sniff_from_mangled_name + field. + * objc-lang.c (objc_sniff_from_mangled_name): Delete, + implementation moves to... + (objc_language::sniff_from_mangled_name): ...here. + (objc_language_data): Delete la_sniff_from_mangled_name initializer. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_sniff_from_mangled_name): Delete, + implementation moves to... + (rust_language::sniff_from_mangled_name): ...here. + (rust_language_data): Delete la_sniff_from_mangled_name + initializer. + * symtab.c (symbol_find_demangled_name): Call + sniff_from_mangled_name member function. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete la_search_name_hash + initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (cplus_language::search_name_hash): New member function. + (asm_language_data): Delete la_search_name_hash initializer. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * dictionary.c (default_search_name_hash): Rename to... + (language_defn::search_name_hash): ...this. + * f-lang.c (f_language_data): Likewise. + (f_language::search_name_hash): New member function. + * go-lang.c (go_language_data): Delete la_search_name_hash + initializer. + * language.c (unknown_language_data): Likewise. + (auto_language_data): Likewise. + * language.h (struct language_data): Delete la_search_name_hash + field. + (language_defn::search_name_hash): Declare new member function. + (default_search_name_hash): Delete declaration. + * m2-lang.c (m2_language_data): Delete la_search_name_hash + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + * symtab.c (search_name_hash): Update call. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete la_get_compile_instance + initializer. + * c-lang.c (class compile_instance): Declare. + (c_language_data): Delete la_get_compile_instance initializer. + (c_language::get_compile_instance): New member function. + (cplus_language_data): Delete la_get_compile_instance initializer. + (cplus_language::get_compile_instance): New member function. + (asm_language_data): Delete la_get_compile_instance initializer. + (minimal_language_data): Likewise. + * c-lang.h (c_get_compile_context): Update comment. + (cplus_get_compile_context): Update comment. + * compile/compile.c (compile_to_object): Update calls, don't rely + on function pointer being NULL. + * d-lang.c (d_language_data): Delete la_get_compile_instance + initializer. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_language_data): Likewise. + * language.c (unknown_language_data): Likewise. + (auto_language_data): Likewise. + * language.h (language_data): Delete la_get_compile_instance field. + (language_defn::get_compile_instance): New member function. + * m2-lang.c (m2_language_data): Delete la_get_compile_instance + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_add_all_symbols): Update comment. + (ada_iterate_over_symbols): Delete, move implementation to... + (ada_language::iterate_over_symbols): ...here, a new member + function, rewrite to use range based for loop. + (ada_language_data): Delete la_iterate_over_symbols initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (asm_language_data): Likewise. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_language_data): Likewise. + * language.c (unknown_language_data): Likewise. + (auto_language_data): Likewise. + * language.h (language_data): Delete la_iterate_over_symbols field. + (language_defn::iterate_over_symbols): New member function. + (LA_ITERATE_OVER_SYMBOLS): Update. + * linespec.c (iterate_over_all_matching_symtabs): Update. + * m2-lang.c (m2_language_data): Delete la_iterate_over_symbols + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete + la_lookup_transparent_type initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (cplus_language::lookup_transparent_type): New member function. + (asm_language_data): Delete la_lookup_transparent_type + initializer. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_language_data): Likewise. + * language.c (unknown_language_data): Likewise. + (auto_language_data): Likewise. + * language.h (struct language_data): Delete + la_lookup_transparent_type field. + (language_defn::lookup_transparent_type): New member function. + * m2-lang.c (m2_language_data): Delete la_lookup_transparent_type + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + * symtab.c (symbol_matches_domain): Update call. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_arch_info): Delete function, move + implementation to... + (ada_language::language_arch_info): ...here, a new member + function. + (ada_language_data): Delete la_language_arch_info. + * c-lang.c (c_language_data): Likewise. + (c_language::language_arch_info): New member function. + (cplus_language_arch_info): Delete function, move + implementation to... + (cplus_language::language_arch_info): ...here, a new member + function. + (cplus_language_data): Delete la_language_arch_info. + (asm_language_data): Likewise. + (asm_language::language_arch_info): New member function. + (minimal_language_data): Delete la_language_arch_info. + (minimal_language::language_arch_info): New member function. + * d-lang.c (d_language_arch_info): Delete function, move + implementation to... + (d_language::language_arch_info): ...here, a new member + function. + (d_language_data): Delete la_language_arch_info. + * f-lang.c (f_language_arch_info): Delete function, move + implementation to... + (f_language::language_arch_info): ...here, a new member + function. + (f_language_data): Delete la_language_arch_info. + * go-lang.c (go_language_arch_info): Delete function, move + implementation to... + (go_language::language_arch_info): ...here, a new member + function. + (go_language_data): Delete la_language_arch_info. + * language.c (unknown_language_data): Likewise. + (unknown_language::language_arch_info): New member function. + (auto_language_data): Delete la_language_arch_info. + (auto_language::language_arch_info): New member function. + (language_gdbarch_post_init): Update call to + la_language_arch_info. + * language.h (language_data): Delete la_language_arch_info + function pointer. + (language_defn::language_arch_info): New function. + * m2-lang.c (m2_language_arch_info): Delete function, move + implementation to... + (m2_language::language_arch_info): ...here, a new member + function. + (m2_language_data): Delete la_language_arch_info. + * objc-lang.c (objc_language_arch_info): Delete function, move + implementation to... + (objc_language::language_arch_info): ...here, a new member + function. + (objc_language_data): Delete la_language_arch_info. + * opencl-lang.c (opencl_language_arch_info): Delete function, move + implementation to... + (opencl_language::language_arch_info): ...here, a new member + function. + (opencl_language_data): Delete la_language_arch_info. + * p-lang.c (pascal_language_arch_info): Delete function, move + implementation to... + (pascal_language::language_arch_info): ...here, a new member + function. + (pascal_language_data): Delete la_language_arch_info. + * rust-lang.c (rust_language_arch_info): Delete function, move + implementation to... + (rust_language::language_arch_info): ...here, a new member + function. + (rust_language_data): Delete la_language_arch_info. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_language_data): Delete la_pass_by_reference + initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (cplus_language::pass_by_reference_info): New method. + (asm_language_data): Delete la_pass_by_reference initializer. + (minimal_language_data): Likewise. + * cp-abi.c (cp_pass_by_reference): Remove use of + default_pass_by_reference. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * gnu-v3-abi.c (gnuv3_pass_by_reference): Remove use of + default_pass_by_reference. + * go-lang.c (go_language_data): Likewise. + * language.c (language_pass_by_reference): Update. + (default_pass_by_reference): Delete. + (unknown_language_data): Delete la_pass_by_reference + initializer. + (auto_language_data): Likewise. + * language.h (struct language_data): Delete la_pass_by_reference + field. + (language_defn::pass_by_reference_info): New member function. + (default_pass_by_reference): Delete declaration. + * m2-lang.c (m2_language_data): Delete la_pass_by_reference + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_read_var_value): Delete function, move + implementation to... + (ada_language::read_var_value): ...here. + (ada_language_data): Delete la_read_var_value initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * findvar.c (default_read_var_value): Rename to... + (language_defn::read_var_value): ...this. + * findvar.c (read_var_value): Update header comment, and change to + call member function instead of function pointer. + * go-lang.c (go_language_data): Likewise. + * language.c (unknown_language_data): Delete la_read_var_value + initializer. + (auto_language_data): Likewise. + * language.h (struct language_data): Delete la_read_var_value + field. + (language_defn::read_var_value): New member function. + (default_read_var_value): Delete declaration. + * m2-lang.c (m2_language_data): Delete la_read_var_value + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + * value.h (default_read_var_value): Delete declaration. + +2020-06-02 Andrew Burgess + + * ada-lang.c (ada_print_array_index): Delete function, move + implementation to... + (ada_language::print_array_index): ...here. + (ada_language_data): Delete la_print_array_index initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * f-lang.c (f_language_data): Likewise. + * go-lang.c (go_language_data): Likewise. + * language.c (default_print_array_index): Delete function, move + implementation to... + (language_defn::print_array_index): ...here. + (unknown_language_data): Delete la_print_array_index initializer. + (auto_language_data): Likewise. + * language.h (struct language_data): Delete la_print_array_index + field. + (language_defn::print_array_index): New member function. + (LA_PRINT_ARRAY_INDEX): Update. + (default_print_array_index): Delete declaration. + * m2-lang.c (m2_language_data): Delete la_print_array_index + initializer. + * objc-lang.c (objc_language_data): Likewise. + * opencl-lang.c (opencl_language_data): Likewise. + * p-lang.c (pascal_language_data): Likewise. + * rust-lang.c (rust_language_data): Likewise. + +2020-06-02 Andrew Burgess + + * gdb/ada-lang.c (ada_language_defn): Convert to... + (ada_language_data): ...this. + (class ada_language): New class. + (ada_language_defn): New static global. + * gdb/c-lang.c (c_language_defn): Convert to... + (c_language_data): ...this. + (class c_language): New class. + (c_language_defn): New static global. + (cplus_language_defn): Convert to... + (cplus_language_data): ...this. + (class cplus_language): New class. + (cplus_language_defn): New static global. + (asm_language_defn): Convert to... + (asm_language_data): ...this. + (class asm_language): New class. + (asm_language_defn): New static global. + (minimal_language_defn): Convert to... + (minimal_language_data): ...this. + (class minimal_language): New class. + (minimal_language_defn): New static global. + * gdb/d-lang.c (d_language_defn): Convert to... + (d_language_data): ...this. + (class d_language): New class. + (d_language_defn): New static global. + * gdb/f-lang.c (f_language_defn): Convert to... + (f_language_data): ...this. + (class f_language): New class. + (f_language_defn): New static global. + * gdb/go-lang.c (go_language_defn): Convert to... + (go_language_data): ...this. + (class go_language): New class. + (go_language_defn): New static global. + * gdb/language.c (unknown_language_defn): Remove declaration. + (current_language): Initialize to nullptr, real initialization is + moved to _initialize_language. + (languages): Delete global. + (language_defn::languages): Define. + (set_language_command): Use language_defn::languages. + (set_language): Likewise. + (range_error): Likewise. + (language_enum): Likewise. + (language_def): Likewise. + (add_set_language_command): Use language_def::languages for the + language list, and language_def to lookup language pointers. + (skip_language_trampoline): Use language_defn::languages. + (unknown_language_defn): Convert to... + (unknown_language_data): ...this. + (class unknown_language): New class. + (unknown_language_defn): New static global. + (auto_language_defn): Convert to... + (auto_language_data): ...this. + (class auto_language): New class. + (auto_language_defn): New static global. + (language_gdbarch_post_init): Use language_defn::languages. + (_initialize_language): Initialize current_language. + * gdb/language.h (struct language_defn): Rename to... + (struct language_data): ...this. + (struct language_defn): New. + (auto_language_defn): Delete. + (unknown_language_defn): Delete. + (minimal_language_defn): Delete. + (ada_language_defn): Delete. + (asm_language_defn): Delete. + (c_language_defn): Delete. + (cplus_language_defn): Delete. + (d_language_defn): Delete. + (f_language_defn): Delete. + (go_language_defn): Delete. + (m2_language_defn): Delete. + (objc_language_defn): Delete. + (opencl_language_defn): Delete. + (pascal_language_defn): Delete. + (rust_language_defn): Delete. + * gdb/m2-lang.c (m2_language_defn): Convert to... + (m2_language_data): ...this. + (class m2_language): New class. + (m2_language_defn): New static global. + * gdb/objc-lang.c (objc_language_defn): Convert to... + (objc_language_data): ...this. + (class objc_language): New class. + (objc_language_defn): New static global. + * gdb/opencl-lang.c (opencl_language_defn): Convert to... + (opencl_language_data): ...this. + (class opencl_language): New class. + (opencl_language_defn): New static global. + * gdb/p-lang.c (pascal_language_defn): Convert to... + (pascal_language_data): ...this. + (class pascal_language): New class. + (pascal_language_defn): New static global. + * gdb/rust-exp.y (rust_lex_tests): Use language_def to find + language pointer, update comment format. + * gdb/rust-lang.c (rust_language_defn): Convert to... + (rust_language_data): ...this. + (class rust_language): New class. + (rust_language_defn): New static global. + +2020-06-01 Andrew Burgess + + * dwarf2/read.c (class lnp_state_machine) : New + member variable. + : New member variable. + (lnp_state_machine::record_line): Don't record some lines, update + tracking of is_stmt at the same address. + (lnp_state_machine::lnp_state_machine): Initialise new member + variables. + +2020-06-01 Samuel Thibault + + * config/i386/i386gnu.mn [%_S.o %_U.o] (COMPILE.post): Add + "-include gnu-nat-mig.h". + * gnu-nat-mig.h: New file. + * gnu-nat.c: Include "gnu-nat-mig.h". + (exc_server, msg_reply_server, notify_server, + process_reply_server): Remove declarations. + +2020-05-30 Samuel Thibault + + * gnu-nat.h (inf_validate_procs, inf_suspend, inf_set_traced, + steal_exc_port, proc_get_state, inf_clear_wait, inf_cleanup, + inf_startup, inf_update_suspends, inf_set_pid, inf_steal_exc_ports, + inf_validate_procinfo, inf_validate_task_sc, inf_restore_exc_ports, + inf_set_threads_resume_sc, inf_set_threads_resume_sc_for_signal_thread, + inf_resume, inf_set_step_thread, inf_detach, inf_attach, inf_signal, + inf_continue, make_proc, proc_abort, _proc_free, proc_update_sc, + proc_get_exception_port, proc_set_exception_port, _proc_get_exc_port, + proc_steal_exc_port, proc_restore_exc_port, proc_trace): Move functions + to gnu_nat_target class. + * gnu-nat.c: Likewise. + (inf_update_procs, S_proc_wait_reply, set_task_pause_cmd, + set_task_exc_port_cmd, set_signals_cmd, set_thread_pause_cmd, + set_thread_exc_port_cmd): Call inf_validate_procs through gnu_target + object. + (gnu_nat_target::create_inferior, gnu_nat_target::detach): Pass `this' + instead of `gnu_target'. + +2020-05-30 Samuel Thibault + + * i386-gnu-tdep.c: Include "gdbcore.h" + (gnu_sigtramp_code, i386_gnu_sc_reg_offset): New arrays. + (GNU_SIGTRAMP_LEN, GNU_SIGTRAMP_TAIL, + I386_GNU_SIGCONTEXT_THREAD_STATE_OFFSET): New macros + (i386_gnu_sigtramp_start, i386_gnu_sigtramp_p, + i386_gnu_sigcontext_addr): New functions + (i386gnu_init_abi): Register i386_gnu_sigtramp_p, + i386_gnu_sigcontext_addr, and i386_gnu_sc_reg_offset in the gdbarch + tdep. + +2020-05-30 Samuel Thibault + + * gnu-nat.c (gnu_nat_target::create_inferior): Move push_target call + before fork_inferior call. Avoid calling it if target_is_pushed returns + true. + +2020-05-30 Samuel Thibault + + * gnu-nat.h (gnu_target): New variable declaration. + * i386-gnu-nat.c (_initialize_i386gnu_nat): Initialize + gnu_target. + * gnu-nat.c (gnu_target): New variable. + (inf_validate_procs): Pass gnu_target to thread_change_ptid, + add_thread_silent, and add_thread calls. + (gnu_nat_target::create_inferior): Pass gnu_target to + add_thread_silent, thread_change_ptid call. + (gnu_nat_target::detach): Pass gnu_target to detach_inferior + call. + +2020-05-30 Samuel Thibault + + * gnu-nat.c (gnu_xfer_auxv): Remove unused `res' variable. + (gnu_nat_target::find_memory_regions): Remove unused + `old_address' variable. + +2020-05-30 Samuel Thibault + + * gnu-nat.c: Include "gdbarch.h". + +2020-05-30 Samuel Thibault + + * reply_mig_hack.awk (Error return): Cast function through + void *, to bypass compiler function call check. + +2020-05-30 Samuel Thibault + + * config/i386/i386gnu.mn (%_reply_S.c): Add dependency on + $(srcdir)/reply_mig_hack.awk. + +2020-05-30 Samuel Thibault + + * gnu-nat.h (gnu_debug_flag): Set type to bool. + +2020-05-30 Jonny Grant + + * configure.ac (ACX_BUGURL): change bug URL to https. + +2020-05-30 Pedro Alves + + * cp-support.c (replace_typedefs_template): New. + (replace_typedefs_qualified_name): Handle + DEMANGLE_COMPONENT_TEMPLATE. + +2020-05-29 Simon Marchi + + * dwarf2/comp-unit.c, dwarf2/comp-unit.h, dwarf2/index-cache.c, + dwarf2/index-cache.h, dwarf2/index-write.c, + dwarf2/index-write.h, dwarf2/line-header.c, + dwarf2/line-header.h, dwarf2/macro.c, dwarf2/macro.h, + dwarf2/read.c, dwarf2/read.h: Rename struct dwarf2_per_objfile + variables and fields from `dwarf2_per_objfile` to just + `per_objfile` throughout. + +2020-05-28 Simon Marchi + + * dwarf2/loc.c (class dwarf_evaluate_loc_desc) + : Add comment. + +2020-05-28 Kevin Buettner + Keith Seitz + + * python/python.c (do_start_initialization): Call PyEval_SaveThread + instead of PyEval_ReleaseLock. + (class gdbpy_gil): Move to earlier in file. + (finalize_python): Set gdb_python_initialized. + (gdbpy_check_quit_flag): Acquire GIL via gdbpy_gil. Return early + when not initialized. + +2020-05-28 Simon Marchi + + * dwarf2/loc.c (class dwarf_evaluate_loc_desc) + : Remove assert. Override + per_objfile with caller_per_objfile. + +2020-05-28 Tom de Vries + + * dwarf2/read.c (dw2_symtab_iter_next, dw2_expand_marked_cus): Limit + PR gold/15646 workaround to symbol kind "type". + +2020-05-27 Tom Tromey + + * dwarf2/read.c (load_partial_dies): Use add_partial_symbol. + +2020-05-27 Tom Tromey + + * dwarf2/abbrev.h (struct abbrev_table) : Inline. + Use htab_find_with_hash. + : Remove "abbrev_number" parameter. + * dwarf2/abbrev.c (abbrev_table::add_abbrev): Remove + "abbrev_number" parameter. Use htab_find_slot_with_hash. + (hash_abbrev): Add comment. + (abbrev_table::lookup_abbrev): Move to header file. + (abbrev_table::read): Update. + +2020-05-27 Tom Tromey + + * dwarf2/read.c (struct partial_die_info) : Declare new + method. + : New member. + : Rename from "name". + (partial_die_info): Initialize canonical_name. + (scan_partial_symbols): Check raw_name. + (partial_die_parent_scope, partial_die_full_name) + (add_partial_symbol, add_partial_subprogram) + (add_partial_enumeration, load_partial_dies): Use "name" method. + (partial_die_info::name): New method. + (partial_die_info::read, guess_partial_die_structure_name) + (partial_die_info::fixup): Update. + +2020-05-27 Tom Tromey + + * dwarf2/attribute.h (struct attribute) : Inline. + : Inline. + : New method. + * dwarf2/attribute.c (attribute::form_is_ref): Move to header. + (attribute::get_ref_die_offset_complaint): Rename from + get_ref_die_offset. Just issue complaint. + +2020-05-27 Hannes Domani + + * cli/cli-cmds.c (shell_escape): Move exit_status_set_internal_vars. + +2020-05-27 Hannes Domani + + * exec.c (exec_file_attach): Use errno value of first openp failure. + +2020-05-27 Hannes Domani + + * nat/windows-nat.c (windows_thread_info::~windows_thread_info): + Don't close thread handle. + +2020-05-27 Tom Tromey + Simon Marchi + + * objfiles.h (struct objfile) : Now a + shared_ptr. + * dwarf2/read.h (struct dwarf2_per_objfile) : New + member. + * dwarf2/read.c (dwarf2_per_bfd_bfd_data_key, + dwarf2_per_bfd_objfile_data_key>: New globals. + (dwarf2_has_info): Use shared dwarf2_per_bfd if possible. + (dwarf2_get_section_info): Use get_dwarf2_per_objfile. + (dwarf2_initialize_objfile): Consider cases where per_bfd can be + shared. + (dwarf2_build_psymtabs): Set objfile::partial_symtabs and + short-circuit when sharing. + (dwarf2_build_psymtabs): Set dwarf2_per_objfile::partial_symtabs. + (dwarf2_psymtab::expand_psymtab): Use free_cached_comp_units. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_bfd) : Move + to... + (struct dwarf2_per_objfile) : ... here. + * dwarf2/read.c (handle_DW_AT_stmt_list): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (struct mapped_index_base) : + Add per_objfile parameter. + (struct mapped_index) : Likewise. + (struct mapped_debug_names): Remove constructor. + : Remove field. + : Add per_objfile parameter. + (mapped_index_base::find_name_components_bounds, + mapped_index_base::build_name_components, + dw2_expand_symtabs_matching_symbol): Likewise. + (class mock_mapped_index) : Likewise. + (check_match): Likewise. + (check_find_bounds_finds): Likewise. + (test_mapped_index_find_name_component_bounds): Update. + (CHECK_MATCH): Update. + (dw2_expand_symtabs_matching): Update. + (class dw2_debug_names_iterator) : Add + per_objfile parameter. + : Likewise. + : New field. + (mapped_debug_names::namei_to_name): Add dwarf2_per_objfile + parameter. + (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise. + (dw2_debug_names_iterator::next): Update. + (dw2_debug_names_lookup_symbol): Update. + (dw2_debug_names_expand_symtabs_for_function): Update. + (dw2_debug_names_map_matching_symbols): Update. + (dw2_debug_names_expand_symtabs_matching): Update. + (dwarf2_read_debug_names): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_cu): Forward-declare. + (struct dwarf2_per_bfd) : Remove, + move to dwarf2_per_objfile. + : Remove. + (struct dwarf2_per_objfile) : New methods. + : New member. + (struct dwarf2_per_cu_data) : Remove. + * dwarf2/read.c (struct dwarf2_cu) : Remove. + (age_cached_comp_units, free_one_cached_comp_unit): Remove, + moved to methods of dwarf2_per_objfile. + (dwarf2_clear_marks): Remove. + (dwarf2_queue_item::~dwarf2_queue_item): Update. + (dwarf2_per_bfd::~dwarf2_per_bfd): Don't free dwarf2_cus. + (dwarf2_per_bfd::free_cached_comp_units): Remove. + (dwarf2_per_objfile::remove_all_cus): New. + (class free_cached_comp_units) <~free_cached_comp_units>: + Update. + (load_cu): Update. + (dw2_do_instantiate_symtab): Adjust. + (fill_in_sig_entry_from_dwo_entry): Adjust. + (cutu_reader::init_tu_and_read_dwo_dies): Update. + (cutu_reader::cutu_reader): Likewise. + (cutu_reader::keep): Use dwarf2_per_objfile::set_cu. + (cutu_reader::cutu_reader): Use dwarf2_per_objfile::get_cu. + (process_psymtab_comp_unit): Use dwarf2_per_objfile::remove_cu + and dwarf2_per_objfile::age_comp_units. + (load_partial_comp_unit): Update. + (maybe_queue_comp_unit): Use dwarf2_per_objfile::get_cu. + (process_queue): Likewise. + (find_partial_die): Use dwarf2_per_objfile::get_cu instead of cu + backlink. + (dwarf2_read_addr_index): Likewise. + (follow_die_offset): Likewise. + (dwarf2_fetch_die_loc_sect_off): Likewise. + (dwarf2_fetch_constant_bytes): Likewise. + (dwarf2_fetch_die_type_sect_off): Likewise. + (follow_die_sig_1): Likewise. + (load_full_type_unit): Likewise. + (read_signatured_type): Likewise. + (dwarf2_cu::dwarf2_cu): Don't set cu field. + (dwarf2_cu::~dwarf2_cu): Remove. + (dwarf2_per_objfile::get_cu): New. + (dwarf2_per_objfile::set_cu): New. + (age_cached_comp_units): Rename to... + (dwarf2_per_objfile::age_comp_units): ... this. Adjust + to std::unordered_map. + (free_one_cached_comp_unit): Rename to... + (dwarf2_per_objfile::remove_cu): ... this. Adjust + to std::unordered_map. + (dwarf2_per_objfile::~dwarf2_per_objfile): New. + (dwarf2_mark_helper): Use dwarf2_per_objfile::get_cu, expect + a dwarf2_per_objfile in data. + (dwarf2_mark): Pass dwarf2_per_objfile in data to htab_traverse. + (dwarf2_clear_marks): Remove. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (class cutu_reader) : Replace + `int use_existing_cu` parameter with `dwarf2_cu *existing_cu`. + (init_tu_and_read_dwo_dies): Likewise. + (cutu_reader::init_tu_and_read_dwo_dies): Likewise. + (cutu_reader::cutu_reader): Likewise. + (load_partial_comp_unit): Likewise. + (process_psymtab_comp_unit): Update. + (build_type_psymtabs_1): Update. + (process_skeletonless_type_unit): Update. + (load_full_comp_unit): Update. + (find_partial_die): Update. + (dwarf2_read_addr_index): Update. + (read_signatured_type): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data) : New fields. + : New method. + * dwarf2/read.c (per_cu_header_read_in): Remove. + (dwarf2_per_cu_data::get_header): New. + (dwarf2_per_cu_data::addr_size): Update. + (dwarf2_per_cu_data::offset_size): Update. + (dwarf2_per_cu_data::ref_addr_size): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (load_cu): Return dwarf2_cu. + (dw2_do_instantiate_symtab): Update. + (queue_and_load_all_dwo_tus): Change parameter from + dwarf2_per_cu_data to dwarf2_cu. + (dwarf2_fetch_die_loc_sect_off): Update. + (dwarf2_fetch_constant_bytes): Update. + (dwarf2_fetch_die_type_sect_off): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (process_full_comp_unit, + process_full_type_unit): Remove per_cu, per_objfile paramters. + Add dwarf2_cu parameter. + (process_queue): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (create_cu_from_index_list): Replace + dwarf2_per_objfile parameter with dwarf2_per_bfd. + (create_cus_from_index_list): Likewise. + (create_cus_from_index): Likewise. + (create_signatured_type_table_from_index): Likewise. + (create_cus_from_debug_names_list): Likewise. + (create_cus_from_debug_names): Likewise. + (dwarf2_read_gdb_index): Update. + (dwarf2_read_debug_names): Update. + +2020-05-27 Tom Tromey + Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_objfile) + : + New methods. + : New member. + (struct signatured_type) : Remove. + * dwarf2/read.c + (dwarf2_per_objfile::get_type_for_signatured_type, + dwarf2_per_objfile::set_type_for_signatured_type): New. + (get_signatured_type): Use new methods. + +2020-05-27 Tom Tromey + Simon Marchi + + * dwarf2/read.h (struct type_unit_group_unshareable): New. + (struct dwarf2_per_objfile) : New member. + : New method. + * dwarf2/read.c (struct type_unit_group) : Remove; move to + type_unit_group_unshareable. + (dwarf2_per_objfile::get_type_unit_group_unshareable): New. + (process_full_type_unit, dwarf2_cu::setup_type_unit_groups) + (dwarf2_cu::setup_type_unit_groups): Use type_unit_group_unshareable. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data): + : Remove. + * dwarf2/read.c (create_cu_from_index_list): Don't assign + dwarf2_per_objfile. + (create_signatured_type_table_from_index): Likewise. + (create_signatured_type_table_from_debug_names): Likewise. + (create_debug_type_hash_table): Likewise. + (fill_in_sig_entry_from_dwo_entry): Likewise. + (create_type_unit_group): Likewise. + (read_comp_units_from_section): Likewise. + (create_cus_hash_table): Likewise. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (process_psymtab_comp_unit): Remove reference to + dwarf2_per_cu_data::dwarf2_per_objfile. + (compute_compunit_symtab_includes): Likewise. + (dwarf2_cu::start_symtab): Likewise. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (dwarf2_get_die_type): Add dwarf2_per_objfile + parameter. + * dwarf2/read.c (get_die_type_at_offset): Likewise. + (read_namespace_alias): Update. + (lookup_die_type): Update. + (dwarf2_get_die_type): Add dwarf2_per_objfile parameter. + * dwarf2/loc.c (class dwarf_evaluate_loc_desc) : + Update. + (disassemble_dwarf_expression): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_queue_item): Add + dwarf2_per_objfile parameter, assign new parameter. + : New field. + * dwarf2/read.c (free_one_cached_comp_unit): Add + dwarf2_per_objfile parameter. + (queue_comp_unit): Likewise. + (dw2_do_instantiate_symtab): Update. + (process_psymtab_comp_unit): Update. + (maybe_queue_comp_unit): Add dwarf2_per_objfile parameter. + (process_imported_unit_die): Update. + (queue_and_load_dwo_tu): Update. + (follow_die_offset): Update. + (follow_die_sig_1): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data) : Remove. + * dwarf2/read.c (dwarf2_compute_name): Pass per_objfile down. + (read_call_site_scope): Assign per_objfile. + (dwarf2_per_cu_data::objfile): Remove. + * gdbtypes.h (struct call_site) : New member. + * dwarf2/loc.h (dwarf2_evaluate_loc_desc): Add + dwarf2_per_objfile parameter. + * dwarf2/loc.c (dwarf2_evaluate_loc_desc_full): Add + dwarf2_per_objfile parameter. + (dwarf_expr_reg_to_entry_parameter): Add output + dwarf2_per_objfile parameter. + (locexpr_get_frame_base): Update. + (class dwarf_evaluate_loc_desc) : Update. + : Update. + : Update. + (dwarf_entry_parameter_to_value): Add dwarf2_per_objfile + parameter. + (value_of_dwarf_reg_entry): Update. + (rw_pieced_value): Update. + (indirect_synthetic_pointer): Update. + (dwarf2_evaluate_property): Update. + (dwarf2_loc_desc_get_symbol_read_needs): Add dwarf2_per_objfile + parameter. + (locexpr_read_variable): Update. + (locexpr_get_symbol_read_needs): Update. + (loclist_read_variable): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (dwarf2_fetch_die_loc_sect_off, + dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes, + dwarf2_fetch_die_type_sect_off): Add dwarf2_per_objfile + parameter. + * dwarf2/read.c (dwarf2_fetch_die_loc_sect_off, + dwarf2_fetch_die_loc_cu_off, dwarf2_fetch_constant_bytes, + dwarf2_fetch_die_type_sect_off): Add dwarf2_per_objfile + parameter. + * dwarf2/loc.c (indirect_synthetic_pointer, per_cu_dwarf_call, + sect_variable_value): Add dwarf2_per_objfile parameter. + (class dwarf_evaluate_loc_desc) : Update. + (fetch_const_value_from_synthetic_pointer): Add + dwarf2_per_objfile parameter. + (fetch_const_value_from_synthetic_pointer): Update. + (coerced_pieced_ref): Update. + (class symbol_needs_eval_context) : Update. + (dwarf2_compile_expr_to_ax): Update. + +2020-05-27 Simon Marchi + + * dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile + parameter. + (dwarf2_evaluate_loc_desc_full): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (dwarf2_read_addr_index): Add dwarf2_per_objfile + parameter. + * dwarf2/read.c (dwarf2_read_addr_index): Likewise. + * dwarf2/loc.c (decode_debug_loclists_addresses): Add + dwarf2_per_objfile parameter. + (decode_debug_loc_dwo_addresses): Likewise. + (dwarf2_find_location_expression): Update. + (class dwarf_evaluate_loc_desc) : Update. + (locexpr_describe_location_piece): Add dwarf2_per_objfile + parameter. + (disassemble_dwarf_expression): Add dwarf2_per_objfile + parameter. + (locexpr_describe_location_1): Likewise. + (locexpr_describe_location): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data) : + Remove. + * dwarf2/read.c (dwarf2_per_cu_data::text_offset): Remove. + * dwarf2/loc.c (dwarf2_find_location_expression): Update. + (dwarf2_compile_property_to_c): Update. + (dwarf2_compile_expr_to_ax): Add dwarf2_per_objfile parameter, + use text offset from objfile. + (locexpr_tracepoint_var_ref): Update. + (locexpr_generate_c_location): Update. + (loclist_describe_location): Update. + (loclist_tracepoint_var_ref): Update. + * dwarf2/compile.h (compile_dwarf_bounds_to_c): Add + dwarf2_per_objfile parameter. + * dwarf2/loc2c.c (do_compile_dwarf_expr_to_c): Likewise, + use text offset from objfile. + (compile_dwarf_expr_to_c): Add dwarf2_per_objfile parameter. + +2020-05-27 Simon Marchi + + * dwarf2/expr.h (struct dwarf_expr_context) + : Add dwarf2_per_objfile parameter. + : Remove. + : New member. + * dwarf2/expr.c (dwarf_expr_context::dwarf_expr_context): Add + dwarf2_per_objfile parameter. Don't set offset, set + per_objfile. + (dwarf_expr_context::execute_stack_op): Use offset from objfile. + * dwarf2/frame.c (dwarf2_frame_find_fde): Return (by parameter) + a dwarf2_per_objfile object instead of an offset. + (class dwarf_expr_executor) : Add + constructor. + (execute_stack_op): Add dwarf2_per_objfile parameter, pass it + to dwarf2_expr_executor constructor. Don't set offset. + (dwarf2_fetch_cfa_info): Update. + (struct dwarf2_frame_cache) : Remove. + : New field. + (dwarf2_frame_cache): Update. + (dwarf2_frame_prev_register): Update. + * dwarf2/loc.c (class dwarf_evaluate_loc_desc) + : Add constructor. + (dwarf2_evaluate_loc_desc_full): Update. + (dwarf2_locexpr_baton_eval): Update. + (class symbol_needs_eval_context) : + Add constructor. + (dwarf2_loc_desc_get_symbol_read_needs): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data) : Move to dwarf2_cu. + : Move to dwarf2_per_objfile. + (struct dwarf2_per_objfile) : Move here. + * dwarf2/read.c (struct dwarf2_cu) : Move here. + (read_func_scope): Update. + (read_array_type): Update. + (read_tag_string_type): Update. + (attr_to_dynamic_prop): Update. + (dwarf2_per_cu_data::int_type): Rename to... + (dwarf2_per_objfile::int_type): ... this. + (dwarf2_per_cu_data::addr_sized_int_type): Rename to... + (dwarf2_cu::addr_sized_int_type): ... this. + (read_subrange_type): Update. + (dwarf2_per_cu_data::addr_type): Rename to... + (dwarf2_cu::addr_type): ... this. + (set_die_type): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (queue_and_load_all_dwo_tus): Access per_objfile + data through per_cu->cu. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (lookup_dwo_comp_unit): Change + dwarf2_per_cu_data parameter fo dwarf2_cu. + (lookup_dwo_type_unit): Likewise. + (read_cutu_die_from_dwo): Likewise. + (lookup_dwo_unit): Likewise. + (open_and_init_dwo_file): Likewise. + (lookup_dwo_cutu): Likewise. + (lookup_dwo_comp_unit): Likewise. + (lookup_dwo_type_unit): Likewise. + (cutu_reader::init_tu_and_read_dwo_dies): Update. + (cutu_reader::cutu_reader): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (process_full_comp_unit): Add dwarf2_per_objfile + parameter. + (process_full_type_unit): Likewise. + (process_queue): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (recursively_compute_inclusions): Add + dwarf2_per_objfile parameter. + (compute_compunit_symtab_includes): Likewise. + (process_cu_includes): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (create_partial_symtab): Add dwarf2_per_objfile + parameter. + (create_type_unit_group): Update. + (process_psymtab_comp_unit_reader): Update. + (build_type_psymtabs_reader): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (cutu_reader::keep): Access dwarf2_per_objfile + object through m_this_cu->cu. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (queue_and_load_dwo_tu): Expect a dwarf2_cu as + the info parameter. + (queue_and_load_all_dwo_tus): Pass per_cu->cu. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (class cutu_reader) : Add + per_objfile parameter. + (load_full_type_unit): Add per_objfile parameter. + (read_signatured_type): Likewise. + (load_full_comp_unit): Likewise. + (load_cu): Likewise. + (dw2_do_instantiate_symtab): Likewise. + (dw2_get_file_names): Likewise. + (dw2_map_symtabs_matching_filename): Update. + (dw_expand_symtabs_matching_file_matcher): Update. + (dw2_map_symbol_filenames): Update. + (process_psymtab_comp_unit): Add per_objfile parameter. + (build_type_psymtabs_1): Update. + (process_skeletonless_type_unit): Update. + (dwarf2_build_psymtabs_hard): Update. + (load_partial_comp_unit): Add per_objfile parameter. + (scan_partial_symbols): Update. + (load_full_comp_unit): Add per_objfile parameter. + (process_imported_unit_die): Update. + (create_cus_hash_table): Update. + (find_partial_die): Update. + (dwarf2_read_addr_index): Update. + (follow_die_offset): Update. + (dwarf2_fetch_die_loc_sect_off): Update. + (dwarf2_fetch_constant_bytes): Update. + (dwarf2_fetch_die_type_sect_off): Update. + (follow_die_sig_1): Update. + (load_full_type_unit): Add per_objfile parameter. + (read_signatured_type): Likewise. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (lookup_dwo_unit): Use bfd_get_filename instead + of objfile_name. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_bfd) : New member. + (dwarf2_get_dwz_file): Replace parameter with dwarf2_per_bfd. + * dwarf2/read.c (dwarf2_per_bfd::dwarf2_per_bfd): Assign obfd + field. + (dwarf2_get_dwz_file): Replace parameter with dwarf2_per_bfd. + (create_cus_from_index): Update. + (dwarf2_read_gdb_index): Update. + (create_cus_from_debug_names): Update. + (dwarf2_read_debug_names): Update. + (get_abbrev_section_for_cu): Update. + (create_all_comp_units): Update. + (read_attribute_value): Update. + (get_debug_line_section): Update. + * dwarf2/index-cache.c (index_cache::store): Update. + * dwarf2/index-write.c (save_gdb_index_command): Update. + * dwarf2/macro.c (dwarf_decode_macro_bytes): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_cu_data) : New + member. + * dwarf2/read.c (dwarf2_per_bfd::allocate_per_cu): Initialize + dwarf2_per_cu_data::per_bfd. + (dwarf2_per_bfd::allocate_signatured_type): Likewise. + (create_type_unit_group): Likewise. + (queue_comp_unit): Remove reference to + per_cu->dwarf2_per_objfile. + (maybe_queue_comp_unit): Likewise. + (fill_in_sig_entry_from_dwo_entry): Assign new field. + (create_cus_hash_table): Assign new field. + +2020-05-27 Simon Marchi + + * dwarf2/read.c: Replace + dwarf2_cu->per_cu->dwarf2_per_objfile references with + dwarf2_cu->per_objfile throughout. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (dw2_do_instantiate_symtab): Add per_objfile + parameter, don't use per_cu->dwarf2_per_objfile. + (dw2_instantiate_symtab): Likewise. + (dw2_find_last_source_symtab): Update. + (dw2_map_expand_apply): Update. + (dw2_lookup_symbol): Update. + (dw2_expand_symtabs_for_function): Update. + (dw2_expand_all_symtabs): Update. + (dw2_expand_symtabs_with_fullname): Update. + (dw2_expand_symtabs_matching_one): Add per_objfile parameter, + don't use per_cu->dwarf2_per_objfile. + (dw2_expand_marked_cus): Update. + (dw2_find_pc_sect_compunit_symtab): Update. + (dw2_debug_names_lookup_symbol): Update. + (dw2_debug_names_expand_symtabs_for_function): Update. + (dw2_debug_names_map_matching_symbols): Update. + (dwarf2_psymtab::expand_psymtab): Update. + +2020-05-27 Simon Marchi + + * dwarf2/read.c (struct dwarf2_cu) : Add parameter. + : New member. + (class cutu_reader) : Add parameter. + (cutu_reader::init_tu_and_read_dwo_dies): Add parameter, update + call to dwarf2_cu. + (cutu_reader::cutu_reader): Update. + (dwarf2_cu::dwarf2_cu): Add parameter, initialize per_objfile. + +2020-05-27 Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_bfd) : Move to + struct dwarf2_per_objfile. + (struct dwarf2_per_objfile) : Move from struct + dwarf2_per_bfd. + * dwarf2/read.c (set_die_type): Update. + (get_die_type_at_offset): Update. + +2020-05-27 Tom Tromey + Simon Marchi + + * dwarf2/read.h (struct dwarf2_per_bfd) : New + method. + (struct dwarf2_per_objfile) : New methods. + : New field. + (struct dwarf2_psymtab): Derive from partial_symtab. + : Declare methods. + * dwarf2/read.c (dwarf2_per_objfile::symtab_set_p, + dwarf2_per_objfile::get_symtab, dwarf2_per_objfile::set_symtab): + New methods. + (struct dwarf2_per_cu_quick_data) : Remove. + (dw2_do_instantiate_symtab, dw2_instantiate_symtab) + (dw2_map_expand_apply, dw2_map_symtabs_matching_filename) + (dw2_symtab_iter_next, dw2_print_stats) + (dw2_expand_symtabs_with_fullname) + (dw2_expand_symtabs_matching_one) + (dw_expand_symtabs_matching_file_matcher) + (dw2_find_pc_sect_compunit_symtab, dw2_map_symbol_filenames) + (dw2_debug_names_iterator::next) + (dw2_debug_names_map_matching_symbols) + (fill_in_sig_entry_from_dwo_entry, dwarf2_psymtab::read_symtab) + (process_queue, dwarf2_psymtab::expand_psymtab): Update. + (dwarf2_psymtab::readin_p, dwarf2_psymtab::get_compunit_symtab): + New methods. + (get_compunit_symtab, process_full_comp_unit) + (process_full_type_unit): Update. + (dwarf2_build_psymtabs, dwarf2_initialize_objfile, add_type_unit): Call + +2020-05-27 Simon Marchi + + * dwarf2/read.h (dwarf2_per_objfile): Rename to dwarf2_per_bfd, + then introduce a new dwarf2_per_objfile type. + : Move to the new dwarf2_per_objfile type. + : Likewise. + (dwarf2_per_bfd): Rename dwarf2_per_objfile to this. + * dwarf2/read.c: Replace references to dwarf2_per_objfile with + dwarf2_per_objfile->per_bfd. + (dwarf2_per_objfile::dwarf2_per_objfile): Rename to... + (dwarf2_per_bfd::dwarf2_per_bfd): ... this. + (dwarf2_per_objfile::free_cached_comp_units): Rename to... + (dwarf2_per_bfd::free_cached_comp_units): ... this. + (dwarf2_has_info): Allocate dwarf2_per_bfd. + (dwarf2_per_objfile::locate_sections): Rename to... + (dwarf2_per_bfd::locate_sections): ... this. + (dwarf2_per_objfile::get_cutu): Rename to... + (dwarf2_per_bfd::get_cutu): ... this. + (dwarf2_per_objfile::get_cu): Rename to... + (dwarf2_per_bfd::get_cu): ... this. + (dwarf2_per_objfile::get_tu): Rename to... + (dwarf2_per_bfd::get_tu): ... this. + (dwarf2_per_objfile::allocate_per_cu): Rename to... + (dwarf2_per_bfd::allocate_per_cu): ... this. + (dwarf2_per_objfile::allocate_signatured_type): Rename to... + (dwarf2_per_bfd::allocate_signatured_type): ... this. + (get_gdb_index_contents_ftype): Change parameter from + dwarf2_per_objfile to dwarf2_per_bfd. + * dwarf2/macro.c, dwarf2/index-write.c: Replace references to + dwarf2_per_objfile with dwarf2_per_objfile->per_bfd. + +2020-05-27 Tom Tromey + Simon Marchi + + * dwarf2/loc.c (struct piece_closure) : New member. + (allocate_piece_closure): Set "per_objfile" member. + (dwarf2_find_location_expression, dwarf2_locexpr_baton_eval) + (locexpr_describe_location, loclist_describe_location): Use new + member. + * dwarf2/read.c (read_call_site_scope) + (mark_common_block_symbol_computed, attr_to_dynamic_prop) + (dwarf2_const_value_attr, dwarf2_fetch_die_loc_sect_off) + (fill_in_loclist_baton, dwarf2_symbol_mark_computed, + handle_data_member_location): Set per_objfile member. + * dwarf2/loc.h (struct dwarf2_locexpr_baton) : New + member. + (struct dwarf2_loclist_baton) : New member. + +2020-05-27 Tom Tromey + + * dwarf2/read.h (struct dwarf2_per_objfile) : Declare new methods. + : New member. + (struct dwarf2_per_cu_data) : New member. + * dwarf2/read.c (dwarf2_per_objfile::allocate_per_cu) + (dwarf2_per_objfile::allocate_signatured_type): New methods. + (create_cu_from_index_list): Use allocate_per_cu. + (create_signatured_type_table_from_index) + (create_signatured_type_table_from_debug_names) + (create_debug_type_hash_table, add_type_unit) + (read_comp_units_from_section): Use allocate_signatured_type. + +2020-05-27 Tom Tromey + + * psymtab.c (partial_map_expand_apply) + (psym_find_pc_sect_compunit_symtab, psym_lookup_symbol) + (psym_lookup_global_symbol_language) + (psymtab_to_symtab, psym_find_last_source_symtab, dump_psymtab) + (psym_print_stats, psym_expand_symtabs_for_function) + (psym_map_symbol_filenames, psym_map_matching_symbols) + (psym_expand_symtabs_matching) + (partial_symtab::read_dependencies, maintenance_info_psymtabs) + (maintenance_check_psymtabs): Update. + * psympriv.h (struct partial_symtab) : Add objfile parameter. + (struct standard_psymtab) : + Likewise. + * dwarf2/read.c (struct dwarf2_include_psymtab) : Likewise. + (dwarf2_psymtab::expand_psymtab): Pass objfile argument. + +2020-05-27 Tom Tromey + + * dwarf2/read.h (struct dwarf2_per_objfile) : New + member. + * dwarf2/read.c (delete_file_name_entry): Fix comment. + (create_cu_from_index_list) + (create_signatured_type_table_from_index) + (create_signatured_type_table_from_debug_names) + (dw2_get_file_names_reader, dwarf2_initialize_objfile) + (dwarf2_create_include_psymtab) + (create_debug_type_hash_table, add_type_unit) + (create_type_unit_group, read_comp_units_from_section) + (dwarf2_compute_name, create_cus_hash_table) + (create_dwp_hash_table, create_dwo_unit_in_dwp_v1) + (create_dwo_unit_in_dwp_v2, open_and_init_dwp_file): Use new + obstack. + (dw2_get_real_path): Likewise. Change argument to + dwarf2_per_objfile. + +2020-05-27 Luis Machado + + PR tdep/26000 + * arm-tdep.c (thumb_analyze_prologue): Fix instruction matching + for ldrd (immediate). + +2020-05-26 Philippe Waroquiers + + * command.h: Add comment giving the name of class_tui. + * cli/cli-cmds.c (_initialize_cli_cmds): If TUI defined, + create the fake command for the help for class_tui. + +2020-05-26 Tom Tromey + + * ada-lang.c (ada_print_array_index): Change type. Call val_atr. + (ada_value_ptr_subscript): Don't call pos_atr on the lower bound. + (val_atr): New function. + (value_val_atr): Use it. + * ada-valprint.c (print_optional_low_bound): Change low bound + handling for enums. + (val_print_packed_array_elements): Don't call discrete_position. + * gdbtypes.c (get_discrete_bounds) : Call + discrete_position for enum types. + * language.c (default_print_array_index): Change type. + * language.h (struct language_defn) : Add + index_type parameter, change type of index_value. + (LA_PRINT_ARRAY_INDEX): Add index_type parameter. + (default_print_array_index): Update. + * valprint.c (maybe_print_array_index): Don't call + value_from_longest. Update. + (value_print_array_elements): Don't call discrete_position. + +2020-05-26 Tom Tromey + + * ada-lang.c (value_val_atr): Handle TYPE_CODE_RANGE. + * gdbtypes.c (discrete_position): Handle TYPE_CODE_RANGE. + +2020-05-25 Cristiano De Alti + + PR gdb/13519 + * avr-tdep.c (avr_integer_to_address): Return data or code + address accordingly to the second 'type' argument of the + function. + +2020-05-25 Michael Weghorn + + * infcmd.c, inferior.h: (construct_inferior_arguments): + Moved function from here to gdbsupport/common-inferior.{h,cc} + +2020-05-23 Tom Tromey + + Revert commit eca1f90c: + * NEWS: Remove entry for completion styling. + * completer.c (_rl_completion_prefix_display_length): Move + declaration later. + (gdb_fnprint): Revert. + (gdb_display_match_list_1): Likewise. + * cli/cli-style.c (completion_prefix_style) + (completion_difference_style, completion_suffix_style): Remove. + (_initialize_cli_style): Revert. + * cli/cli-style.h (completion_prefix_style) + (completion_difference_style, completion_suffix_style): Don't + declare. + +2020-05-24 Pedro Alves + + * symtab.c (completion_list_add_name): Return boolean indication + of whether the symbol matched. + (completion_list_add_symbol): Don't try to remove C++ aliases if + the symbol didn't match in the first place. + * symtab.h (completion_list_add_name): Return bool. + +2020-05-23 Simon Marchi + + * gdbtypes.h (TYPE_FIELD): Remove. Replace all uses with + type::field. + +2020-05-23 Joel Brobecker + + GDB 9.2 released. + +2020-05-23 Tom Tromey + + * NEWS: Add entry for completion styling. + * completer.c (_rl_completion_prefix_display_length): Move + declaration earlier. + (gdb_fnprint): Use completion_style. + (gdb_display_match_list_1): Likewise. + * cli/cli-style.c (completion_prefix_style) + (completion_difference_style, completion_suffix_style): New + globals. + (_initialize_cli_style): Register new globals. + * cli/cli-style.h (completion_prefix_style) + (completion_difference_style, completion_suffix_style): Declare. + +2020-05-23 Pedro Alves + + * utils.c: Include "gdbsupport/gdb-safe-ctype.h". + (parse_escape): Use ISDIGIT instead of isdigit. + (puts_debug): Use gdb_isprint instead of isprint. + (fprintf_symbol_filtered): Use ISALNUM instead of isalnum. + (cp_skip_operator_token, skip_ws, strncmp_iw_with_mode): Use + ISSPACE instead of isspace. + (strncmp_iw_with_mode): Use TOLOWER instead of tolower and ISSPACE + instead of isspace. + (strcmp_iw_ordered): Use ISSPACE instead of isspace. + (string_to_core_addr): Use TOLOWER instead of tolower, ISXDIGIT + instead of isxdigit and ISDIGIT instead of isdigit. + +2020-05-22 Simon Marchi + + * gdbtypes.h (struct type) : New method. + (TYPE_FIELDS): Remove, replace all uses with either type::fields + or type::field. + +2020-05-22 Simon Marchi + + * gdbtypes.h (struct type) : New methods. + (TYPE_FIELDS): Use type::fields. Change all call sites that + modify the propery to use type::set_fields instead. + +2020-05-22 Simon Marchi + + * gdbtypes.h (TYPE_NFIELDS): Remove. Change all cal sites to use + type::num_fields instead. + +2020-05-22 Simon Marchi + + * gdbtypes.h (struct type) : New + methods. + (TYPE_NFIELDS): Use type::num_fields. Change all call sites + that modify the number of fields to use type::set_num_fields + instead. + 2020-05-22 Tom Tromey * compile/compile-object-load.h (munmap_list_free): Don't