From patchwork Thu May 4 15:14:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 20277 Received: (qmail 108004 invoked by alias); 4 May 2017 15:14:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 107987 invoked by uid 89); 4 May 2017 15:14:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2528, usp, msp X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0053.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 04 May 2017 15:14:38 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com (10.160.211.19) by AM3PR08MB0103.eurprd08.prod.outlook.com (10.160.211.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12; Thu, 4 May 2017 15:14:37 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::b823:64c1:afc5:3a08]) by AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::b823:64c1:afc5:3a08%17]) with mapi id 15.01.1061.021; Thu, 4 May 2017 15:14:37 +0000 From: Alan Hayward To: "gdb-patches@sourceware.org" CC: nd Subject: Re: [PATCH 9/11] Add MN10300_MAX_REGISTER_SIZE (1) Date: Thu, 4 May 2017 15:14:37 +0000 Message-ID: <46AF143B-DD13-4156-A63A-4F3BCDD22497@arm.com> References: <466CF7AB-4D05-4A4B-9FB9-80513E7ABF1C@arm.com> In-Reply-To: <466CF7AB-4D05-4A4B-9FB9-80513E7ABF1C@arm.com> authentication-results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=arm.com; x-microsoft-exchange-diagnostics: 1; AM3PR08MB0103; 7:9Sy9uXbMaa974VjbdrDRUDgGImjYKCAhZ1OW2qHQQH+W15euJiTKD8Z532YTMvD9ngMP6RkFkiqTquyaPmicLVRdJjKsPR/yjostbQuRhs168aW7GPX6B04tW3CT+Hu8+nQrIL3mpjQMwnXhTVFWJIdzqT8N824Qfrhja6W2jqaHVJLIeiANcXXYBVr1Ew2KE9/9IQ7oTUILL4JXfMOb50/bUc88V+KJh7Qa8xcAOx+2qKebQTqk6SNBCWudhUtA0I/GfE38uMz7xmM0WV566zc0DfTZA+IezpZeOkhVNS7SFnLjLUHmpdYcdY/TvG9vGz1QIh0P8u69QwST6tdv1w== x-ms-office365-filtering-correlation-id: 63e50740-bcda-4e35-be66-08d4930047a6 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081); SRVR:AM3PR08MB0103; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123558100)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:AM3PR08MB0103; BCL:0; PCL:0; RULEID:; SRVR:AM3PR08MB0103; x-forefront-prvs: 02973C87BC x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39450400003)(39840400002)(39860400002)(39400400002)(39410400002)(39850400002)(377424004)(24454002)(229853002)(6506006)(2351001)(575784001)(33656002)(2501003)(6436002)(86362001)(54356999)(66066001)(6486002)(50986999)(76176999)(2906002)(8936002)(3660700001)(81166006)(8676002)(3280700002)(102836003)(53936002)(3846002)(25786009)(478600001)(189998001)(7736002)(53546009)(36756003)(2900100001)(4326008)(305945005)(6116002)(2950100002)(6916009)(6512007)(5660300001)(38730400002)(5640700003)(99286003)(110136004)(15760500002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR08MB0103; H:AM3PR08MB0101.eurprd08.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-ID: MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2017 15:14:37.4343 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0103 > On 4 Apr 2017, at 11:15, Alan Hayward wrote: > > Max size set to 32bits, which I determined using mn10300_register_type() > > Tested on a --enable-targets=all build using make check with board files > unix and native-gdbserver. > > I do not have a MN10300 machine to test on. > > Ok to commit? > > Alan. > Split this into two patches. This part uses the new raw_supply_zeroed. Tested on a --enable-targets=all build using make check with board files unix and native-gdbserver. I do not have a MN10300 machine to test on. Ok to commit? Alan. 2017-05-04 Alan Hayward * mn10300-linux-tdep.c (am33_supply_gregset_method): Use regcache->raw_supply_zeroed. diff --git a/gdb/mn10300-linux-tdep.c b/gdb/mn10300-linux-tdep.c index 8c23f02b2b58b29b10a65df5ae0b4bcdce2925cd..44707e8e241d0fddfb4f1e24821941bf6679b9a3 100644 --- a/gdb/mn10300-linux-tdep.c +++ b/gdb/mn10300-linux-tdep.c @@ -86,7 +86,6 @@ am33_supply_gregset_method (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len) { - char zerobuf[MAX_REGISTER_SIZE]; const mn10300_elf_greg_t *regp = (const mn10300_elf_greg_t *) gregs; int i; @@ -188,17 +187,13 @@ am33_supply_gregset_method (const struct regset *regset, /* ssp, msp, and usp are inaccessible. */ case E_E8_REGNUM: - memset (zerobuf, 0, MAX_REGISTER_SIZE); - regcache_raw_supply (regcache, E_E8_REGNUM, zerobuf); + regcache->raw_supply_zeroed (E_E8_REGNUM); break; case E_E9_REGNUM: - memset (zerobuf, 0, MAX_REGISTER_SIZE); - regcache_raw_supply (regcache, E_E9_REGNUM, zerobuf); + regcache->raw_supply_zeroed (E_E9_REGNUM); break; case E_E10_REGNUM: - memset (zerobuf, 0, MAX_REGISTER_SIZE); - regcache_raw_supply (regcache, E_E10_REGNUM, zerobuf); - + regcache->raw_supply_zeroed (E_E10_REGNUM); break; case E_MCRH_REGNUM: regcache_raw_supply (regcache, E_MCRH_REGNUM, @@ -218,12 +213,10 @@ am33_supply_gregset_method (const struct regset *regset, break; case E_FPCR_REGNUM + 1: /* The two unused registers beyond fpcr are inaccessible. */ - memset (zerobuf, 0, MAX_REGISTER_SIZE); - regcache_raw_supply (regcache, E_FPCR_REGNUM + 1, zerobuf); + regcache->raw_supply_zeroed (E_FPCR_REGNUM + 1); break; case E_FPCR_REGNUM + 2: - memset (zerobuf, 0, MAX_REGISTER_SIZE); - regcache_raw_supply (regcache, E_FPCR_REGNUM + 2, zerobuf); + regcache->raw_supply_zeroed (E_FPCR_REGNUM + 2); break; default: /* An error, obviously, but should we error out? */ break;