From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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) From: Andrew Burgess 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-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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-List-Received-Date: Thu, 01 Sep 2022 21:31:44 -0000 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