public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
From: Tom de Vries <vries@sourceware.org>
To: gdb-cvs@sourceware.org
Subject: [binutils-gdb] [gdb/tdep, aarch64] Remove fp and sp reg aliases, add x31 reg alias
Date: Thu, 19 Jan 2023 13:05:11 +0000 (GMT)	[thread overview]
Message-ID: <20230119130511.78D533858D39@sourceware.org> (raw)

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

commit ea2f6fad7e104fb65da6a438bb0ec753210f1e90
Author: Tom de Vries <tdevries@space.suse.cz>
Date:   Thu Jan 19 14:05:08 2023 +0100

    [gdb/tdep, aarch64] Remove fp and sp reg aliases, add x31 reg alias
    
    In aarch64-tdep.c we find these register aliases:
    ...
    {
      /* 64-bit register names.  */
      {"fp", AARCH64_FP_REGNUM},
      {"lr", AARCH64_LR_REGNUM},
      {"sp", AARCH64_SP_REGNUM},
    ...
    
    The sp alias is superfluous, because the canonical name of x31 is already sp.
    
    The fp alias is superfluous, because it's already taken by the default meaning
    of fp, assigned here in _initialize_frame_reg:
    ...
      user_reg_add_builtin ("fp", value_of_builtin_frame_fp_reg, NULL);
    ...
    
    Fix this by removing the fp and sp aliases.
    
    While we're at it, add an x31 alias for sp.
    
    Approved-By: Luis Machado <luis.machado@arm.com>
    
    Tested on aarch64-linux.
    PR tdep/30012
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30012

Diff:
---
 gdb/aarch64-tdep.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index b576d3b9d99..7bf36d825c8 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -61,17 +61,20 @@
 /* All possible aarch64 target descriptors.  */
 static std::unordered_map <aarch64_features, target_desc *> tdesc_aarch64_map;
 
-/* The standard register names, and all the valid aliases for them.  */
+/* The standard register names, and all the valid aliases for them.
+   We're not adding fp here, that name is already taken, see
+   _initialize_frame_reg.  */
 static const struct
 {
   const char *const name;
   int regnum;
 } aarch64_register_aliases[] =
 {
-  /* 64-bit register names.  */
-  {"fp", AARCH64_FP_REGNUM},
+  /* Link register alias for x30.  */
   {"lr", AARCH64_LR_REGNUM},
-  {"sp", AARCH64_SP_REGNUM},
+  /* SP is the canonical name for x31 according to aarch64_r_register_names,
+     so we're adding an x31 alias for sp.  */
+  {"x31", AARCH64_SP_REGNUM},
   /*  specials */
   {"ip0", AARCH64_X0_REGNUM + 16},
   {"ip1", AARCH64_X0_REGNUM + 17}

                 reply	other threads:[~2023-01-19 13:05 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230119130511.78D533858D39@sourceware.org \
    --to=vries@sourceware.org \
    --cc=gdb-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).