Add NEWS entry.
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 03235e98d72a7c11c5ce8a4b1c1585e3fabb069a..aa74cb9a73d30e16313d86b842819fc8204e454b 100644 (file)
@@ -1,3 +1,268 @@
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * NEWS: Mention memory tagging changes.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * printcmd.c (decode_format): Handle the 'm' modifier.
+       (do_examine): Display allocation tags when required/supported.
+       (should_validate_memtags): New function.
+       (print_command_1): Display memory tag mismatches.
+       * valprint.c (show_memory_tag_violations): New function.
+       (value_print_option_defs): Add new option "memory-tag-violations".
+       (user_print_options) <memory_tag_violations>: Initialize to 1.
+       * valprint.h (struct format_data) <print_tags>: New field.
+       (value_print_options) <memory_tag_violations>: New field.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * printcmd.c: Include gdbsupport/rsp-low.h.
+       (memory_tag_list): New static global.
+       (process_print_command_args): Factored out of
+       print_command_1.
+       (print_command_1): Use process_print_command_args.
+       (show_addr_not_tagged, show_memory_tagging_unsupported)
+       (memory_tag_command, memory_tag_print_tag_command)
+       (memory_tag_print_logical_tag_command)
+       (memory_tag_print_allocation_tag_command, parse_with_logical_tag_input)
+       (memory_tag_with_logical_tag_command, parse_set_allocation_tag_input)
+       (memory_tag_set_allocation_tag_command, memory_tag_check_command): New
+       functions.
+       (_initialize_printcmd): Add "memory-tag" prefix and subcommands.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-tdep.c
+       (aarch64_linux_iterate_over_regset_sections): Handle MTE register set.
+       * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Define.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-tdep.c
+       (aarch64_linux_report_signal_info): New function.
+       (aarch64_linux_init_abi): Register
+       aarch64_linux_report_signal_info as the report_signal_info hook.
+       * arch/aarch64-linux.h (SEGV_MTEAERR): Define.
+       (SEGV_MTESERR): Define.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-tdep.c: Include gdbsupport/selftest.h.
+       (aarch64_linux_ltag_tests): New function.
+       (_initialize_aarch64_linux_tdep): Register aarch64_linux_ltag_tests.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-tdep.c: Include target.h, arch-utils.h, value.h.
+       (aarch64_mte_get_atag, aarch64_linux_tagged_address_p)
+       (aarch64_linux_memtag_mismatch_p, aarch64_linux_set_memtags)
+       (aarch64_linux_get_memtag, aarch64_linux_memtag_to_string): New
+       functions.
+       (aarch64_linux_init_abi): Initialize MTE-related gdbarch hooks.
+       * arch/aarch64-mte-linux.c (aarch64_mte_make_ltag_bits)
+       (aarch64_mte_make_ltag, aarch64_linux_set_ltag)
+       (aarch64_linux_get_ltag): New functions.
+       * arch/aarch64-mte-linux.h (AARCH64_MTE_LOGICAL_TAG_START_BIT)
+       (AARCH64_MTE_LOGICAL_MAX_VALUE): Define.
+       (aarch64_mte_make_ltag_bits, aarch64_mte_make_ltag)
+       (aarch64_mte_set_ltag, aarch64_mte_get_ltag): New prototypes.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * linux-tdep.c (struct smaps_vmflags) <memory_tagging>: New flag
+       bit.
+       (struct smaps_data): New struct.
+       (decode_vmflags): Handle the 'mt' flag.
+       (parse_smaps_data): New function, refactored from
+       linux_find_memory_regions_full.
+       (linux_address_in_memtag_page): New function.
+       (linux_find_memory_regions_full): Refactor into parse_smaps_data.
+       * linux-tdep.h (linux_address_in_memtag_page): New prototype.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * linux-tdep.c (linux_find_memory_regions_full): Use std::string
+       instead of char arrays.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o.
+       (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and
+       nat/aarch64-mte-linux-ptrace.h.
+       * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h.
+       (aarch64_linux_nat_target) <supports_memory_tagging>: New method
+       override.
+       <fetch_memtags>: New method override.
+       <store_memtags>: New method override.
+       (aarch64_linux_nat_target::supports_memory_tagging): New method.
+       (aarch64_linux_nat_target::fetch_memtags): New method.
+       (aarch64_linux_nat_target::store_memtags): New method.
+       * arch/aarch64-mte-linux.c: New file.
+       * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h.
+       (AARCH64_MTE_GRANULE_SIZE): Define.
+       (aarch64_memtag_type): New enum.
+       (aarch64_mte_get_tag_granules): New prototype.
+       * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o.
+       * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o.
+       * nat/aarch64-mte-linux-ptrace.c: New file.
+       * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h.
+       * nat/aarch64-mte-linux-ptrace.h: New file.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function.
+       (store_mteregs_to_thread): New function.
+       (aarch64_linux_nat_target::fetch_registers): Update to call
+       fetch_mteregs_from_thread.
+       (aarch64_linux_nat_target::store_registers): Update to call
+       store_mteregs_to_thread.
+       * aarch64-tdep.c (aarch64_mte_register_names): New struct.
+       (aarch64_cannot_store_register): Handle MTE registers.
+       (aarch64_gdbarch_init): Initialize and setup MTE registers.
+       * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field.
+       <has_mte>: New method.
+       * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * aarch64-linux-nat.c
+       (aarch64_linux_nat_target::read_description): Take MTE flag into
+       account.
+       Slight refactor to hwcap flag checking.
+       * aarch64-linux-tdep.c
+       (aarch64_linux_core_read_description): Likewise.
+       * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for
+       MTE.
+       (aarch64_read_description): Add mte_p parameter and update to use it.
+       Update the documentation.
+       (aarch64_gdbarch_init): Update call to aarch64_read_description.
+       * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter.
+       * arch/aarch64.c: Include ../features/aarch64-mte.c.
+       (aarch64_create_target_description): Add mte_p parameter and update
+       the code to use it.
+       * arch/aarch64.h (aarch64_create_target_description): Add mte_p
+       parameter.
+       * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml.
+       * features/aarch64-mte.c: New file, generated.
+       * features/aarch64-mte.xml: New file.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h.
+       * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h.
+       * aarch64-linux-tdep.c: Likewise
+       * arch/aarch64-mte-linux.h: New file.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * remote: Include gdbsupport/selftest.h.
+       (test_memory_tagging_functions): New function.
+       (_initialize_remote): Register test_memory_tagging_functions.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * remote.c (PACKET_memory_tagging_feature): New enum.
+       (remote_memory_tagging_p): New function.
+       (remote_protocol_features): New "memory-tagging" entry.
+       (remote_target::remote_query_supported): Handle memory tagging
+       support.
+       (remote_target::supports_memory_tagging): Implement.
+       (create_fetch_memtags_request, parse_fetch_memtags_reply)
+       (create_store_memtags_request): New functions.
+       (remote_target::fetch_memtags): Implement.
+       (remote_target::store_memtags): Implement.
+       (_initialize_remote): Add new "memory-tagging-feature"
+       config command.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * arch-utils.c (default_memtag_to_string, default_tagged_address_p)
+       (default_memtag_matches_p, default_set_memtags)
+       (default_get_memtag): New functions.
+       * arch-utils.h (default_memtag_to_string, default_tagged_address_p)
+       (default_memtag_matches_p, default_set_memtags)
+       (default_get_memtag): New prototypes.
+       * gdbarch.c: Regenerate.
+       * gdbarch.h: Regenerate.
+       * gdbarch.sh (memtag_to_string, tagged_address_p, memtag_matches_p)
+       (set_memtags, get_memtag, memtag_granule_size): New gdbarch hooks.
+       (enum memtag_type): New enum.
+
+2021-03-24  Luis Machado  <luis.machado@linaro.org>
+
+       * remote.c (remote_target) <supports_memory_tagging>: New method
+       override.
+       <fetch_memtags>: New method override.
+       <store_memtags>: New method override.
+       (remote_target::supports_memory_tagging): New method.
+       (remote_target::fetch_memtags): New method.
+       (remote_target::store_memtags): New method.
+       * target-delegates.c: Regenerate.
+       * target.h (struct target_ops) <supports_memory_tagging>: New virtual
+       method.
+       <fetch_memtags>: New virtual method.
+       <store_memtags>: New virtual method.
+       (target_supports_memory_tagging): Define.
+       (target_fetch_memtags): Define.
+       (target_store_memtags): Define.
+       * target-debug.h (target_debug_print_size_t)
+       (target_debug_print_const_gdb_byte_vector_r)
+       (target_debug_print_gdb_byte_vector_r): New functions.
+
+2021-03-23  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target.h (target_longname): Remove.
+
+2021-03-23  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target.h (target_is_pushed): Remove, update callers to use
+       inferior::target_is_pushed instead.
+       * target.c (target_is_pushed): Remove.
+
+2021-03-23  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target.h (push_target): Remove, update callers to use
+       inferior::push_target.
+       * target.c (push_target): Remove.
+       * inferior.h (class inferior) <push_target>: New overload.
+
+2021-03-23  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * target.h (unpush_target): Remove, update all callers
+       to use `inferior::unpush_target` instead.
+       (struct target_unpusher) <operator()>: Just declare.
+       * target.c (unpush_target): Remove.
+       (target_unpusher::operator()): New.
+
+2021-03-22  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * dwarf2/read.c (process_psymtab_comp_unit): Replace abort with an
+       error.
+       (process_full_comp_unit): Validate the top-level tag before
+       processing the first DIE.
+       (read_func_scope): Ensure we have a valid builder.
+
+2021-03-22  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * objc-lang.c (objc_demangle): Renamed to
+       objc_language::demangle_symbol, and moved later in the file.
+       (objc_language::sniff_from_mangled_name): Call demangle_symbol
+       member function.
+       (objc_language::demangle_symbol): Defined outside of class
+       declaration.  The definition is the old objc_demangle with NULL
+       changed to nullptr, and if conditions relating to nullptr pointers
+       or null character checks made explicit.
+       * objc-lang.h (objc_demangle): Delete declaration.
+
+2021-03-22  Martin Liska  <mliska@suse.cz>
+
+       * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith.
+       (_initialize_arm_tdep): Likewise.
+
 2021-03-20  Tom Tromey  <tom@tromey.com>
 
        * xcoffread.c (xcoff_initial_scan): Create partial symtabs.
This page took 0.027593 seconds and 4 git commands to generate.