From patchwork Wed Jan 24 09:26:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 25486 Received: (qmail 14313 invoked by alias); 24 Jan 2018 09:26:59 -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 12334 invoked by uid 89); 24 Jan 2018 09:26:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 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= X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0044.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 24 Jan 2018 09:26:57 +0000 Received: from DB3PR08MB0106.eurprd08.prod.outlook.com (10.161.56.20) by DB3PR08MB0108.eurprd08.prod.outlook.com (10.161.56.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Wed, 24 Jan 2018 09:26:51 +0000 Received: from DB3PR08MB0106.eurprd08.prod.outlook.com ([fe80::958e:90c2:6108:af75]) by DB3PR08MB0106.eurprd08.prod.outlook.com ([fe80::958e:90c2:6108:af75%14]) with mapi id 15.20.0428.019; Wed, 24 Jan 2018 09:26:51 +0000 From: Alan Hayward To: "gdb-patches@sourceware.org" CC: nd Subject: [PATCH v2 1/8] Move tdesc header funcs to c file Date: Wed, 24 Jan 2018 09:26:51 +0000 Message-ID: References: <7C97CC6A-92CB-4702-820D-206022F07102@arm.com> In-Reply-To: <7C97CC6A-92CB-4702-820D-206022F07102@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR08MB0108; 7:HUyp302kktsvTxomKGGyAOw3xRUJvpmXsleJCjg0vPZtNWN4VLPyYm8db0ZOdQb0NowUQ0nnV4Lqw7UtC80ER7qvnJhNxHY0qM5jcX+6aVwWK/kHIlup5N7/R8AOV09pzaEZWaNQ3zBaZqDzF47Mc4iEgKzMXHCP5WUwqQhKil4RNFXOcdgdgM1VTt2oE4Z8o4sU6r4xwzCQ7vc7vF9mme6j1t8yaL4WFT7cZ1TfR2QXfBUSjZtCpOPbzxG5I+Oj x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 607fc39e-6b68-4d30-2571-08d5630c99f2 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:DB3PR08MB0108; x-ms-traffictypediagnostic: DB3PR08MB0108: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3231023)(2400081)(944501161)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041288)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(6072148)(201708071742011); SRVR:DB3PR08MB0108; BCL:0; PCL:0; RULEID:; SRVR:DB3PR08MB0108; x-forefront-prvs: 056297E276 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(376002)(346002)(396003)(39380400002)(377424004)(189003)(199004)(2351001)(3280700002)(4326008)(25786009)(82746002)(3660700001)(83716003)(6506007)(106356001)(97736004)(76176011)(6916009)(305945005)(99286004)(105586002)(6436002)(86362001)(575784001)(478600001)(5640700003)(72206003)(2950100002)(2900100001)(5250100002)(81166006)(2501003)(8936002)(8676002)(2906002)(7736002)(5660300001)(81156014)(26005)(36756003)(4743002)(68736007)(6486002)(14454004)(33656002)(316002)(66066001)(6116002)(102836004)(3846002)(53936002)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR08MB0108; H:DB3PR08MB0106.eurprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: v7dirCMmTJQV1XLtA+UOgtYgAg/Je14nCXBpg+VYFZI2T6fKTvsRV3S2x6s3BFXFvWbtXcsFFnIX+X6G86kElA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-ID: <9A3A943158A9D747B80E240BD75DD923@eurprd08.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 607fc39e-6b68-4d30-2571-08d5630c99f2 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2018 09:26:51.5552 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB0108 X-IsSubscribed: yes Move the destructor and equals operator for gdbserver tdesc from the .h to the .c file. Both functions are too long to be inlined and makes the header look messy. Patch does not change any functionality. Alan. 2018-01-24 Alan Hayward gdbserver/ * tdesc.c (target_desc::~target_desc): Move to here. (target_desc::operator==): Likewise. * tdesc.h (target_desc::~target_desc): Move from here. (target_desc::operator==): Likewise. diff --git a/gdb/gdbserver/tdesc.h b/gdb/gdbserver/tdesc.h index 783500598b5599e51f8e768a876fdfe499cdf0ef..705b968b98af9405682507acbcfb41356da62857 100644 --- a/gdb/gdbserver/tdesc.h +++ b/gdb/gdbserver/tdesc.h @@ -67,49 +67,9 @@ public: : registers_size (0) {} - ~target_desc () - { - int i; - - for (reg *reg : reg_defs) - xfree (reg); - - xfree ((char *) arch); - xfree ((char *) osabi); - - char *f; + ~target_desc (); - for (i = 0; VEC_iterate (char_ptr, features, i, f); i++) - xfree (f); - VEC_free (char_ptr, features); - } - - bool operator== (const target_desc &other) const - { - if (reg_defs.size () != other.reg_defs.size ()) - return false; - - for (int i = 0; i < reg_defs.size (); ++i) - { - struct reg *reg = reg_defs[i]; - struct reg *reg2 = other.reg_defs[i]; - - if (reg != reg2 && *reg != *reg2) - return false; - } - - /* Compare expedite_regs. */ - int i = 0; - for (; expedite_regs[i] != NULL; i++) - { - if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) - return false; - } - if (other.expedite_regs[i] != NULL) - return false; - - return true; - } + bool operator== (const target_desc &other) const; bool operator!= (const target_desc &other) const { diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c index c39b5e7d27e879c5d3fb49b6e04d1eb6128f8eef..359ab97361c07ff2cbc2c8d5ff392c6233c329ff 100644 --- a/gdb/gdbserver/tdesc.c +++ b/gdb/gdbserver/tdesc.c @@ -19,6 +19,54 @@ #include "tdesc.h" #include "regdef.h" +#ifndef IN_PROCESS_AGENT + +target_desc::~target_desc () +{ + int i; + + for (reg *reg : reg_defs) + xfree (reg); + + xfree ((char *) arch); + xfree ((char *) osabi); + + char *f; + + for (i = 0; VEC_iterate (char_ptr, features, i, f); i++) + xfree (f); + VEC_free (char_ptr, features); +} + +bool target_desc::operator== (const target_desc &other) const +{ + if (reg_defs.size () != other.reg_defs.size ()) + return false; + + for (int i = 0; i < reg_defs.size (); ++i) + { + struct reg *reg = reg_defs[i]; + struct reg *reg2 = other.reg_defs[i]; + + if (reg != reg2 && *reg != *reg2) + return false; + } + + /* Compare expedite_regs. */ + int i = 0; + for (; expedite_regs[i] != NULL; i++) + { + if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) + return false; + } + if (other.expedite_regs[i] != NULL) + return false; + + return true; +} + +#endif + void init_target_desc (struct target_desc *tdesc) {