From patchwork Thu Jan 19 12:37:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 63398 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 521923858401 for ; Thu, 19 Jan 2023 12:38:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 521923858401 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674131888; bh=JYcR8vfYmWo0dQTNBnu/KTJg4aKKGoxGv5xx0Uk50yw=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=ItFdAv2lzBNZOk9yPp8kLOGg7CLz+jt4BP1rAbAsIUIUfwRCH6J/u3662CLr6yoXH 2j+s4YBEt/nPdlcLFTWWS73EMOW4ZgjO+cf58Y58t34v9976h2ptsNsUsa6A7lpvp3 8MQbsKeJetLA9717z1kMDYXSHwEbroEUlYIqZqbM= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 590253858C52 for ; Thu, 19 Jan 2023 12:37:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 590253858C52 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 750DC37F1D; Thu, 19 Jan 2023 12:37:45 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5B4BA139ED; Thu, 19 Jan 2023 12:37:45 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id n6ctFZk5yWPyZAAAMHmgww (envelope-from ); Thu, 19 Jan 2023 12:37:45 +0000 To: gdb-patches@sourceware.org Cc: Luis Machado Subject: [PATCH] [gdb/tdep, aarch64] Remove fp and sp reg aliases, add x31 reg alias Date: Thu, 19 Jan 2023 13:37:44 +0100 Message-Id: <20230119123744.18276-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tom de Vries via Gdb-patches From: Tom de Vries Reply-To: Tom de Vries Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" From: Tom de Vries 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. Tested on aarch64-linux. PR tdep/30012 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30012 --- gdb/aarch64-tdep.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) base-commit: 75c2efc6f19fe454413aa70d2c37e543f04a67e1 diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index b576d3b9d99..1dcedac31f2 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -61,17 +61,20 @@ /* All possible aarch64 target descriptors. */ static std::unordered_map 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}