From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id wMuaBuckEWOfVTEAWB0awg (envelope-from ) for ; Thu, 01 Sep 2022 17:32:23 -0400 Received: by simark.ca (Postfix, from userid 112) id 17BCA1E4A7; Thu, 1 Sep 2022 17:32:23 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=yUfRY5pB; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id A1B8A1E13B for ; Thu, 1 Sep 2022 17:32:22 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 30961385C33A for ; Thu, 1 Sep 2022 21:32:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30961385C33A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1662067942; bh=57HcdM0IlVMXU9mFbr5iI63UmobAU7+UsweDe2F117s=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=yUfRY5pBMK5XWWUmfgsykC4gN/AnZP0d/4rMJMeECqzWJJFhtlFNw77rMR7I43jnQ A9xgkiQxIniHH6oXsPGFkBvfCHtnvvOLSvaDLfwWhujuoiaiF9hVdAip2CN0yWwyN0 rwXdC/ljYqevOQGc2HG4Slxesq2gcgqKIWxwuhXw= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 8A3D13858299 for ; Thu, 1 Sep 2022 21:31:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8A3D13858299 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-339-cDUDyn7OPCq04RVq7k6Ojg-1; Thu, 01 Sep 2022 17:31:31 -0400 X-MC-Unique: cDUDyn7OPCq04RVq7k6Ojg-1 Received: by mail-wm1-f70.google.com with SMTP id f18-20020a05600c4e9200b003a5f81299caso98719wmq.7 for ; Thu, 01 Sep 2022 14:31:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=57HcdM0IlVMXU9mFbr5iI63UmobAU7+UsweDe2F117s=; b=F2PXzBpse1HLitXWzpT6VaMAQACYPKV5E0T0O8oRavchJo6xuLTNm1BZA64uva01+6 s9wlKslvDHDjIndwOGNqEcI3RQA6D4HYvD2rk1+W5IYNVmUyeSwwS3+PtNEWTtu+6KHN kEyrZCi6KrkOSRLRrq3grphhihkl/f7PkBOiMtnXxt307GBLnf7D9OdYKKQ3X12vxQ/O 6W3HdmBQnMA2gVs8Uj0u5Qf4ls8dBMateAcqcmOk8eC1LkIxYcGH5x3cgMOHZv74TRnb ap2PFuP2VKfYIy8GFI0tOYnNaJymHXRYB5bx7HxgosKcyk5NK5qsWsp50Vj2nNs0SubS J4fA== X-Gm-Message-State: ACgBeo2i0XemzfcjHR8yzbfASgDuPEKBf3v8UWxZhFMGpcF6XwyxOHBe IvrxU7qZIBTvYmEze/He2N0aFcQKzE+P1wCiIQusBj9FbyA/fRsXJ1Z22BANKtC0sakKY/YYRJv ZUHXISCRxF7jWzs3pcxS6eX9+Yp7AilE3rA3Nj1GDb5FVzn3vwVWun2m5Bda6EmcpU7coEyRTyA == X-Received: by 2002:a05:6000:381:b0:221:7540:b1ee with SMTP id u1-20020a056000038100b002217540b1eemr15117212wrf.307.1662067890348; Thu, 01 Sep 2022 14:31:30 -0700 (PDT) X-Google-Smtp-Source: AA6agR5bKsH71peJM59toINF9K8taCe08CfzAskcL9J+IURSl9bmWqSL7hF8YIjJIoG0fD+3z7FX0w== X-Received: by 2002:a05:6000:381:b0:221:7540:b1ee with SMTP id u1-20020a056000038100b002217540b1eemr15117203wrf.307.1662067890106; Thu, 01 Sep 2022 14:31:30 -0700 (PDT) Received: from localhost ([31.111.84.229]) by smtp.gmail.com with ESMTPSA id j11-20020a5d452b000000b00223b8168b15sm15114220wra.66.2022.09.01.14.31.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Sep 2022 14:31:29 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 7/9] gdb/csky: remove nullptr return from csky_pseudo_register_name Date: Thu, 1 Sep 2022 22:31:15 +0100 Message-Id: <5beaa5051ffccb148e1e02cbd36f0317c2a46253.1662067442.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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: , From: Andrew Burgess via Gdb-patches Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Building on the previous commits, in this commit I remove two instances of 'return NULL' from csky_pseudo_register_name, and replace them with a return of the empty string. These two are particularly interesting, and worth pulling into their own commit, because these returns of NULL appear to be depended on within other parts of the csky code. In csky-linux-tdep.c in the register collect/supply code, GDB checks for the register name being nullptr in order to decide if a target supports a particular feature or not. I've updated the code to check for the empty string. I have no way of testing this change. --- gdb/csky-linux-tdep.c | 14 +++++++------- gdb/csky-tdep.c | 17 ++++------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/gdb/csky-linux-tdep.c b/gdb/csky-linux-tdep.c index 7bcc1712180..ea306cded09 100644 --- a/gdb/csky-linux-tdep.c +++ b/gdb/csky-linux-tdep.c @@ -155,7 +155,7 @@ csky_supply_fregset (const struct regset *regset, /* Supply vr0~vr15. */ for (i = 0; i < 16; i ++) { - if (gdbarch_register_name (gdbarch, (CSKY_VR0_REGNUM + i))) + if (*gdbarch_register_name (gdbarch, (CSKY_VR0_REGNUM + i)) != '\0') { offset = 16 * i; regcache->raw_supply (CSKY_VR0_REGNUM + i, fregs + offset); @@ -164,7 +164,7 @@ csky_supply_fregset (const struct regset *regset, /* Supply fr0~fr15. */ for (i = 0; i < 16; i ++) { - if (gdbarch_register_name (gdbarch, (CSKY_FR0_REGNUM + i))) + if (*gdbarch_register_name (gdbarch, (CSKY_FR0_REGNUM + i)) != '\0') { offset = 16 * i; regcache->raw_supply (CSKY_FR0_REGNUM + i, fregs + offset); @@ -173,7 +173,7 @@ csky_supply_fregset (const struct regset *regset, /* Supply fr16~fr31. */ for (i = 0; i < 16; i ++) { - if (gdbarch_register_name (gdbarch, (CSKY_FR16_REGNUM + i))) + if (*gdbarch_register_name (gdbarch, (CSKY_FR16_REGNUM + i)) != '\0') { offset = (16 * 16) + (8 * i); regcache->raw_supply (CSKY_FR16_REGNUM + i, fregs + offset); @@ -182,7 +182,7 @@ csky_supply_fregset (const struct regset *regset, /* Supply fcr, fesr, fid. */ for (i = 0; i < 3; i ++) { - if (gdbarch_register_name (gdbarch, fcr_regno[i])) + if (*gdbarch_register_name (gdbarch, fcr_regno[i]) != '\0') { offset = (16 * 16) + (16 * 8) + (4 * i); regcache->raw_supply (fcr_regno[i], fregs + offset); @@ -245,7 +245,7 @@ csky_collect_fregset (const struct regset *regset, /* Supply vr0~vr15. */ for (i = 0; i < 16; i ++) { - if (gdbarch_register_name (gdbarch, (CSKY_VR0_REGNUM + i))) + if (*gdbarch_register_name (gdbarch, (CSKY_VR0_REGNUM + i)) != '\0') { offset = 16 * i; regcache ->raw_collect (CSKY_VR0_REGNUM + i, fregs + offset); @@ -254,7 +254,7 @@ csky_collect_fregset (const struct regset *regset, /* Supply fr16~fr31. */ for (i = 0; i < 16; i ++) { - if (gdbarch_register_name (gdbarch, (CSKY_FR16_REGNUM + i))) + if (*gdbarch_register_name (gdbarch, (CSKY_FR16_REGNUM + i)) != '\0') { offset = (16 * 16) + (8 * i); regcache ->raw_collect (CSKY_FR16_REGNUM + i, fregs + offset); @@ -263,7 +263,7 @@ csky_collect_fregset (const struct regset *regset, /* Supply fcr, fesr, fid. */ for (i = 0; i < 3; i ++) { - if (gdbarch_register_name (gdbarch, fcr_regno[i])) + if (*gdbarch_register_name (gdbarch, fcr_regno[i]) != '\0') { offset = (16 * 16) + (16 * 8) + (4 * i); regcache ->raw_collect (fcr_regno[i], fregs + offset); diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index ba53c1b10ca..51336148b6d 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -660,21 +660,12 @@ static const char * const csky_register_names[] = static const char * csky_register_name (struct gdbarch *gdbarch, int reg_nr) { - int num_regs = gdbarch_num_regs (gdbarch); - int num_pseudo_regs = gdbarch_num_pseudo_regs (gdbarch); - - if ((reg_nr >= num_regs) && (reg_nr < (num_regs + num_pseudo_regs))) + if (reg_nr >= gdbarch_num_regs (gdbarch)) return csky_pseudo_register_name (gdbarch, reg_nr); if (tdesc_has_registers (gdbarch_target_desc (gdbarch))) return tdesc_register_name (gdbarch, reg_nr); - if (reg_nr < 0) - return NULL; - - if (reg_nr >= gdbarch_num_regs (gdbarch)) - return NULL; - return csky_register_names[reg_nr]; } @@ -2712,15 +2703,15 @@ csky_pseudo_register_name (struct gdbarch *gdbarch, int regno) if (regno < tdep->fv_pseudo_registers_count) { if ((regno < 64) && ((regno % 4) >= 2) && !tdep->has_vr0) - return NULL; + return ""; else if ((regno >= 64) && ((regno % 4) >= 2)) - return NULL; + return ""; else return fv_pseudo_names[regno]; } } - return NULL; + return ""; } /* Read for csky pseudo regs. */ -- 2.25.4