(Ada) change tagged types base_address computation
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index e3c1cbfb28665f5363f58e45a5f055f89211d870..1c67e413a876e012cfe3d71f56b789a0b367a7b1 100644 (file)
@@ -1,3 +1,444 @@
+2017-12-11  Xavier Roirand <roirand@adacore.com>
+           Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_tag_value_at_base_address): Change the way
+       tagged type base address is computed.
+       (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
+       New enumerate.
+       (ada_language_arch_info): Set the ada_primitive_type_storage_offset
+       element of lai->primitive_type_vector.
+
+2017-12-08  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
+       mapped_index_base.
+       (check_match): Adjust to use mock_index directly.
+       (check_find_bounds_finds)
+       (test_mapped_index_find_name_component_bounds): Adjust to work
+       with a mapped_index_base.
+
+2017-12-08  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (struct mapped_index_base): New, partially factored
+       out from ...
+       (struct mapped_index): ... this.  Inherit mapped_index_base.
+       (mapped_index::symbol_name_slot_invalid):
+       (mapped_index::symbol_name_at): Add override marker.
+       (mapped_index::symbol_name_count): New.
+       (struct mapped_debug_names): Inherit mapped_index_base.
+       (mapped_debug_names::symbol_name_at): New.
+       (mapped_debug_names::symbol_name_count): New.
+       (mapped_index::find_name_components_bounds): Rename to ...
+       (mapped_index_base::find_name_components_bounds): ... this.
+       (mapped_index::build_name_components): Rename to ...
+       (mapped_index_base::build_name_components): ... this.  Adjust to
+       use mapped_index_base::symbol_name_count and
+       mapped_index_base::symbol_name_slot_invalid.
+       (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
+       instead of a mapped_index.  Use
+       dw2_expand_symtabs_matching_symbol.
+
+2017-12-08  Pedro Alves  <palves@redhat.com>
+
+       * dwarf2read.c (mapped_index::symbol_table_slot): New.
+       (mapped_index::address_table): Now a gdb::array_view of const
+       gdb_byte.
+       (mapped_index::symbol_table): Now a gdb::array_view of
+       symbol_table_slot.
+       (mapped_index::address_table_size)
+       (mapped_index::symbol_table_slots): Delete.
+       (create_addrmap_from_index): Adjust.
+       (find_slot_in_mapped_hash): Adjust.
+       (read_index_from_section): Adjust.
+       (dwarf2_read_index): Adjust.
+
+2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Pedro Alves  <palves@redhat.com>
+
+       * defs.h (elf_sym_fns_debug_names): New declaration.
+       * dwarf2read.c: Include "hash_enum.h".
+       (mapped_debug_names): New.
+       (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
+       debug_names_table.
+       (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
+       (struct dwz_file): Add debug_names.
+       (dwarf2_per_objfile::locate_sections): Handle debug_names and
+       debug_aranges.
+       (locate_dwz_sections): Handle debug_names.
+       (create_signatured_type_table_from_debug_names)
+       (create_addrmap_from_aranges): New.
+       (dwarf2_read_index): Update function comment.
+       (dwarf5_augmentation): Moved up.
+       (read_debug_names_from_section, create_cus_from_debug_names_list)
+       (create_cus_from_debug_names, dwarf2_read_debug_names): New.
+       (dwarf5_djb_hash): Moved up.
+       (dw2_debug_names_iterator): New.
+       (read_indirect_string_at_offset): New declaration.
+       (mapped_debug_names::namei_to_name)
+       (dw2_debug_names_iterator::find_vec_in_debug_names)
+       (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
+       (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
+       (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
+       New.
+       (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
+       (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
+       (debug_names::build): Update djb_hash caller.
+       (write_debug_names): Move out and rename augmentation to
+       dwarf5_augmentation.
+       * elfread.c (elf_sym_fns_debug_names): New.
+       * psymtab.h (dwarf2_debug_names_functions): New declaration.
+       * symfile.h (struct dwarf2_debug_sections): Add debug_names and
+       debug_aranges.
+       * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
+
+2017-12-08  Pedro Alves  <palves@redhat.com>
+
+       * common/hash_enum.h: New file.
+
+2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * dwarf2read.c (create_cu_from_index_list): New from ...
+       (create_cus_from_index_list): ... this function, use it.
+       (dw_expand_symtabs_matching_file_matcher)
+       (dw2_expand_symtabs_matching_one): New from ...
+       (dw2_expand_symtabs_matching): ... this function, use them.
+
+2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
+       declarations from elfread.c.
+       (dwarf2_initialize_objfile): Change return value.
+       * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
+       declarations to defs.h.
+       (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
+       * symfile.h (dwarf2_initialize_objfile): Change return type.
+
+2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Pedro Alves  <palves@redhat.com>
+
+       * contrib/gdb-add-index.sh (index): Rename to ...
+       (index4): ... here.
+       (index5, debugstr, debugstrmerge, debugstrerr): New variables.
+       Support also .debug_names and .debug_str.
+       * dwarf2read.c: Include cmath, set, list.
+       (INDEX_SUFFIX): Rename to ...
+       (INDEX4_SUFFIX): ... here.
+       (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
+       (file_write(FILE *, const void *, size_t)): New.
+       (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
+       (data_buf::append_unsigned_leb128, data_buf::empty): New.
+       (data_buf::file_write): Use ::file_write.
+       (data_buf::c_str, dwarf5_djb_hash, debug_names)
+       (check_dwarf64_offsets): New.
+       (psyms_seen_size, write_gdbindex): New from
+       write_psymtabs_to_index code.
+       (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
+       (enum dw_index_kind): New.
+       (write_psymtabs_to_index): New parameter index_kind.  Support
+       filename_str and out_file_str.  Move code to write_gdbindex,
+       possibly call write_debug_names.
+       (save_gdb_index_command): New parameter -dwarf-5.
+       (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
+
+2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Pedro Alves  <palves@redhat.com>
+
+       * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
+       comment.
+       (GDB_ADD_INDEX): New variable.
+       <$want_index>: Call $GDB_ADD_INDEX.
+
+2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
+       "expression_up" inside the TRY block.
+
+2017-12-08  Yao Qi  <yao.qi@linaro.org>
+
+       * breakpoint.c (update_watchpoint): Call
+       address_significant.
+
+2017-12-08  Yao Qi  <yao.qi@linaro.org>
+
+       * breakpoint.c (adjust_breakpoint_address): Call
+       address_significant.
+
+2017-12-08  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
+       significant_addr_bit.
+       * gdbarch.sh (significant_addr_bit): New.
+       * gdbarch.c, gdbarch.h: Re-generated.
+       * target.c (memory_xfer_partial): Call address_significant.
+       * utils.c (address_significant): New function.
+       * utils.h (address_significant): Declare.
+
+2017-12-08  Tom Tromey  <tom@tromey.com>
+
+       * printcmd.c (ui_printf): Update.  Use std::vector.
+       * common/format.h (struct format_piece): Add constructor.
+       <string>: Now const.
+       (class format_pieces): New class.
+       (parse_format_string, free_format_pieces)
+       (free_format_pieces_cleanup): Remove.
+       * common/format.c (format_pieces::format_pieces): Rename from
+       parse_format_string.  Update.
+       (free_format_pieces, free_format_pieces_cleanup): Remove.
+       * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
+       * ax-gdb.h (gen_printf): Remove argument.
+       * ax-gdb.c (gen_printf): Remove "frags" argument.
+       (maint_agent_printf_command): Update.  Use std::vector.
+
+2017-12-08  Yao Qi  <yao.qi@linaro.org>
+
+       PR breakpionts/22567
+       * linespec.c (minsym_found): Set sal.section.
+
+2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
+
+2017-12-07  Keith Seitz  <keiths@redhat.com>
+
+       PR breakpoints/22569
+       * location.c (string_to_explicit_location): When terminating
+       parsing early, break out of enclosing loop instead of returning.
+
+2017-12-07  Keith Seitz  <keiths@redhat.com>
+
+       * NEWS (New commands): Mention set/show print type nested-type-limit.
+       * c-typeprint.c (c_type_print_base): Print out nested types.
+       * dwarf2read.c (struct typedef_field_list): Rename to ...
+       (struct decl_field_list): ... this.  Change all uses.
+       (struct field_info) <nested_types_list, nested_types_list_count>:
+       New fields.
+       (add_partial_symbol): Look for nested type definitions in C++, too.
+       (dwarf2_add_typedef): Rename to ...
+       (dwarf2_add_type_defn): ... this.
+       (type_can_define_types): New function.
+       Update assertion to use type_can_define_types.
+       Permit NULL for a field's name.
+       (process_structure_scope): Handle child DIEs of types that can
+       define types.
+       Copy the list of nested types into the type struct.
+       * gdbtypes.h (struct typedef_field): Rename to ...
+       (struct decl_field): ... this.  Change all uses.
+       [is_protected, is_private]: New fields.
+       (struct cplus_struct_type) <nested_types, nested_types_count>: New
+       fields.
+       (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
+       (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
+       (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
+       (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
+       * typeprint.c (type_print_raw_options, default_ptype_flags): Add
+       default value for print_nested_type_limit.
+       (print_nested_type_limit): New static variable.
+       (set_print_type_nested_types, show_print_type_nested_types): New
+       functions.
+       (_initialize_typeprint): Register new commands for set/show
+       `print-nested-type-limit'.
+       * typeprint.h (struct type_print_options) [print_nested_type_limit]:
+       New field.
+
+2017-12-07  Tom Tromey  <tom@tromey.com>
+
+       PR breakpoints/22511:
+       * breakpoint.c (commands_command_1): Don't throw an exception when
+       no commands have been read.
+
+2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
+
+       PR c++/21222
+       * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
+       range-for variable.
+
+2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * common/selftest.h (struct selftest): Add virtual destructor.
+
+2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
+
+       * python/py-breakpoint.c (bppy_init): Use string_to_event_location
+       over basic location code. Implement explicit location keywords.
+       (bppy_init_validate_args): New function.
+       * NEWS: Document Python explicit breakpoint locations.
+
+2017-12-07  Joel Brobecker  <brobecker@adacore.com>
+
+       * MAINTAINERS: Restore target entries for m68hc11-elf,
+       score-elf and xstormy16-elf, incorrectly removed in a previous
+       patch meant to only update the list of active maintainers.
+
+2017-12-06  Pedro Alves  <palves@redhat.com>
+
+       * break-catch-syscall.c (insert_catch_syscall)
+       (remove_catch_syscall): Adjust to pass reference to
+       inf_data->syscalls_counts directly via gdb::array_view.
+       * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
+       and gdb::array_view.
+       * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
+       * remote.c (remote_set_syscall_catchpoint): Likewise.
+       * target-debug.h (target_debug_print_bool): New.
+       (define target_debug_print_gdb_array_view_const_int): New.
+       * target-delegates.c: Regenerate.
+       * target.h (target_ops) <to_set_syscall_catchpoint>: Use
+       gdb::array_view and bool.
+       (target_set_syscall_catchpoint): Likewise.
+
+2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * break-catch-syscall.c (catch_syscall_completer): Get pointers
+       to syscall group strings after building the string vector.
+
+2017-12-06  Pedro Alves  <palves@redhat.com>
+
+       * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
+       "qXfer:features:read"" is disabled.
+       (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
+       Check packet_config_support instead of packet->support directly.
+
+2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * target-descriptions.c (struct tdesc_feature) <registers>: Use
+       tdesc_reg_up typedef.
+       (struct target_desc) <features>: Use tdesc_feature_up typedef.
+
+2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target-descriptions.c (struct tdesc_type): Use default
+       destructor.
+       <u>: Remove.
+       <accept>: Remove.
+       (struct tdesc_type_builtin): New.
+       (struct tdesc_type_vector): New.
+       (struct tdesc_type_with_fields): New.
+       (tdesc_predefined_types): Change type to tdesc_type_builtin[].
+       (tdesc_gdb_type): Remove.
+       (tdesc_register_type): Adjust.
+       (tdesc_create_vector): Create tdesc_type_vector.
+       (tdesc_create_struct): Create tdesc_type_with_fields.
+       (tdesc_set_struct_size): Change parameter type.
+       (tdesc_create_union): Create tdesc_type_with_fields.
+       (tdesc_create_flags): Likewise.
+       (tdesc_create_enum): Likewise.
+       (tdesc_add_field): Change parameter type.
+       (tdesc_add_typed_bitfield): Likewise.
+       (tdesc_add_bitfield): Likewise.
+       (tdesc_add_flag): Likewise.
+       (tdesc_add_enum_value): Likewise.
+       (print_c_tdesc) <visit>: Remove overload with tdesc_type
+       parameter, add overloads for tdesc_type_builtin,
+       tdesc_type_with_fields and tdesc_type_vector.
+       <m_printed_type>: Remove.
+       <m_printed_element_type, m_printed_type_with_fields>: Add.
+       * target-descriptions.h (tdesc_create_enum): Change return type.
+       (tdesc_add_typed_bitfield): Change parameter type.
+       (tdesc_add_enum_value): Change parameter type.
+       * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
+       type to tdesc_type_with_fields.
+       (tdesc_start_struct): Adjust.
+       (tdesc_start_flags): Adjust.
+       (tdesc_start_enum): Adjust.
+       (tdesc_start_field): Adjust.
+       * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
+       (struct tdesc_type_vector): Forward-declare.
+       (struct tdesc_type_with_fields): Forward-declare.
+       (tdesc_create_struct): Change return type.
+       (tdesc_create_union): Likewise.
+       (tdesc_create_flags): Likewise.
+       (tdesc_add_field): Change parameter type.
+       (tdesc_set_struct_size): Likewise.
+       (tdesc_add_bitfield): Likewise.
+       (tdesc_add_flag): Likewise.
+       * features: Re-generate C files.
+
+2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target-descriptions.c (tdesc_arch_reg): Remove typedef.
+       (struct tdesc_arch_reg): Add constructor.
+       (DEF_VEC_O (tdesc_arch_reg)): Remove.
+       (struct tdesc_arch_data): Initialize fields.
+       <arch_regs>: Change type to std::vector.
+       (target_find_description): Adjust.
+       (tdesc_find_type): Adjust.
+       (tdesc_data_init): Call tdesc_arch_data constructor.
+       (tdesc_data_alloc): Allocate tdesc_arch_data with new.
+       (tdesc_data_cleanup): Free data with delete.
+       (tdesc_numbered_register): Adjust.
+       (tdesc_find_arch_register): Adjust.
+       (tdesc_use_registers): Adjust.
+
+2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target-descriptions.c (tdesc_type_field): Remove typedef.
+       (DEF_VEC_O (tdesc_type_field)): Remove.
+       (struct tdesc_type_field): Add constructor.
+       <name>: Change type to std::string.
+       (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
+       kind uses it.
+       <~tdesc_type>: Destroy vector if the type kind uses it.
+       <u::u::fields>: Change type to std::vector.
+       (tdesc_gdb_type): Adjust.
+       (tdesc_add_field): Adjust.
+       (tdesc_add_typed_bitfield): Adjust.
+       (tdesc_add_field): Adjust.
+       (tdesc_add_enum_value): Adjust.
+       (class print_c_tdesc) <visit>: Adjust.
+
+2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target-descriptions.c (struct tdesc_type) <name>: Change type
+       to std::string.
+       <~tdesc_type>: Don't manually free name.
+       <operator==>: Adjust.
+       (tdesc_named_type): Adjust.
+       (tdesc_find_type): Adjust.
+       (tdesc_gdb_type): Adjust.
+       (class print_c_tdesc) <visit>: Adjust.
+
+2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target-descriptions.c (tdesc_type_p): Remove typedef.
+       (DEF_VEC_P (tdesc_type_p)): Remove.
+       (struct tdesc_feature) <types>: Change type to std::vector.
+       <~tdesc_feature>: Replace with default implementation.
+       <accept>: Adjust.
+       (tdesc_named_type): Adjust.
+       (tdesc_create_vector): Adjust.
+       (tdesc_create_struct): Adjust.
+       (tdesc_create_union): Adjust.
+       (tdesc_create_flags): Adjust.
+       (tdesc_create_enum): Adjust.
+
+2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
+       type of name_ parameter, adjust to std::string change.
+       <name, group, type>: Change type to std::string.
+       <~tdesc_reg>: Replace with default implementation.
+       <operator==>: Adjust.
+       (tdesc_find_register_early): Adjust.
+       (tdesc_register_name): Adjust.
+       (tdesc_register_type): Adjust.
+       (tdesc_register_in_reggroup_p): Adjust.
+       (class print_c_tdesc) <visit>: Adjust.
+       (class print_c_feature) <visit>: Adjust.
+       * features/arc-arcompact.c: Re-generate.
+       * features/arc-v2.c: Re-generate.
+
+2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * target-descriptions.c (tdesc_reg_p): Remove typedef.
+       (DEF_VEC_P (tdesc_reg_p)): Remove.
+       (struct tdesc_feature) <registers>: Change type to std::vector.
+       <~tdesc_feature>: Don't manually free registers.
+       <accept>: Adjust.
+       <operator==>: Adjust.
+       (tdesc_has_registers): Adjust.
+       (tdesc_find_register_early): Adjust.
+       (tdesc_use_registers): Adjust.
+       (tdesc_create_reg): Adjust.
+
 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * target-descriptions.c (tdesc_feature) <name>: Change type to
This page took 0.030947 seconds and 4 git commands to generate.