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=6ad1a71f6e0c350269697652c1976468321c02de;hpb=89b07335fe42d6da84c19351ca0c34b11a3c4f8e;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6ad1a71f6e..98f4d17412 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,1073 @@ +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)