public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdb: aarch64: Remove MTE address checking from memtag_matches_p
@ 2024-04-19 14:31 Luis Machado
  0 siblings, 0 replies; only message in thread
From: Luis Machado @ 2024-04-19 14:31 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=681ad8174d092fbbc54f5f9b2cf7024a1c990379

commit 681ad8174d092fbbc54f5f9b2cf7024a1c990379
Author: Gustavo Romero <gustavo.romero@linaro.org>
Date:   Thu Apr 18 20:10:34 2024 +0000

    gdb: aarch64: Remove MTE address checking from memtag_matches_p
    
    This commit removes aarch64_linux_tagged_address_p from
    aarch64_linux_memtag_matches_p. aarch64_linux_tagged_address_p checks if
    an address is tagged (MTE) or not.
    
    The check is redundant because aarch64_linux_memtag_matches_p is always
    called from the upper layers (i.e. from printcmd.c via gdbarch hook
    gdbarch_memtag_matches_p) after either gdbarch_tagged_address_p (that
    already points to aarch64_linux_tagged_address_p) has been called or
    after should_validate_memtags (that calls gdbarch_tagged_address_p at
    the end) has been called, so the address is already checked. Hence:
    
    a) in print_command_1, gdbarch_memtag_matches_p is called only after
    should_validate_memtags is called, which checks the address at its end;
    
    b) in memory_tag_check_command, gdbarch_memtag_matches_p is called only
    after gdbarch_tagged_address_p is called directly.
    
    Also, because after this change the address checking only happens at the
    upper layer it now allows the address checking to be specialized easily
    per target, via a target hook.
    
    Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
    Approved-By: Luis Machado <luis.machado@arm.com>
    Tested-By: Luis Machado <luis.machado@arm.com>

Diff:
---
 gdb/aarch64-linux-tdep.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 8e6e63d4dcb..fc60e602748 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -2476,10 +2476,6 @@ aarch64_linux_memtag_matches_p (struct gdbarch *gdbarch,
 {
   gdb_assert (address != nullptr);
 
-  /* Make sure we are dealing with a tagged address to begin with.  */
-  if (!aarch64_linux_tagged_address_p (gdbarch, address))
-    return true;
-
   CORE_ADDR addr = value_as_address (address);
 
   /* Fetch the allocation tag for ADDRESS.  */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-19 14:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-19 14:31 [binutils-gdb] gdb: aarch64: Remove MTE address checking from memtag_matches_p Luis Machado

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).