+2020-06-03 Tom de Vries <tdevries@suse.de>
+
+ 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * 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 <andrew.burgess@embecosm.com>
+
+ * dwarf2/read.c (class lnp_state_machine) <m_last_address>: New
+ member variable.
+ <m_stmt_at_address>: 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * 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 <samuel.thibault@ens-lyon.org>
+
+ * gnu-nat.c: Include "gdbarch.h".
+
+2020-05-30 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * reply_mig_hack.awk (Error return): Cast function through
+ void *, to bypass compiler function call check.
+
+2020-05-30 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * config/i386/i386gnu.mn (%_reply_S.c): Add dependency on
+ $(srcdir)/reply_mig_hack.awk.
+
+2020-05-30 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * gnu-nat.h (gnu_debug_flag): Set type to bool.
+
+2020-05-30 Jonny Grant <jg@jguk.org>
+
+ * configure.ac (ACX_BUGURL): change bug URL to https.
+
+2020-05-30 Pedro Alves <palves@redhat.com>
+
+ * cp-support.c (replace_typedefs_template): New.
+ (replace_typedefs_qualified_name): Handle
+ DEMANGLE_COMPONENT_TEMPLATE.
+
+2020-05-29 Simon Marchi <simon.marchi@efficios.com>
+
+ * 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 <simon.marchi@polymtl.ca>
+
+ * dwarf2/loc.c (class dwarf_evaluate_loc_desc)
+ <push_dwarf_reg_entry_value>: Add comment.
+
+2020-05-28 Kevin Buettner <kevinb@redhat.com>
+ Keith Seitz <keiths@redhat.com>
+
+ * 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 <simon.marchi@efficios.com>
+
+ * dwarf2/loc.c (class dwarf_evaluate_loc_desc)
+ <push_dwarf_reg_entry_value>: Remove assert. Override
+ per_objfile with caller_per_objfile.
+
+2020-05-28 Tom de Vries <tdevries@suse.de>
+
+ * 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 <tromey@adacore.com>
+
+ * dwarf2/read.c (load_partial_dies): Use add_partial_symbol.
+
+2020-05-27 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/abbrev.h (struct abbrev_table) <lookup_abbrev>: Inline.
+ Use htab_find_with_hash.
+ <add_abbrev>: 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 <tromey@adacore.com>
+
+ * dwarf2/read.c (struct partial_die_info) <name>: Declare new
+ method.
+ <canonical_name>: New member.
+ <raw_name>: 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 <tromey@adacore.com>
+
+ * dwarf2/attribute.h (struct attribute) <form_is_ref>: Inline.
+ <get_ref_die_offset>: Inline.
+ <get_ref_die_offset_complaint>: 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 <ssbssa@yahoo.de>
+
+ * cli/cli-cmds.c (shell_escape): Move exit_status_set_internal_vars.
+
+2020-05-27 Hannes Domani <ssbssa@yahoo.de>
+
+ * exec.c (exec_file_attach): Use errno value of first openp failure.
+
+2020-05-27 Hannes Domani <ssbssa@yahoo.de>
+
+ * nat/windows-nat.c (windows_thread_info::~windows_thread_info):
+ Don't close thread handle.
+
+2020-05-27 Tom Tromey <tom@tromey.com>
+ Simon Marchi <simon.marchi@efficios.com>
+
+ * objfiles.h (struct objfile) <partial_symtabs>: Now a
+ shared_ptr.
+ * dwarf2/read.h (struct dwarf2_per_objfile) <partial_symtabs>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_bfd) <line_header_hash>: Move
+ to...
+ (struct dwarf2_per_objfile) <line_header_hash>: ... here.
+ * dwarf2/read.c (handle_DW_AT_stmt_list): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.c (struct mapped_index_base) <symbol_name_at,
+ build_name_components, find_name_components_bounds>:
+ Add per_objfile parameter.
+ (struct mapped_index) <symbol_name_at>: Likewise.
+ (struct mapped_debug_names): Remove constructor.
+ <dwarf2_per_objfile>: Remove field.
+ <namei_to_name, symbol_name_at>: 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) <symbol_name_at>: 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) <dw2_debug_names_iterator>: Add
+ per_objfile parameter.
+ <find_vec_in_debug_names>: Likewise.
+ <m_per_objfile>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_cu): Forward-declare.
+ (struct dwarf2_per_bfd) <free_cached_comp_units>: Remove,
+ move to dwarf2_per_objfile.
+ <read_in_chain>: Remove.
+ (struct dwarf2_per_objfile) <get_cu, set_cu, remove_cu,
+ remove_all_cus, age_comp_units>: New methods.
+ <m_dwarf2_cus>: New member.
+ (struct dwarf2_per_cu_data) <cu>: Remove.
+ * dwarf2/read.c (struct dwarf2_cu) <read_in_chain>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.c (class cutu_reader) <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 <simon.marchi@polymtl.ca>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <m_header,
+ m_header_read_in>: New fields.
+ <get_header>: 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 <simon.marchi@polymtl.ca>
+
+ * 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 <simon.marchi@polymtl.ca>
+
+ * 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 <simon.marchi@polymtl.ca>
+
+ * 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 <tom@tromey.com>
+ Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_objfile)
+ <get_type_for_signatured_type, set_type_for_signatured_type>:
+ New methods.
+ <m_type_map>: New member.
+ (struct signatured_type) <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 <tom@tromey.com>
+ Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct type_unit_group_unshareable): New.
+ (struct dwarf2_per_objfile) <type_units>: New member.
+ <get_type_unit_group_unshareable>: New method.
+ * dwarf2/read.c (struct type_unit_group) <compunit_symtab,
+ num_symtabs, symtabs>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data):
+ <dwarf2_per_objfile>: 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 <simon.marchi@efficios.com>
+
+ * 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 <simon.marchi@polymtl.ca>
+
+ * 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) <get_base_type>:
+ Update.
+ (disassemble_dwarf_expression): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_queue_item): Add
+ dwarf2_per_objfile parameter, assign new parameter.
+ <per_objfile>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <objfile>: 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) <per_objfile>: 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) <get_tls_address>: Update.
+ <push_dwarf_reg_entry_value>: Update.
+ <call_site_to_target_addr>: 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 <simon.marchi@efficios.com>
+
+ * 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) <dwarf_call,
+ dwarf_variable_value>: 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) <dwarf_call,
+ dwarf_variable_value>: Update.
+ (dwarf2_compile_expr_to_ax): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile
+ parameter.
+ (dwarf2_evaluate_loc_desc_full): Update.
+
+2020-05-27 Simon Marchi <simon.marchi@efficios.com>
+
+ * 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) <get_addr_index>: 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 <simon.marchi@efficios.com>
+
+ * dwarf2/read.h (struct dwarf2_per_cu_data) <text_offset>:
+ 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 <simon.marchi@efficios.com>
+
+ * dwarf2/expr.h (struct dwarf_expr_context)
+ <dwarf_expr_context>: Add dwarf2_per_objfile parameter.
+ <offset>: Remove.
+ <per_objfile>: 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) <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) <text_offset>: Remove.
+ <per_objfile>: New field.
+ (dwarf2_frame_cache): Update.
+ (dwarf2_frame_prev_register): Update.
+ * dwarf2/loc.c (class dwarf_evaluate_loc_desc)
+ <dwarf_evaluate_loc_desc>: Add constructor.
+ (dwarf2_evaluate_loc_desc_full): Update.
+ (dwarf2_locexpr_baton_eval): Update.
+ (class symbol_needs_eval_context) <symbol_needs_eval_context>:
+ Add constructor.
+ (dwarf2_loc_desc_get_symbol_read_needs): Update.
+